AI collaborative programming support system and method
The ARM-based system addresses AI programming challenges by structuring code for clear communication and collaboration, improving efficiency and reducing errors through visual representation and incremental development.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- ファンスジン
- Filing Date
- 2025-07-14
- Publication Date
- 2026-06-12
Smart Images

Figure 0007873766000001_ABST
Abstract
Description
【Technical Field】 【0001】 The present invention relates to an automatic programming execution technology, and more particularly, to a system and method that enable pair-programming of programming work with AI (Artificial Intelligence) that performs programming. 【0002】 The present invention also relates to a system and method that enable a human and AI to clearly communicate information for programming by using an ARM (Artifacts Relation Model), which is a model for structuring code. 【Background Art】 【0003】 AI (Artificial Intelligence) programming is such that when information regarding a program generated by a user is provided, an AI programming machine generates a program according to the user's requirements based on the information and programming methods it has already learned. 【0004】 At this time, even if the program generated by AI fully accepts the user's requirements, it is often an insufficient program. This is because it is very difficult for the user to clearly explain the requirements that the program should have by distinguishing necessary requirements from unnecessary content. Also, since AI can create programs in different forms for the same requirements depending on the learned content and programming techniques. 【0005】 Therefore, for collaboration with AI, a procedure and method are required to gradually obtain a perfect program through clear communication transmission between the user and AI. At this time, an effective communication method is essential. 【0006】 If AI generates a program using only code without any additional explanation, it would be extremely difficult for a user to fully understand that program, just as difficult as reading code written by someone else. 【0007】 Furthermore, since AI does not perform programming based solely on the information provided by the user, it can include information that is unnecessary or unfamiliar to the user in the program. Moreover, it can even include content that could potentially lead to errors or problems, and the user may not even be aware of whether or not such content is included. 【0008】 Therefore, users who aim to perfectly execute AI programming must dedicate considerable time and effort to analyzing the programs generated by the AI. Furthermore, even after clearly analyzing the program, explaining to the AI which parts the user intends to modify is directly linked to the efficiency of the work. 【0009】 In particular, when multiple people collaborate to develop large-scale software, in order to utilize AI, it is necessary to be able to categorize the programs created by the AI according to the tasks assigned to each person, and to clearly distinguish the relationships between the tasks assigned to multiple people. 【0010】 However, until now, the means of expression and / or communication for this type of work have not been effective. 【0011】 In the process of developing software (SW), there are two main ways of representing programs and communicating with them. One is the model-centric approach, and the other is the code-centric approach. 【0012】 In the steps of determining the software (SW) structure and designing its functions, a model-centric representation facilitates communication regarding the SW structure in relation to its macroscopic shape, while in the steps of realizing the structured SW, communication is typically carried out using a code-centric representation, limited to a divided and restricted scope. 【0013】 While both methods of representation have their advantages and disadvantages, models are advantageous and convenient for communicating macroscopic functional aspects, but they have the problem of not being able to clearly identify the code that will implement them. On the other hand, communicating with code, even if the amount of code is slightly larger, is composed of detailed and clear content, which presents the difficulty of potentially becoming verbose in explanations during communication. [Prior art documents] [Patent Documents] 【0014】 [Patent Document 1] Korean Published Patent Publication No. 10-2024-0130648 [Overview of the project] [Problems that the invention aims to solve] 【0015】 This invention was proposed to resolve the problems arising from the above-mentioned background technology, and its purpose is to provide a system and method that can effectively overcome the difficulties of communicating with AI (Artificial Intelligence). 【0016】 Furthermore, the present invention also aims to provide a system and method for clear communication required for AI collaborative programming by utilizing ARM (Artifacts Relation Model), which structures code and represents it as a model. [Means for solving the problem] 【0017】 To achieve the problems presented above, the present invention provides a system that can effectively overcome the difficulties of communicating with AI (Artificial Intelligence). 【0018】 The aforementioned system, An input section that receives design information for the program to be generated, A coding unit that generates programming code on an AI (Artificial Intelligence) programming platform based on the aforementioned design information, and The present invention is characterized by including a representation unit that performs a visualization representation of the aforementioned programming code using ARM (Artifacts Relation Model) in a structured model. 【0019】 Furthermore, the programming code is converted into a tree structure, and the positions of the programming code and the tree structure are represented by a combination of numbers. 【0020】 Furthermore, the ARM is characterized by being defined as ARM={x|x=(position, name, logic, logical condition, input data, output data, etc.)}. 【0021】 Furthermore, the position is the position of a block configured in the hierarchy of the program, the name is a unique name assigned to the block, the block includes logic and logical conditions, the input data is data input to the block, the output data is data output from the block, and the others are characterized by indicating an explanation for the name, an explanation appropriate to the semantic level of the block, details or additional information of the lower functions, and information defining that the block can be constructed with lower-level code if it is not materialized in ARM format. 【0022】 Furthermore, the aforementioned position is characterized by being represented by a combination of numbers. 【0023】 Further, the ARM is characterized in that it is a structured model that structures and represents the programming code in the form of blocks. 【0024】 Further, the structured model is characterized in that it is represented in a table or diagram form. 【0025】 Further, in the case of the diagram form, it is characterized in that blocks, data, logic, etc. can be abstracted by characteristics specified by the user and represented only by partial content. 【0026】 Further, the content related to the code and the content not related to the code are distinguished in the ARM format and reflected in the programming code. 【0027】 Further, the generated AI (Artificial Intelligence) programming is characterized in that it uses an ARM-based relational database. 【0028】 On the other hand, another embodiment of the present invention provides an AI collaborative programming support method, which includes: (a) a step of inputting design information for a program generated through an input unit; (b) a step in which a coding unit generates programming code for the design information on an AI (Artificial Intelligence) programming platform; and (c) a step in which a presentation unit performs a visibility presentation in a structured model for the programming code 210 using an ARM (Artifacts Relation Model). 【Advantages of the Invention】 【0029】 According to the present invention, it is possible to develop programs incrementally through interaction between AI (Artificial Intelligence) and humans. For example, a user can explain a macroscopic program structure to the AI, and once the corresponding ARM (Artifacts Relation Model) is completed, the user can point to the components of the ARM and incrementally define the functions that those components must perform. 【0030】 Furthermore, representing the structure of AI-generated programs in ARM format improves visibility because the code is represented in table and diagram formats. Users can efficiently understand the structure of the AI-generated code and check its details, easily distinguish between content that needs to be removed and content that needs to be added, and progressively communicate with the AI to make corrections based on this information. 【0031】 Another effect of the present invention is that it enables AI-based programming through collaboration with multiple people. ARM defines input and output data for each block and represents the logical relationships between each block, so it is possible to assign tasks to different people for each block, and the points of contact between these tasks can be clearly defined. 【0032】 Therefore, assuming that one software (SW) consists of three main functions, as seen in the example, it is possible to assign tasks to others for each function, perform AI-powered programming on these tasks individually, and then integrate them afterward. 【0033】 Another effect of the present invention is that it enables parallel programming using multiple AIs. Parallel AI programming is sometimes required to overcome the time constraints of large-scale programming. Alternatively, programming using multiple AIs from other fields may be required. 【0034】 In addition to the collaboration between multiple individuals mentioned above, AI programming that utilizes ARM for communication also enables collaboration between multiple AIs from various fields. This is because ARM can clearly define the data and logical relationships between each task. [Brief explanation of the drawing] 【0035】 [Figure 1] This is a block diagram of a programming AI (Artificial Intelligence) system related to one embodiment of the present invention. [Figure 2] This is an example of representing a program block related to one embodiment of the present invention in a tree structure. [Figure 3] This is an example of a detailed table illustrating the correspondence between an embodiment of the present invention and ARM (Artifacts Relation Model) in C code. [Figure 4] Figure 3 shows an example of programming code corresponding to ARM. [Figure 5] This is an example of a diagram illustrating an ARM related to one embodiment of the present invention. [Modes for carrying out the invention] 【0036】 While the present invention can be modified in various ways and has various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this should be understood not as limiting the present invention to specific embodiments, but rather as including all modifications, equivalents, or substitutes that fall within the spirit and technical scope of the present invention. 【0037】 Each drawing is described, and similar reference numerals are used for similar components. Terms such as "First," "Second," etc., may be used to describe various components, but the components should not be limited by these terms. These terms are used solely for the purpose of distinguishing one component from another. 【0038】 For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may be referred to as the first component. The term "and / or" includes a combination of multiple related descriptions or any one of multiple related descriptions. 【0039】 Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as those generally understood by a person of ordinary skill in the art to which this invention pertains. 【0040】 Terms defined in commonly used dictionaries must be interpreted to have meanings consistent with their meanings in the context of the relevant technology, and should not be interpreted in an ideal or overly formal sense unless explicitly defined in this application. 【0041】 Hereinafter, an AI collaborative programming support system and method related to one embodiment of the present invention will be described in detail with reference to the attached drawings. 【0042】 Figure 1 is a block diagram of the configuration of a programming AI (Artificial Intelligence) system 100 related to one embodiment of the present invention. Referring to Figure 1, the programming AI system 100 can be configured to include an input unit 110 that receives design information for the program to be generated, a coding unit 120 that generates programming code on a generation AI programming platform based on the design information, a representation unit 130 that represents the programming code in a structured model using ARM (Artifacts Relation Model), and a storage unit 140 that stores information and code related to ARM (Artifacts Relation Model). 【0043】 The input unit 110 performs the function of receiving user commands. Of course, it can also convert the input information into digital information. The input information may be in the form of text, but is not limited to that; it may also be in the form of voice or actions. For this purpose, the input unit 110 can be configured to include a keyboard, microphone, touchscreen, camera, DSP (Digital Signal Processor), communication circuit, etc. 【0044】 Of course, the input unit 110 may also transmit input information entered by the user via a communication terminal (not shown) and a communication network (not shown). 【0045】 In this case, the communication terminal (not shown) could be a smartphone, laptop computer, slate PC, tablet PC, ultrabook, notepad, etc. 【0046】 Furthermore, a communication network (not shown in the diagram) refers to a connected structure that enables information exchange between each node, such as multiple terminals and servers, and can be a public switched telephone network (PSTN), public switched data network (PSDN), integrated services digital networks (ISDN), broadband integrated services digital networks (BISDN), local area networks (LAN), metropolitan area networks (MAN), wide area networks (WLAN), etc. 【0047】 However, the present invention is not limited to these, and may include wireless communication networks such as CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), Wibro (Wireless Broadband), WiFi (Wireless Fidelity), DLNA (Digital Living Network Alliance), Zigbee, Z-wave, HSDPA (High Speed Downlink Packet Access) networks, Trunked Radio Systems (TRS), D-TRS (Digital Trunked Radio System), Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), Ultra-wide Band, Wireless USB (Wireless Universal Serial Bus), NFC (Near Field Communication) networks, satellite broadcasting networks, analog broadcasting networks, and DMB (Digital Multimedia Broadcasting) networks. Alternatively, it may be a combination of these wired and wireless communication networks. 【0048】 Therefore, the input unit 110 generates design information for the program generated by the user or communication terminal as input information. The design information may include the program's purpose, algorithm, and target of use. 【0049】 The coding unit 120 performs the function of generating programming code on the AI programming platform using the design information acquired through the input unit 110. In addition, the generated AI program generates programming code in a programming language (e.g., C, C++, Python, etc.) using the design information requested by the user. 【0050】 Programming code is primarily used in the process of creating executable programs and can be a text file written in a programming language that can be read by humans. 【0051】 The display unit 130 performs visibility representation using a structured model with programming code based on ARM (Artifacts Relation Model). Of course, the display unit 130 can provide the user with screens for inputting information, guidance screens for inputting information, and execution screens for execution. The display unit 130 performs visibility representation using LCD (Liquid Crystal Display), LED (Light Emitting Diode) displays, OLED (Organic LED) displays, touchscreens, flexible displays, etc. In the case of touchscreens, they can also be used as input means. 【0052】 This allows the user to check the currently generated program using the display unit 130, and then modify and re-input the design information using the input unit 110. This process is repeated to generate the final software program. 【0053】 The storage unit 140 performs the function of storing ARM-related information, code information, etc. Therefore, the storage unit 140 can include flash memory type, hard disk type, multimedia card micro type, card type memory (e.g., SD (Secure Digital) or XD (eXtreme Digital) memory), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), PROM (Programmable Read Only Memory), magnetic memory, magnetic disk, optical disk, etc. It can also operate in conjunction with web storage and cloud servers that perform storage functions over the internet. 【0054】 This document describes how ARM can be used to create an AI capable of performing programming. A simple explanation of ARM is as follows: 【0055】 A key feature of ARM is its code-structuring model, which represents hierarchical blocks of a program in a tree structure. To define a block in detail, it is as follows: Code is composed of combinations of blocks. The smallest unit of a block is a single code line, and a program is a collection of logical combinations of these code lines. 【0056】 For example, assuming we have a program, the program consists of data declarations and instructions. All instructions except for the data declaration form the smallest unit, a block. Furthermore, some programming languages do not require data declarations, so programs coded in those languages consist only of blocks. 【0057】 A single code line, x = x + 1, has an input of x and an output of x. The instruction adds 1 to x and assigns that value to x. Such instructions can be composed of multiple lines sequentially, and these instructions are equivalent to blocks composed in a sequential relationship. To selectively configure the execution of a group of instructions or a block based on conditions, the execution logic of the block can be selectively configured, and similarly, the execution conditions of the instructions can be repeatedly configured. 【0058】 Thus, a set of instructions that are a combination of sequential / selection / repetition can also become a higher-level block. The ARM architecture is based on the fact that program declarations are represented by input / output data to blocks, and combinations of blocks are represented in a tree structure using logical relationships. 【0059】 Next, ARM is defined as follows: 【0060】 ARM={x|x=(position, name, logic, logical condition, input data, output data, other)} As defined above, ARM is a set. That is, ARM is a set of locations for blocks in a program hierarchy. Each block can be assigned a unique name, and it has logic and logical conditions that it can perform. It also has input data that is fed into it and output data that is output to it. In addition, it can contain various other information related to the block. In particular, a block may contain code that corresponds to it. 【0061】 Figure 2 is an example of a tree structure representing a program block related to one embodiment of the present invention. Referring to Figure 2, once programming code 210 is generated by the coding unit 120, this programming code 210 is converted into a tree structure 220. The positions of the programming code 210 and the tree structure 220 can be represented by a combination of numbers. 【0062】 Referring to tree structure 220, the top-level component is (1), the lowest-level components are (1,1,1), (1,1,2), and (1,2,1), and the next-highest-level components of the lowest-level components are (1,1) and (1,2). Both (1) and (1,1) are higher-level components of (1,1,1) and (1,1,2). (1,1,1) precedes (1,1,2) sequentially, and the next-highest-level component (1,1) is identical. The sequential positional relationship is that they are under the same next-highest-level component. Therefore, (1,1,2) and (1,2,1) do not have a sequential positional relationship. 【0063】 In addition, each component is a lower-level component at the lowest level, a next-higher component adjacent to the said component, a higher-level component that includes the next-higher component, a next-lower component adjacent to any component, a lower-level component that includes the next-lower component, the highest-level component of each of the said components, and the lowest-level component of each of the said components, thus distinguishing the hierarchical relationships between the components. 【0064】 In other words, when program blocks are represented in a tree structure, it becomes ARM. For example, the correspondence between C code and ARM is as shown in the following table. In the following, the code included in ARM will be explained using C code as an example. 【0065】 [Table 1] 【0066】 A more concrete example of this is shown in Figure 3. 【0067】 Figure 3 is an example of a detailed table illustrating the correspondence of an ARM (Artifacts Relation Model) to C code related to one embodiment of the present invention. Referring to Figure 3, the table consists of location, name, logic, condition, input data, output data, and others. Each location is assigned a unique name. For example, as follows: 【0068】 (1): Seaight SW (1,1): T-Mode (1,2): S-Mode (1,3): R-Mode Modes such as T-Mode, S-Mode, and R-Mode are examples to demonstrate that ARM can represent code structurally. Each mode can consist of multiple functions (blocks), and currently, detailed blocks are omitted. Each mode consists of similar but mode-specific code. 【0069】 To elaborate, the Seamark program consists of Tactic / Simulation / Record modes. Tactic is the general usage mode, Simulation is the user training mode using virtual data, and Record is the mode for reviewing the content recorded in the general mode. 【0070】 (1,4): Data Transmission Logic involves repetition (loop) and selection (selection). 【0071】 The conditions are: 1, TSRMode==1, TSRMode==2, TSRMode==1, ActiveMode==1 The condition is the condition under which the block at the corresponding level is executed in ARM. It is a condition used when constructing logical combinations between blocks using IF or WHILE statements. In Figure 3, the condition for the T-Mode block is TSRMode==1, which means that the block is executed when the value of TSRMode is 1. However, the == symbol is used because == is the expression for logical judgment in C code. 【0072】 In Figure 3, the input data consists of a combination of TSRMode, Seamark Data, and ActiveMode, which represents the data necessary for the execution of the corresponding block. When data output from one block must be used in the corresponding block, the output relationship is expressed in the block that produced the output, moving upwards in the hierarchy of higher-level blocks, and then further downwards in the hierarchy of lower-level blocks, so that the output data can be represented by the input data that will be used. 【0073】 The output data is the calculated data that is output according to the logical result in Figure 3. For the output data of a given block to be used by other blocks, it must be represented by the output data of a higher-level block, as explained earlier, and then represented by the input data of the higher-level block that contains that block. This is the same concept as the data flow between blocks in code. 【0074】 Other information can include details and additional information such as descriptions for names (Seamark SW, T-Mode, S-Mode, R-Mode, Data Transmission), descriptions appropriate to the semantic level of the block (or the block it represents), and the configuration of lower-level functions. Furthermore, if a block cannot be further concretized in ARM format, it can be assigned as a block with a block of code or a fragment. This means that the code will no longer be represented in ARM format, and the code will remain as is. 【0075】 Figure 4 shows an example of programming code corresponding to ARM as illustrated in Figure 3. Referring to Figure 4, the programming code can be easily inferred through the C code correspondence table shown in Figure 3. 【0076】 Referring to Figure 4, when we examine the original code, ARM is a collection of hierarchical blocks, and each component contains key block information. Higher-level blocks represent the relationships between them and lower-level blocks, and the lowest-level block has a single code assigned to it. 【0077】 This is the same definition of a block as explained earlier. In other words, a block composed of combinations of other blocks represents the structure of the block and represents information about which other blocks are assigned to that block. 【0078】 In the case of higher-level blocks, they may include logical relationships between higher-level blocks, conditions, and input / output data, while the lowest-level block, a single code, consists only of input / output data and code. 【0079】 Blocks can be assigned names that correspond to their meaning at different levels of abstraction. For example, there might be a Seamark program, which is the overall program, and a T-Mode, which is the mode of this program. Under T-Mode, there might be blocks for receiving Seamark data, calculating the distance between Seamark data, and displaying Seamark data on a screen. 【0080】 Of course, there may be even more specific named blocks (functions) below that block. Data input and output means that the data required by the lower-level block is transmitted to the lower-level block via the higher-level block, so the data that is input in the lower-level block is also composed of input data in the higher-level block. 【0081】 If the block to which output data is ultimately to be transmitted belongs to another block in the higher-level blocks, then in order to move to that block, it must move to the higher-level block and become input data to that other block. ARM represents this data movement using input / output data between each block. 【0082】 Beyond the basic information that constitutes ARM—location, name, logic, logical conditions, and code—descriptions or indices serve as descriptions or supplementary information for the function assigned to the block. Blocks are defined to perform a specific role within the overall program, and their descriptions and indices are also representative factors of that meaning. 【0083】 Furthermore, it can be seen that the code that may be included in a block can be stored elsewhere. In other words, ARM is a structured model that represents code in the form of blocks. 【0084】 This structured model can also be represented as a diagram. Figure 5 shows this diagram. Figure 5 is an example of an ARM related to one embodiment of the present invention represented as a diagram. Referring to Figure 5, it consists of a program 500 named SeamarkSW, T-Mode 511, S-Mode 512, R-Mode 513, Data Transmission 520, etc. 【0085】 The table in Figure 3 contains the most basic information and can include all the overall information. All information is represented and stored in ARM format, which is a table, and the program in Figure 4 can output the entire program or a portion of the program specified by the user to the screen if the user wishes to check it. 【0086】 Of course, Figure 3 can also be displayed when the user wants to see all the data. Like an Excel spreadsheet, it can be sorted by various criteria to see only the necessary information. 【0087】 The diagram in Figure 5 shows the current program information in a simplified form, with all the information represented in the diagram. However, in reality, there may be limitations on what can be represented on a single screen in a diagram. This is because readability decreases if there are too many items. Therefore, when constructing a diagram, the user can select and configure the information they want to represent, similar to sorting in a table. 【0088】 For example, a diagram can be constructed using only the blocks related to the relevant data, allowing you to see only the flow of a single data point. Alternatively, a diagram can be constructed using only the blocks from the top two steps down, excluding all data, to allow you to see the macroscopic structure of the function. 【0089】 ARM can represent programming code, as illustrated in Figure 4, in table or diagram format, enabling clear communication of macroscopic functions, similar to using a model. Furthermore, because it includes the corresponding code for each component of the model, it is also effective for concrete communication, similar to using code. 【0090】 A diagram contains the meaning of the code constructed using examples and is equivalent to a table in its representation. In other words, ARM can structure code, add a lot of information to blocks and construct them in tables, and also abstract such information and construct it in a diagram. Therefore, it has usefulness as a database for comprehensively storing data and as a visual model. 【0091】 For an AI to use ARM, the following functions must be configured in a typical programming AI. 【0092】 (1) The AI can express the programs it creates in ARM format. In addition, users can communicate with the AI in various ways, and the AI can express the results in ARM format. That is, since ARM is equivalent to a tree structure of sequential, selection, and repeat blocks in code, any form of program can be expressed in the corresponding ARM format. 【0093】 Of course, at this point, the AI can distinguish between the ARM that constitutes the program and the information that does not, and construct the AI based on the results. In other words, it can separate and store information that constitutes the code from explanatory information that is not code. As can be seen from the example table illustrated in Figure 3, since ARM can represent various types of information required for software development in a relational manner, the AI can construct a relational database based on the ARM for the relevant software development. 【0094】 As explained earlier, the code is structured in blocks of multiple hierarchical levels, and ARM relates these structures by position, logic, and logical conditions to form a table (ARM). As can be seen from Figure 3, the relationship between Seamark and T-Mode, for example, can be inferred from their names, but the relationship between the upper / lower upper blocks, which is their affiliation, can be clearly confirmed by their position, and the conditions for entering T-Mode when Seamark is executed can also be clearly confirmed in the ARM conditional expression, just like in the code. 【0095】 Therefore, Seamark and T-Mode do not have a linguistic relationship, but rather a modifying or code-logic relationship, a clear and distinct relationship. The same applies to supplementary explanations. Explanations added to a block are explained according to the abstraction level of that block, and these explanations are related to the explanations of the subblocks. Thus, the information expressed in ARM is clearly related by location, logic, and logical conditions, just like in a program. 【0096】 (2) AI can represent various forms requested by the user in ARM format. In addition, even if the AI is structured in ARM format, it can provide a way to condense and represent the information in the form desired by the user. 【0097】 ARM can represent various types of information in a relational way, like a database for a program, but it can be inefficient for users to always examine all of that information in detail. 【0098】 Therefore, it is possible to extract only the information desired by the user from the entire ARM and construct the information accordingly. For example, in the example diagram shown in Figure 5, it is possible to construct a diagram that displays only data input / output (i.e., input data, output data) between the same hierarchical levels, or to construct blocks for specific data flows. 【0099】 In ARM architecture, diagrams can be constructed using only certain features. For example, a diagram can be constructed using only the top two layers of blocks, excluding all data. In such cases, the diagram would be used to examine the macroscopic structure of the functionality. 【0100】 In Figure 3, if the diagram is constructed using the top-level block composed of input data, it is possible to construct a diagram that confirms the relationships between blocks whose functions are configured using the TSRMode data. 【0101】 Alternatively, extracting the code that makes up a specific block is also included in this functionality. Higher-level blocks represent the combination relationships of lower-level blocks, with only the lowest-level block containing a single code. For example, when dividing the modes in Figure 3 into work areas for collaboration among multiple people, the relationships for each mode, i.e., logical relationships and input / output data, are defined, so each user can use this information as a basis to construct the detailed content for each mode. 【0102】 The same applies to extracting code from a specific block. By selecting the relevant block, all the code contained within it can be extracted. This can be useful for reuse, as time-measuring code can be used in various tasks and projects, and since the block in which this functionality is implemented can be easily identified through ARM, the relevant code can be extracted. 【0103】 (3) The AI can distinguish between ARM and non-ARM information, including general language, from the design information for the program it receives from the user and reflect this in the programming result. In addition, it can distinguish between content related to the code and content unrelated to the code in ARM format and reflect this in the programming code. 【0104】 Generally, commercially available AIs are primarily based on Large Language Models (LLMs) because they have a low error rate. These AIs break down language during human communication and interpret its meaning using their own algorithms, but misunderstandings (incorrect execution) can occur during this process. Modifying ARM information simply means changing one thing to another, not having the AI interpret and execute it. Therefore, general communication and ARM modification must be distinguished. In other words, it's not about modifying the content of the ARM with the AI's algorithm, but rather about providing a communication method that allows for direct modification of the ARM. 【0105】 Furthermore, if a user uses ARM to communicate clearly, they can directly modify the program's content. 【0106】 For example, let's say we add the condition "a==1" to the S-Mode block in the example problem. In this case, a normal AI might find it redundant for the user to explicitly point out the relevant block, and it would have to explain the meaning and context of "a==1". 【0107】 However, using ARM, it becomes possible to collaborate with AI, allowing AI to program freely and users to explicitly modify parts of the program. Of course, this does not eliminate the usual means of communication regarding AI programming. It is possible to use conventional AI programming methods and ARM-based programming methods simultaneously. 【0108】 Furthermore, the steps of the methods or algorithms described in connection with the embodiments disclosed herein may be implemented in the form of program instructions that can be executed through various computer means such as microprocessors, processors, and CPUs (Central Processing Units), and recorded on a computer-readable medium. The computer-readable medium may include program (instruction) code, data files, data structures, etc., either alone or in combination. 【0109】 The program (instruction) code recorded on the aforementioned medium is specially designed and configured for the present invention, but may be publicly known and available to those skilled in the computer software art. Examples of computer-readable recording media may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROMs, DVDs, and Blu-rays; and semiconductor memory elements such as ROM (Read Only Memory), RAM (Random Access Memory), and flash memory that are specially configured to store and execute program (instruction) code. 【0110】 Here, examples of program (instruction) code include not only machine code, such as that produced by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above can be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa. [Explanation of Symbols] 【0111】 100: Programming AI (Artificial Intelligence) Systems 110: Input section 120: Coding Department 130: Expression part 140: Preservation Department
Claims
[Claim 1] An input unit 110 receives design information for the program to be generated, A coding unit 120 that generates programming code 210 on an AI (Artificial Intelligence) programming platform that generates the aforementioned design information, and The aforementioned programming code 210 is represented by an expression unit 130 that performs visualization representation in a structured model using ARM (Artifacts Relation Model), The Artificial Intelligence (AI) programming described above is characterized by utilizing an ARM-based relational database. AI collaborative programming support system. [Claim 2] The AI collaborative programming support system according to claim 1, characterized in that the programming code 210 is converted into a tree structure 220, and the positions of the programming code 210 and the tree structure 220 are represented by a combination of numbers. [Claim 3] The AI collaborative programming support system according to claim 1, characterized in that the ARM is defined as ARM = {x | x = (position, name, logic, logical condition, input data, output data, etc.)}. [Claim 4] The AI collaborative programming support system according to claim 3, characterized in that the position is the position of a block configured in the hierarchy of the program, the name is a unique name assigned to the block, the block includes logic and logical conditions, the input data is data input to the block, the output data is data output from the block, and the others indicate a description of the name, a description appropriate to the semantic level of the block, details or additional information of the lower functions, and information defining that the block can be constructed with lower-level code if it is not materialized in ARM format. [Claim 5] The AI collaborative programming support system according to claim 3, characterized in that the aforementioned position is represented by a combination of numbers. [Claim 6] The AI collaborative programming support system according to claim 1, characterized in that the ARM is a structured model that structures and represents the programming code 210 in block form. [Claim 7] The AI collaborative programming support system according to claim 6, characterized in that the structured model is represented in table or diagram format. [Claim 8] The AI collaborative programming support system according to claim 7, characterized in that, in the case of the diagram format, it is possible to abstract blocks, data, and logic with characteristics specified by the user and represent them with only partial content. [Claim 9] (a) A step in which design information for the program to be generated is input through the input unit 110, (b) The coding unit 120 generates the design information AI (Artificial In The steps include generating programming code 210 on the tellience programming platform, and (c) Expression unit 130 translates the programming code 210 into ARM (Artifacts The steps involve using a Relation Model to perform visualization representation in a structured model, The Artificial Intelligence (AI) programming described above is characterized by utilizing an ARM-based relational database. AI collaborative programming support methods.