KR101636455B1 - Apparatus and method for development of software using data oriented programming model - Google Patents
Apparatus and method for development of software using data oriented programming model Download PDFInfo
- Publication number
- KR101636455B1 KR101636455B1 KR1020150056198A KR20150056198A KR101636455B1 KR 101636455 B1 KR101636455 B1 KR 101636455B1 KR 1020150056198 A KR1020150056198 A KR 1020150056198A KR 20150056198 A KR20150056198 A KR 20150056198A KR 101636455 B1 KR101636455 B1 KR 101636455B1
- Authority
- KR
- South Korea
- Prior art keywords
- identifier
- data object
- data
- list
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G06F9/4428—
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치 및 방법에 관한 것으로, 사용자의 입력에 응답하여 데이터 객체를 생성하는 데이터 객체 생성부, 상기 데이터 객체의 이동, 조합 및 소멸 중 적어도 하나를 수행하는 데이터 객체 관리부, 상기 데이터 객체에 대한 수행 정보를 생성 및 관리하는 수행 코드 관리부, 사용자로부터 상기 데이터 객체의 생성, 이동, 조합, 소멸 및 수행 코드의 편집 중 적어도 하나와 관련된 정보를 입력받고 사용자에게 상기 데이터 코드 및 상기 데이터 코드, 수행 코드 및 수행 코드의 실행 결과 중 적어도 하나를 출력하는 입출력부 및 상기 데이터 코드 및 수행 코드를 저장하는 저장부 및 상기 수행 코드를 실행하는 실행부를 포함하며, 소프트웨어에 포함되는 데이터 인스턴스 각각에 대하여 데이터 객체를 독립적으로 생성, 소멸, 이동, 조합 및 편집이 가능한 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어를 개발함으로써, 실제 세계의 사물의 행동을 용이하게 모델링할 수 있고, 각 데이터 인스턴스를 개별적으로 조작할 수 있으므로 클래스의 상속 또는 변형상속이 불필요할 뿐더러 필요에 따라 객체의 개별적 변형과 일괄적 변형을 선택할 수 있으며, 각 데이터 인스턴스별로 필요에 따라 수행 코드를 변형할 수 있어 보다 병렬 처리가 용이하고 실제 세계와 직관적으로 유사한 소프트웨어 모델링이 가능하며 소프트웨어 개발을 용이하게 할 수 있다.The present invention relates to a software development apparatus and method using a data-based programming model, comprising: a data object generation unit for generating a data object in response to a user's input; data for performing at least one of movement, An object management unit, an execution code management unit for generating and managing execution information for the data object, and a control unit for receiving information related to at least one of creation, movement, combination, An input / output unit for outputting at least one of a code and an execution result of the data code, the execution code and the execution code, a storage unit for storing the data code and the execution code, and an execution unit for executing the execution code, For each instance of data, By developing software that uses a data-driven programming model that allows objects to be created, destroyed, moved, combined, and edited independently, the behavior of real-world objects can be easily modeled and each data instance can be manipulated individually Inheritance of class or inheritance of transformation is unnecessary, and it is possible to select individual transformation and batch transformation of object as needed. Modification of execution code as required for each data instance makes parallel processing easier, Can be used for similar software modeling and software development can be facilitated.
Description
본 발명은 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치 및 방법에 관한 것으로, 보다 상세하게는 소프트웨어에 포함되는 데이터 인스턴스 각각에 대하여 독립적으로 생성, 소멸, 이동, 조합 및 편집이 가능한 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치 및 방법에 관한 것이다.
The present invention relates to a software development apparatus and method using a data-based programming model, and more particularly, to a software development apparatus and method using a data-based programming model that can independently generate, And a software development apparatus and method.
현재까지 소프트웨어 개발을 위한 프로그래밍 방법론의 패러다임으로는 명령형 프로그래밍(Imperative Programming), 함수형 프로그래밍(Functional Programming) 및 객체 지향 프로그래밍(Object Oriented Programming) 등이 대두되고 있다. 이러한 프로그래밍 방법론들은 모두 컴퓨터에 의한 프로그램의 실행(Execution)을 나타내는 동작 의미론(Operational Semantics)을 직접적으로 프로그램이 규정한다는 점에서 공통되어 있으며, 동작 의미론은 궁극적으로 프로그램에 의하여 컴퓨터가 주어지는 데이터에 대하여 동작을 수행하는 프로세스(Process)를 규정하므로, 상술한 프로그램 방법론들은 프로세스에 의하여 데이터를 처리하는 방법을 프로그램이 기술한다는 점에서 공통되어 있다.Imperative Programming, Functional Programming, and Object Oriented Programming are emerging paradigms for programming methodology for software development. All of these programming methodologies are common in that programs directly define operational semantics that represent the execution of programs by a computer, and the semantics of operations are ultimately determined by the program, The above program methodologies are common in that the program describes how to process data by a process.
그러나 실제 세계에서 사물의 행동을 관찰하면, 각각의 사물은 서로 독립적으로 행동하고, 따라서 각 사물에 대한 정보에 대응하는 각각의 데이터 객체 또는 데이터 인스턴스들이 서로 독립적으로 동작하며, 이러한 데이터 객체의 조합과 운동에 의하여 정보 처리가 실현된다. 즉, 실제 세계에서 사물의 행동에 의하여 실현되는 정보 처리는 현재의 프로그래밍 방법론에 대응하는 프로세스에 의한 계산의 입력 및 결과로서의 데이터보다는 서로 독립적으로 동작하는 데이터 인스턴스들의 생성, 결합 및 이동에 의하여 더 자연스럽게 모델링될 수 있다.However, when observing the behavior of objects in the real world, each object acts independently of each other, so that each data object or data instance corresponding to information about each object operates independently of each other, Information processing is realized by motion. That is, the information processing realized by the behavior of objects in the real world is more natural by the generation, combination and movement of data instances operating independently of each other, rather than input of computation by the process corresponding to the current programming methodology and resultant data Can be modeled.
이에 따라, 소프트웨어의 개발을 상술한 바와 같이 서로 독립적으로 동작하는 데이터 인스턴스에 기반하여 수행한다면, 실제 세계의 사물의 행동을 용이하게 모델링할 수 있고, 각 데이터 인스턴스를 개별적으로 조작할 수 있으므로 클래스의 상속 또는 변형상속이 불필요할 뿐더러 필요에 따라 객체의 개별적 변형과 일괄적 변형을 선택할 수 있으며, 각 데이터 인스턴스별로 필요에 따라 수행 코드를 변형할 수 있어 보다 병렬 처리가 용이하고 실제 세계와 직관적으로 유사한 소프트웨어 모델링이 가능하며 소프트웨어 개발을 용이하게 할 수 있으리라 기대된다.
Accordingly, if software development is performed based on data instances that operate independently of each other as described above, the behavior of objects in the real world can be easily modeled, and each data instance can be manipulated individually, Inheritance or transformation inheritance is unnecessary, and individual transformations and batch transformations of objects can be selected according to need, and execution codes can be modified as needed for each data instance, making parallel processing easier and intuitively similar to the real world It is expected that software modeling will be possible and software development will be easy.
본 발명은, 소프트웨어에 포함되는 데이터 인스턴스 각각에 대하여 독립적으로 생성, 소멸, 이동, 조합 및 편집이 가능한 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치 및 방법을 제공하는 데 그 목적이 있다.
An object of the present invention is to provide a software development apparatus and method using a data-based programming model capable of independently generating, destroying, moving, combining, and editing each data instance included in software.
본 발명의 일 측면에 따른 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치는 사용자의 입력에 응답하여 데이터 객체를 생성하는 데이터 객체 생성부, 상기 데이터 객체의 이동, 조합 및 소멸 중 적어도 하나를 수행하는 데이터 객체 관리부, 상기 데이터 객체에 대한 수행 정보를 생성 및 관리하는 수행 코드 관리부, 사용자로부터 상기 데이터 객체의 생성, 이동, 조합, 소멸 및 수행 코드의 편집 중 적어도 하나와 관련된 정보를 입력받고 사용자에게 상기 데이터 코드 및 상기 데이터 코드, 수행 코드 및 수행 코드의 실행 결과 중 적어도 하나를 출력하는 입출력부 및 상기 데이터 코드 및 수행 코드를 저장하는 저장부 및 상기 수행 코드를 실행하는 실행부를 포함하되, 상기 데이터 객체는 제1 이름 정보, 제2 이름 정보 및 제3 이름 정보를 포함하여 이루어지고, 상기 각 이름 정보는, 객체 식별자, 데이터 타입, 수행 코드 식별자, 수행 코드, 기억 장소, 변동 식별자, 관계 객체 식별자, 반환값, 메시지 및 null 중 하나이며, 상기 객체 식별자는 상기 각 이름 정보가 포함되어 있는 데이터 객체를 지칭하는 식별자이고, 상기 관계 객체 식별자는 상기 객체 식별자가 지칭하는 데이터 객체가 아닌 데이터 객체를 지칭하는 식별자이며, 상기 변동 식별자는 현재 식별자와 이전 식별자의 쌍으로 이루어지는 것을 특징으로 한다.A software development apparatus using a data-based programming model according to an aspect of the present invention includes a data object generation unit for generating a data object in response to a user's input, a data object for performing at least one of moving, An execution code management unit for generating and managing execution information on the data object, information on at least one of creation, movement, combination, destruction and execution of the data object from the user is input from the user, An input / output unit for outputting at least one of the data code, the execution code and the execution result of the execution code, a storage unit for storing the data code and the execution code, and an execution unit for executing the execution code, 1 name information, second name information, and third name information Wherein each name information is one of an object identifier, a data type, an execution code identifier, an execution code, a storage location, a variation identifier, a relational object identifier, a return value, a message and null, Wherein the object identifier is an identifier indicating a data object that is not a data object referred to by the object identifier, and the variable identifier is a pair of a current identifier and a previous identifier .
바람직하게는, 상기 데이터 객체 관리부는 하나 이상의 데이터 객체가 연결된 리스트를, 상기 리스트 상의 각 제1 데이터 객체에 대하여, 제1 이름 정보가 상기 리스트에서 상기 제1 데이터 객체의 직전 데이터 객체의 객체 식별자이고, 제2 이름 정보가 상기 제1 데이터 객체의 객체 식별자이며, 제3 이름 정보가 상기 리스트에서 상기 제1 데이터 객체의 직후 데이터 객체의 객체 식별자인 데이터 객체를 생성함으로써 표현하되, 상기 제1 데이터 객체가 상기 리스트의 최초 데이터 객체인 경우 제1 이름 정보가 null이고, 상기 제1 데이터 객체가 상기 리스트의 최후 데이터 객체인 경우 제3 이름 정보가 null이다.Preferably, the data object management unit is operable to determine, for each first data object on the list, a list to which one or more data objects are linked, wherein the first name information is an object identifier of a data object immediately preceding the first data object The first data object is an object identifier of the first data object, the second name information is an object identifier of the first data object, and the third name information is an object identifier of a data object immediately after the first data object in the list, The first name information is null if the first data object is the first data object of the list and the third name information is null if the first data object is the last data object of the list.
바람직하게는, 상기 수행 코드 관리부는 제1 데이터 객체에 대한 수행 코드를, 상기 제1 데이터 객체로 시작되는 데이터 객체의 리스트와 변동 식별자의 쌍으로 표현되는 수행 정보를 생성하여 나타낸다.Preferably, the execution code management unit generates performance information representing a performance code for the first data object, the performance information being represented by a pair of a data object starting with the first data object and a variation identifier.
바람직하게는, 상기 수행 정보를 표현하는 쌍에 포함되는 데이터 객체의 리스트는 적어도 하나의 수행 코드 식별자를 포함한다.Advantageously, the list of data objects contained in the pair representing the performance information comprises at least one performance code identifier.
바람직하게는, 상기 수행 정보를 표현하는 쌍에 포함되는 데이터 객체의 리스트는 적어도 하나의 반환값을 포함한다.Advantageously, the list of data objects contained in the pair representing the performance information comprises at least one return value.
바람직하게는, 상기 수행 코드 관리부는, 제1 변동 식별자 및 제1 리스트의 쌍으로 이루어지는 수행 정보에 대하여, 상기 제1 변동 식별자의 현재 식별자를 이전 식별자로 하는 제2 변동 식별자와 상기 제1 리스트의 쌍으로 이루어지는 변형 수행 정보를 생성한다.Preferably, the execution code managing unit is configured to perform, for the performance information including the first variation identifier and the first list, a second variation identifier having the current identifier of the first variation identifier as a previous identifier, And generates deformation performance information consisting of a pair.
바람직하게는, 상기 데이터 객체 관리부는, 제1 리스트를 시작하는 제1 데이터 객체 및 제2 리스트를 시작하는 제2 데이터 객체에 대하여, 상기 제1 리스트와 쌍을 이루는 제1 변동 식별자의 현재 식별자를 이전 식별자로 하고 상기 제1 및 제2 데이터 객체의 객체 식별자를 조합하여 생성한 현재 식별자를 가지는 제3 변동 식별자 및, 제1 데이터 객체와 제2 데이터 객체로 이루어지는 제3 리스트의 쌍으로 이루어지는 제1 수행 정보 및 상기 제2 리스트와 쌍을 이루는 제2 변동 식별자의 현재 식별자를 이전 식별자로 하고 상기 제1 및 제2 데이터 객체의 객체 식별자를 조합하여 생성한 현재 식별자를 가지는 제4 변동 식별자 및, 상기 제3 리스트의 쌍으로 이루어지는 제2 수행 정보 중 적어도 하나를 생성한다.Advantageously, the data object management unit is operable to determine, for a first data object starting a first list and a second data object starting a second list, a current identifier of a first variation identifier paired with the first list A third variable identifier having a current identifier generated by combining the object identifiers of the first and second data objects with a previous identifier and a third variable identifier having a current identifier generated by combining the object identifiers of the first and second data objects, A fourth variation identifier having a current identifier generated by combining performance information and a current identifier of a second variation identifier paired with the second list as a previous identifier and an object identifier of the first and second data objects, And second performance information that is a pair of the third list.
바람직하게는, 상기 데이터 객체 관리부는, 상기 제1 리스트에서 상기 제1 데이터 객체의 직후 데이터 객체를 제3 데이터 객체로 대체한 제1 부분 리스트 뒤에 상기 제1 데이터 객체를 덧붙인 제4 리스트 및 상기 제2 리스트에서 상기 제2 데이터 객체의 직후 데이터 객체를 제4 데이터 객체로 대체한 제2 부분 리스트 뒤에 상기 제2 데이터 객체를 덧붙인 제5 리스트 중 적어도 하나를 생성하고, 상기 제3 변동 식별자와 상기 제4 리스트의 쌍으로 이루어지는 제3 수행 정보 및 상기 제4 변동 식별자와 상기 제5 리스트의 쌍으로 이루어지는 제5 수행 정보 중 적어도 하나를 생성한다.Preferably, the data object management unit includes a fourth list in which the first data object is added to the first list after a first partial list in which the data object immediately after the first data object is replaced with a third data object in the first list, 2 list, a fifth list in which the second data object is added after the second partial list in which the data object immediately after the second data object is replaced with the fourth data object, and the third variation identifier and the third variation identifier 4th list, and fifth performance information that is a pair of the fourth variation identifier and the fifth list.
본 발명의 다른 측면에 따른 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 방법은 데이터 객체 생성부가 사용자의 입력에 응답하여 데이터 객체를 생성하는 단계, 데이터 객체 관리부가 사용자의 입력에 응답하여 상기 데이터 객체의 이동, 조합 및 소멸 중 적어도 하나를 수행하는 단계, 수행 코드 관리부가 상기 데이터 객체에 대한 수행 정보에 포함되는 수행 코드를 편집하는 단계 및 사용자의 입력에 응답하여 실행부가 상기 수행 코드를 실행하는 단계를 포함하되, 상기 데이터 객체는 제1 이름 정보, 제2 이름 정보 및 제3 이름 정보를 포함하여 이루어지고, 상기 각 이름 정보는, 객체 식별자, 데이터 타입, 수행 코드 식별자, 수행 코드, 기억 장소, 변동 식별자, 관계 객체 식별자, 반환값, 메시지 및 null 중 하나이며, 상기 객체 식별자는 상기 각 이름 정보가 포함되어 있는 데이터 객체를 지칭하는 식별자이고, 상기 관계 객체 식별자는 상기 객체 식별자가 지칭하는 데이터 객체가 아닌 데이터 객체를 지칭하는 식별자이며, 상기 변동 식별자는 현재 식별자와 이전 식별자의 쌍으로 이루어진다.
According to another aspect of the present invention, there is provided a software development method using a data-based programming model, the method comprising: a data object generation unit generating a data object in response to a user's input; Combining and disposing of the data object; editing an execution code included in execution information for the data object by the execution code management unit; and executing the execution code by the execution unit in response to a user's input, Wherein the data object includes a first name information, a second name information, and a third name information, wherein each name information includes an object identifier, a data type, an execution code identifier, an execution code, a storage location, A relational object identifier, a return value, a message, and null, and the object identifier is Wherein the relational identifier is an identifier indicating a data object that is not a data object referred to by the object identifier, and the variable identifier is a pair of a current identifier and a previous identifier Lt; / RTI >
본 발명에 따르면, 소프트웨어에 포함되는 데이터 인스턴스 각각에 대하여 데이터 객체를 독립적으로 생성, 소멸, 이동, 조합 및 편집이 가능한 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어를 개발함으로써, 실제 세계의 사물의 행동을 용이하게 모델링할 수 있고, 각 데이터 인스턴스를 개별적으로 조작할 수 있으므로 클래스의 상속 또는 변형상속이 불필요할 뿐더러 필요에 따라 객체의 개별적 변형과 일괄적 변형을 선택할 수 있으며, 각 데이터 인스턴스별로 필요에 따라 수행 코드를 변형할 수 있어 보다 병렬 처리가 용이하고 실제 세계와 직관적으로 유사한 소프트웨어 모델링이 가능하며 소프트웨어 개발을 용이하게 할 수 있다.
According to the present invention, by developing software that uses a data-based programming model capable of independently creating, destroying, moving, combining, and editing data objects for each data instance included in software, You can model and manipulate each data instance individually, so you do not need inheritance or inheritance of classes, and you can choose individual transformations and batch transformations of objects as needed. It is possible to perform software modeling that is intuitively similar to the real world, and software development can be facilitated.
도 1은 본 발명의 일 실시예에 따른 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 객체 및 데이터 객체의 리스트의 예를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 수행 정보의 예를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 변형 수행 정보의 예를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터 객체의 조합의 예를 도시한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 방법의 동작을 도시한 순서도이다. 1 is a block diagram of a software development apparatus that utilizes a data-based programming model in accordance with one embodiment of the present invention.
2 is a diagram illustrating an example of a list of data objects and data objects according to an embodiment of the present invention.
3 is a diagram illustrating an example of performance information according to an embodiment of the present invention.
4 is a diagram illustrating an example of deformation performance information according to an embodiment of the present invention.
5 is a diagram illustrating an example of a combination of data objects according to an embodiment of the present invention.
FIG. 6 is a flowchart illustrating the operation of a software development method using a data-based programming model according to another embodiment of the present invention.
이하에서는 본 발명에 따른 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치 및 방법을 첨부된 도면들을 참조하여 상세하게 설명한다. 이러한 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, a software development apparatus and method using a data-based programming model according to the present invention will be described in detail with reference to the accompanying drawings. In this process, the thicknesses of the lines and the sizes of the components shown in the drawings may be exaggerated for clarity and convenience of explanation. In addition, the terms described below are defined in consideration of the functions of the present invention, which may vary depending on the intention or custom of the user, the operator. Therefore, definitions of these terms should be made based on the contents throughout this specification.
도 1은 본 발명의 일 실시예에 따른 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치의 블록도이다.1 is a block diagram of a software development apparatus that utilizes a data-based programming model in accordance with one embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치는, 데이터 객체 생성부(110), 데이터 객체 관리부(120), 수행 코드 관리부(130), 실행부(140), 저장부(200) 및 입출력부(300)를 포함하여 이루어질 수 있다.1, a software development apparatus using a data-based programming model according to an embodiment of the present invention includes a data
데이터 객체 생성부(110)는 사용자의 입력에 응답하여 데이터 객체를 생성한다. 데이터 객체는 데이터의 구성을 규정하는 이름 정보와 데이터들의 관계를 규정하는 관계 정보의 측면에서 규정될 수 있다. 이 때, 각 이름 정보는, 객체 식별자, 데이터 타입, 수행 코드 식별자, 수행 코드, 기억 장소, 변동 식별자, 관계 객체 식별자, 반환값, 메시지 및 null 중 하나일 수 있다. 객체 식별자는 하나의 데이터 객체에 고유한 이름이다. 이 때, 다른 모든 이름과 다른 보존된 값(Reserved Value)으로 null을 준비하여, 데이터 객체의 초기화 및 데이터 객체의 리스트의 끝을 표현할 수 있다. 데이터 타입은 일반적인 프로그래밍 언어에서와 같은 데이터의 형태를 정의하는 정보이다. 예컨대 데이터 타입은 정수, 스트링, 실수, 정수나 실수의 경우 그 자리수에 대한 정보를 포함할 수 있다. 기억 장소는 데이터 객체에 대응되는 수행 코드가 사용하는 메모리이다. 이 때, 기억 장소는 구체적인 메모리 공간을 추상화하여 나타내는 기호로 표현될 수도 있으며, 메모리 어드레스에 대한 포인터일 수도 있다. 수행 코드 식별자는 데이터 객체가 수행하는 수행 코드를 가리키는 이름이며, 수행 코드가 실행하는 구체적인 명령을 내용으로 가지는 하위 데이터 객체와 연결하기 위하여 사용될 수 있다. 수행 코드는 데이터 객체가 수행하는 구체적인 명령어이다. 후술하듯이 수행 코드는 일반적인 명령형 프로그래밍 언어와 유사한 명령어 집합을 포함한다. 변동 식별자는 데이터 객체의 조합이 일어날 때, 또는 데이터 객체를 다른 의미로 사용할 경우 부여하는 고유한 이름이다. 관계 객체 식별자는 수행 코드를 관리할 때 수행 코드에 의하여 형성된 이름을 가리키는 이름이다. 반환값은 수행 코드에 의하여 산출되는 데이터 객체의 값을 지칭하는 이름이다. 메시지는 수행 코드를 관리하거나 실행하는 도중 발생하는 에러 메시지 또는 예외 상황 등을 지칭하는 이름이다.The data object
이 때, 데이터 객체 사이의 연결을 표시하기 위하여 데이터 객체는 제1 이름 정보, 제2 이름 정보 및 제3 이름 정보를 포함하여 이루어질 수 있으며, 제1 내지 제3 이름 정보는 각각 상술한 10가지 정보 중 하나일 수 있다. 즉, 데이터 객체 생성부가 생성하는 새로운 정보를 포함하는 데이터 객체는 (null, Name, null)의 형식을 가질 수 있으며, 제1 및 제3 이름 정보가 null 이고 제2 이름 정보는 null을 제외한 9가지 정보 중 하나일 수 있다.In this case, the data object may include first name information, second name information, and third name information in order to display a connection between data objects, and the first to third name information may include information on each of the above- ≪ / RTI > That is, the data object including the new information generated by the data object generating unit may have a format of (null, Name, null), and the first and third name information are null and the second name information includes nine Information.
여기에서 데이터 객체 관리부(120)는 하나 이상의 데이터 객체가 연결된 리스트를, 리스트 상의 각 제1 데이터 객체에 대하여, 제1 이름 정보가 리스트에서 제1 데이터 객체의 직전 데이터 객체의 객체 식별자이고, 제2 이름 정보가 제1 데이터 객체의 객체 식별자이며, 제3 이름 정보가 리스트에서 제1 데이터 객체의 직후 데이터 객체의 객체 식별자인 데이터 객체를 생성함으로써 표현할 수 있다. 이 때, 제1 데이터 객체가 상기 리스트의 최초 데이터 객체인 경우 제1 이름 정보가 null이고, 제1 데이터 객체가 상기 리스트의 최후 데이터 객체인 경우 제3 이름 정보가 null일 수 있다. 도 2는 본 발명의 일 실시예에 따른 데이터 객체 및 데이터 객체의 리스트의 예를 도시한 도면이다.Here, for each first data object on the list, the first object information is the object identifier of the immediately preceding data object in the list, and the second object information is the object identifier of the second data object in the list. The name information is the object identifier of the first data object and the third name information is the object identifier of the data object immediately after the first data object in the list. In this case, if the first data object is the first data object of the list, the first name information is null, and if the first data object is the last data object of the list, the third name information may be null. 2 is a diagram illustrating an example of a list of data objects and data objects according to an embodiment of the present invention.
즉, 도 2에 도시된 바와 같이 [A, B, C, D] 와 같은 리스트는 {(null, A, B) , (A, B, C) , (B, C, D), (C, D, null)} 과 같이 리스트에 포함된 4개의 데이터 객체에 대응하는 4 쌍의 이름 정보의 3터플(Tuple)로 표현될 수 있으며, 이러한 3터플의 집합은 4개의 데이터 객체의 집합일 수 있다. 이 때 이러한 리스트를 리스트의 최초 객체의 직전 데이터 객체 및 최후 객체의 직후 데이터 객체를 null 로 표현하여 (null - A - B - C - D - null)과 같이 표현할 수도 있다. 또한 동일한 이름을 가지는 데이터 객체를 공유하는 리스트를 여러 개 사용하여 일반적인 임의의 그래프를 표현할 수 있다. 도 2에 도시된 예는 하나의 데이터 객체에 연결되는 데이터 타입 및 수행 코드가 이러한 리스트를 통하여 어떻게 구성되는지 보여주는 예이다. 도 2 하단의 도면에서, '이름'은 객체 식별자를, '생김새'는 데이터 타입을, '부림값 골라내기'는 반환값을, '다룸말'은 수행 코드 식별자를, '긔걸'은 수행 코드를, '다룸값 골라내기'는 관계 객체 식별자를, '일말'은 객체 식별자 내부의 수행 코드가 사용하는 임시 기억 장소를, '뒷말'은 '다룸말'과 연결된 데이터 객체를 나타낼 수 있다..(A, B, C), (B, C, D), (C, D) D, null)}, and the set of three tuples may be a set of four data objects (e.g., a set of four data objects) . This list can be expressed as null (A - B - C - D - null) by representing the data object immediately before the first object in the list and the data object immediately after the last object in the list. You can also use any number of lists that share data objects with the same name to represent a typical arbitrary graph. The example shown in Fig. 2 is an example showing how data types and execution codes connected to one data object are configured through this list. In the drawing at the bottom of FIG. 2, 'name' indicates an object identifier, 'appearance' indicates a data type, 'borrow value selection' indicates a return value, 'comment' indicates an execution code identifier, , 'Relative value' indicates the relational object identifier, 'Illegally' indicates the temporary storage location used by the execution code inside the object identifier, and 'Behind' indicates the data object connected with 'Relay statement'.
이 때, 상술한 바와 같이 이름 정보의 3터플로 구성되는 데이터 객체는 다음과 같이 63가지의 유형 중 하나일 수 있다.
At this time, as described above, a data object composed of three tuples of name information can be one of 63 types as follows.
제1 이름 정보 제2 이름 정보 제3 이름 정보First name information Second name information Third name information
관계 객체 식별자 반환값 관계 객체 식별자Relational object identifier Return value Relational object identifier
수행 코드 식별자 수행 코드 반환값Execution code identifier Execution code Return value
수행 코드 반환값 관계 객체 식별자Execution code Return value Relation object identifier
null 객체 식별자 일말The null object identifier
반환값 수행 코드 반환값Return Value Execution Code Return Value
반환값 수행 코드 nullReturn Value
null 객체 식별자 객체 식별자null object identifier object identifier
null 수행 코드 식별자 nullnull implementation code identifier null
객체 식별자 수행 코드 식별자 수행 코드 식별자Object Identifier Execution Code Identifier Execution Code Identifier
수행 코드 식별자 수행 코드 식별자 nullAction code identifier Action code identifier null
null 변동 식별자 nullthe null variation identifier null
null 객체 식별자 nullthe null object identifier null
null 데이터 타입 nullnull data type null
객체 식별자 반환값 반환값Object identifier Return value Return value
데이터 타입 수행 코드 식별자 nullData type implementation code identifier null
수행 코드 식별자 수행 코드 관계 객체 식별자Execution code identifier Execution code Relation object identifier
수행 코드 관계 객체 식별자 관계 객체 식별자Execution code Relation object identifier Relation object identifier
관계 객체 식별자 관계 객체 식별자 관계 객체 식별자Relational Object Identifier Relational Object Identifier Relational Object Identifier
관계 객체 식별자 수행 코드 nullRelative object identifier Perform code null
관계 객체 식별자 수행 코드 관계 객체 식별자Relational Object Identifier Perform Code Relational Object Identifier
수행 코드 식별자 수행 코드 nullAction code identifier Action code null
수행 코드 식별자 수행 코드 식별자 수행 코드Execution Code Identifier Execution Code Identifier Execution Code
수행 코드 수행 코드 nullPerform code Execute code null
반환값 반환값 nullReturn ValueReturn Value
null 수행 코드 nullthe null performing code null
수행 코드 수행 코드 식별자 nullPerform code Execute code identifier null
수행 코드 수행 코드 식별자 수행 코드Execution Code Execution Code Identifier Execution Code
null 객체 식별자 뒷말The end of the null object identifier
null 뒷말 nullnull trailing null
null 일말 nullnull null
수행 코드 수행 코드 반환값Execution code Execution code Return value
관계 객체 식별자 수행 코드 반환값Relative object identifier Execution code Return value
수행 코드 반환값 반환값Action Code Return Value Return Value
수행 코드 반환값 수행 코드Execution code Return value Execution code
수행 코드 반환값 nullAction Code Return Value null
객체 식별자 일말 nullObject identifier null
반환값 수행 코드 수행 코드 식별자Return Value Execution code Execution code identifier
반환값 수행 코드 수행 코드Return Value Execution Code Execution Code
반환값 수행 코드 관계 객체 식별자Return Value Execution code Relation object identifier
객체 식별자 객체 식별자 객체 식별자Object Identifier Object Identifier Object Identifier
null 객체 식별자 수행 코드 식별자null object identifier execution code identifier
객체 식별자 객체 식별자 nullObject identifier Object identifier null
객체 식별자 수행 코드 식별자 nullObject identifier Perform code identifier null
수행 코드 식별자 수행 코드 식별자 수행 코드 식별자Execution code identifier Execution code identifier Execution code identifier
null 객체 식별자 반환값null object identifier Return Value
객체 식별자 반환값 nullObject identifier Returns null
객체 식별자 수행 코드 식별자 수행 코드Object identifier Execution code Identifier Execution code
수행 코드 관계 객체 식별자 수행 코드Execution code Relation object identifier Execution code
관계 객체 식별자 수행 코드 수행 코드Relative object identifier Execution code Execution code
관계 객체 식별자 수행 코드 수행 코드 식별자Relative object identifier Execution code Execution code identifier
관계 객체 식별자 반환값 수행 코드Relation object identifier Return value Execution code
반환값 관계 객체 식별자 수행 코드Return value Relation object identifier Execution code
객체 식별자 뒷말 nullObject identifier ending null
수행 코드 식별자 수행 코드 수행 코드Execution code identifier Execution code Execution code
수행 코드 식별자 수행 코드 수행 코드 식별자Execution code identifier Execution code Execution code identifier
수행 코드 수행 코드 수행 코드Execution Code Execution Code Execution Code
수행 코드 수행 코드 수행 코드 식별자Execution Code Execution Code Execution Code Identifier
수행 코드 수행 코드 식별자 수행 코드 식별자Perform Code Execution Code Identifier Execution Code Identifier
null 데이터 타입 수행 코드 식별자null data type implementation code identifier
데이터 타입 수행 코드 식별자 수행 코드 식별자Data Type Execution Code Identifier Execution Code Identifier
데이터 타입 수행 코드 식별자 수행 코드Data Type Execution Code Identifier Execution Code
관계 객체 식별자 관계 객체 식별자 수행 코드Relation object identifier Relation object identifier Execution code
반환값 반환값 반환값
Return Value Return ValueReturn Value
즉, 객체 식별자는 각 이름 정보가 포함되어 있는 데이터 객체를 지칭하는 식별자이고, 관계 객체 식별자는 객체 식별자가 지칭하는 데이터 객체가 아닌 다른 데이터 객체를 지칭하는 식별자일 수 있다. 또한, 변동 식별자는 현재 식별자와 이전 식별자의 쌍으로 이루어질 수 있다. 즉, 변동 식별자는 현재식별자_이전식별자 와 같이 표현될 수 있으며, 이는 데이터 객체의 동작을 통하여 이전 식별자에 새로운 식별자인 현재 식별자가 부여됨을 나타낼 수 있다. That is, the object identifier is an identifier indicating a data object in which each name information is included, and the relational object identifier may be an identifier indicating a data object other than the data object referred to by the object identifier. Also, the variable identifier may be a pair of the current identifier and the previous identifier. That is, the variable identifier may be represented as the current identifier_previous identifier, which indicates through the operation of the data object that the current identifier as a new identifier is assigned to the previous identifier.
수행 코드 관리부(130)는 데이터 객체에 대한 수행 정보를 생성 및 관리한다. 이 때, 수행 코드 관리부(130)는 제1 데이터 객체에 대한 수행 코드를, 제1 데이터 객체로 시작되는 데이터 객체의 리스트와 변동 식별자의 쌍으로 표현되는 수행 정보를 생성하여 나타낼 수 있다. 또한 수행 정보를 표현하는 쌍에 포함되는 데이터 객체의 리스트는 적어도 하나의 수행 코드 식별자를 포함할 수 있다. 또는 수행 정보를 표현하는 쌍에 포함되는 데이터 객체의 리스트는 적어도 하나의 반환값을 포함할 수 있다. 이 때, 리스트에 포함된 데이터 객체의 구성에 따라, 반환값이 리스트에 포함될 수도 있고, 데이터 객체에 포함된 수행 코드가 반환값을 반환하지 않는 경우 리스트에 포함되지 않을 수도 있으며, 수행 코드 식별자와 연결된 다른 리스트에 포함되어 수행 코드 식별자의 하위 데이터 객체에 포함될 수도 있다.The execution
도 3은 본 발명의 일 실시예에 따른 수행 정보의 예를 도시한 도면이다. 도 3의 예는 '이름1'이라는 객체 식별자로 표시되는 이름 정보와 '다룸말1' 이라는 수행 코드 식별자로 이루어지는 리스트와 null_null 로 표시되는 변동 식별자의 쌍으로 이루어지는 수행 정보를 나타내며, 이러한 수행 정보는 '이름 1' 객체 식별자에 '다룸말1' 이라는 수행 코드 식별자가 표시하는 수행 코드가 대응됨을 나타낼 수 있다. 이 때 상술한 리스트는 수행 코드 식별자를 포함하는 리스트이다. 이 때 수행 코드 식별자가 아닌 반환값을 리스트가 포함하면 해당 수행 정보는 '다룸말1' 데이터 객체에 대응하는 수행 코드의 실행 결과 값을 나타낼 수 있다. 또한 도 3은 '이름1'로 표시되는 데이터 객체와 '생김새'로 표시되는 데이터 타입으로 이루어지는 리스트를 표시하며, 이는 데이터 객체 '이름1'이 '생김새' 타입의 데이터를 표시함을 나타낼 수 있다. 3 is a diagram illustrating an example of performance information according to an embodiment of the present invention. The example of FIG. 3 shows performance information consisting of a pair of name information represented by an object identifier of 'name 1' and a variable identifier indicated by null_null, which is composed of a list consisting of an execution code identifier called 'Reply 1' It may indicate that the execution code indicated by the execution code identifier 'talk 1' corresponds to the 'name 1' object identifier. The above-mentioned list is a list including an execution code identifier. At this time, if the list includes a return value that is not an execution code identifier, the execution information may indicate the execution result value of the execution code corresponding to the 'data 1' data object. In addition, FIG. 3 shows a data object represented by 'name 1' and a data type represented by 'appearance', indicating that the data object 'name 1' displays data of 'appearance type' .
또한 수행 코드 관리부(130)는, 제1 변동 식별자 및 제1 리스트의 쌍으로 이루어지는 수행 정보에 대하여, 제1 변동 식별자의 현재 식별자를 이전 식별자로 하는 제2 변동 식별자와 제1 리스트의 쌍으로 이루어지는 변형 수행 정보를 생성할 수 있다. 도 4는 본 발명의 일 실시예에 따른 변형 수행 정보의 예를 도시한 도면이다. 도 4에 도시된 바와 같이, 'null_null' 변동 식별자 및 '이름1 - 다룸말1'리스트의 쌍으로 이루어지는 수행 정보가 구체적인 데이터 객체의 내용 변화 없이 변동 식별자에 '이름패1' 현재 식별자를 부여할 수 있으며, 이 때 새로운 변동 식별자는 '이름패1_null'이 된다. 이 때, 이전의 변동 식별자 'null_null'에 대응하는 수행 코드 식별자가 '다룸말1'이며, '이름패1_null' 변동 식별자에 대응하는 수행 코드 식별자가 '다룸말2'이고, '다룸말2'의 직후 객체로 '다룸말1'이 연결되어 '이름1 - 다룸말2 - 다룸말1' 리스트를 형성할 수 있다. 이에 따라 현재의 수행 코드 뿐 아니라 과거의 수행 코드 역시 현재의 수행 정보를 통하여 접근할 수 있다.Also, the execution
데이터 객체 관리부(120)는 데이터 객체의 이동, 조합 및 소멸 중 적어도 하나를 수행한다. 도 5는 본 발명의 일 실시예에 따른 데이터 객체의 조합의 예를 도시한 도면이다.The data object
예컨대, 데이터 객체 관리부(120)는 제1 리스트를 시작하는 제1 데이터 객체 및 제2 리스트를 시작하는 제2 데이터 객체에 대하여, 제1 리스트와 쌍을 이루는 제1 변동 식별자의 현재 식별자를 이전 식별자로 하는 제3 변동 식별자 및, 제1 데이터 객체와 제2 데이터 객체로 이루어지는 제3 리스트의 쌍으로 이루어지는 제1 수행 정보 및 제2 리스트와 쌍을 이루는 제2 변동 식별자의 현재 식별자를 이전 식별자로 하는 제4 변동 식별자 및, 제3 리스트의 쌍으로 이루어지는 제2 수행 정보를 생성할 수 있다. For example, the data object
도 5의 예에서 제1 데이터 객체는 '이름1'이고, 제2 데이터 객체는 '이름2'이며, 두 데이터 객체를 조합하는 결과 데이터 객체의 리스트 '이름1 - 이름2'이 제3 리스트로 생성될 수 있다. 또한 이 때, 제1 데이터 객체와 쌍을 이루는 변동 식별자 (이름패1_null)는 새로운 현재 식별자 이름패4에 의하여 제3 변동 식별자 (이름패4_이름패1)로 변동되며, 제2 데이터 객체와 쌍을 이루는 변동 식별자(null_null)은 제4 변동 식별자 (이름패4_null)로 변동될 수 있다. 따라서 제1 수행 정보는 (이름패4_이름패1)_이름1-이름2 가 되며, 제2 수행 정보는 (이름패4_null)_이름1-이름2가 된다. In the example of FIG. 5, the first data object is 'Name 1', the second data object is 'Name 2', and the list of result data objects 'Name 1 - Name 2' Lt; / RTI > Also, at this time, the variable identifier (name name 1_null) that is paired with the first data object is changed to the third variable identifier (nameplate 4_namespace 1) by the new current identifier name 4, The identifier (null_null) may be changed to the fourth variation identifier (nameplate 4_null). Therefore, the first performance information is (Name 4_Name1) _Name1-Name2, and the second performance information is (Name4_null) _Name1-Name2.
또한 이 때, 조합되는 데이터 객체와 연결되어 있던 수행 코드 식별자에 따른 리스트를 새로이 생성할 수도 있다. 즉, 제1 리스트에서 제1 데이터 객체의 직후 데이터 객체를 제3 데이터 객체로 대체한 제1 부분 리스트 뒤에 제1 데이터 객체를 덧붙인 제4 리스트 및 제2 리스트에서 제2 데이터 객체의 직후 데이터 객체를 제4 데이터 객체로 대체한 제2 부분 리스트 뒤에 제2 데이터 객체를 덧붙인 제5 리스트 중 적어도 하나를 생성하고, 제3 변동 식별자와 제4 리스트의 쌍으로 이루어지는 제3 수행 정보 및 제4 변동 식별자와 제5 리스트의 쌍으로 이루어지는 제5 수행 정보 중 적어도 하나를 생성할 수 있다. 도 5의 예에서 예컨대, '이름1 - 다룸말2'인 제1 리스트에서 다룸말2를 다룸말5로 대체하고 다룸말2를 덧붙인 제4 리스트 '이름1 - 다룸말5 - 다룸말2'와 제3 변동 식별자 (이름패4_이름패1)의 쌍으로 이루어지는 제3 수행 정보가 생성될 수 있다. 이 때 제4 리스트에 포함된 '다룸말5'의 뒷쪽에는 수행 코드의 리스트인 '긔걸들'이 덧붙여질 수 있다. 유사한 방법으로 제5리스트 '이름2 - 다룸말6 - 다룸말3'와 제4 변동 식별자 (이름패4_null)의 쌍으로 이루어지는 제4 수행 정보가 생성될 수 있다. At this time, a list according to the execution code identifier linked to the data object to be combined may be newly generated. That is, in the first list, a fourth list in which a first data object is added after a first partial list in which a data object immediately after the first data object is replaced with a third data object, and a fourth list in which a data object immediately after the second data object in the second list A fifth list in which a second data object is added after a second partial list replaced by a fourth data object, and third performance information consisting of a third variation identifier and a fourth list and a fourth variation identifier And fifth performance information that is a pair of the fifth lists. In the example of FIG. 5, for example, in a first list of 'name 1 - verbal utterance 2', a fourth list 'name 1 - verbal utterance 5 - verbal utterance 2' And the third variation identifier (nameplate 4_ nameplate 1) may be generated. At this time, a list of execution codes, 'hangers', can be added to the back of the 'commentary 5' included in the fourth list. In a similar manner, fourth performance information may be generated, which is a pair of a fifth list 'name 2 - verbal utterance 6 - verbal utterance 3' and a fourth variation identifier (name 4 - null).
또한 이 때 '다룸말5'는 코드 식별자인 '다룸말2' 및 '다룸말3'의 정보를 조합하여 생성되는 새로운 코드 식별자일 수 있으며, 같은 방식으로 '다룸말6'도 코드 식별자인 '다룸말2' 및 '다룸말3'의 정보를 조합하여 생성되는 새로운 코드 식별자일 수 있다. 이렇게 '다룸말5' 또는 '다룸말6' 즉, 제3 데이터 객체 또는 제4 데이터 객체에 해당하는 코드 식별자를 각자 제1 리스트 및 제2 리스트에 포함되어 있던 코드 식별자의 정보를 모두 포함하게 생성함으로써, 제1 리스트 및 제2 리스트를 조합하여 생성되는 제3 리스트 도는 제4 리스트에 포함된 코드 식별자가 조합 이전의 각 리스트에 포함되어 있던 코드 식별자를 모두 식별 및 탐색할 수 있도록 할 수 있다.In this case, the 'reply message 5' may be a new code identifier generated by combining the information of the code identifiers 'reply message 2' and 'reply message 3'. In the same manner, 'reply message 6' And a new code identifier generated by combining the information of the commentary 2 'and the commentary 3'. In other words, a code identifier corresponding to the third data object or the fourth data object is generated so as to include all of the code identifiers included in the first list and the second list, The third list generated by combining the first list and the second list and the code identifier included in the fourth list can be identified and searched for all the code identifiers included in each list before the combination.
상술한 바와 같은 두 데이터 객체의 조합은 조합되는 데이터 객체와 쌍을 이루는 수행 코드 식별자가 (null_null) 인 초기 수행 코드 식별자인 경우에도 같은 방법으로 적용될 수 있으며, 이는 도 5의 하단의 예에 도시된 바와 같다.The combination of the two data objects as described above can be applied in the same way even when the combination of the data objects is an initial execution code identifier that is a pair of an execution code identifier null_null, Same as.
이상과 같은 방법으로 데이터 객체의 정의로부터 데이터 객체를 생성 및 조합할 수 있으며, 모든 데이터 객체를 상술한 생성 및 조합 방법에 의하여 구성되는 리스트를 통하여 방문할 수 있으므로 반복 또는 재귀적인 방법으로 데이터 객체의 소멸 역시 가능하다. 또한 기 존재하는 데이터 객체의 소멸 및 기 존재하는 데이터 객체와 동일한 데이터를 저장하되 타 데이터 객체와의 연결관계가 다른 새로운 객체의 생성을 수행함으로써 데이터 객체의 이동을 표현하는 것 역시 가능하다.Since data objects can be created and assembled from the definition of data objects in the same manner as described above and all data objects can be visited through a list formed by the above-described generation and combination methods, Destruction is also possible. It is also possible to express the movement of a data object by destroying the existing data object and storing the same data as the existing data object but creating a new object having a different connection relation with the other data object.
실행부(140)는 수행 코드를 실행한다. 이 때 수행 코드를 이름 정보로 하는 각 데이터 객체는 하나 이상의 명령어를 표현할 수 있으며, 따라서 데이터 객체의 리스트가 수행 코드의 리스트, 즉 데이터 객체에 대하여 실행되는 프로그램을 표현할 수 있다. 수행 코드는 일반적인 명령형 프로그래밍 언어와 유사하게 정의될 수 있다. 예컨대 수행 코드는 이하 표 1에 열거되는 명령어를 표현할 수 있다.
The
(파리미터 마지막은 객체개수)The specified data object, or a specific data object of the combination connection object, and so on, to find the corresponding data object or combination connection object data, and to find the specified specific data object value.
(Parameter end is the number of objects)
스택에 저장하는 처리.Find the object identifier specified in the object identifier that owns the current executable code identifier
Processing to store on the stack.
입출력부(300)는 사용자로부터 상기 데이터 객체의 생성, 이동, 조합, 소멸 및 수행 코드의 편집 중 적어도 하나와 관련된 정보를 입력받고 사용자에게 상기 데이터 코드 및 상기 데이터 코드, 수행 코드 및 수행 코드의 실행 결과 중 적어도 하나를 출력하고, 저장부(200)는 데이터 코드 및 수행 코드를 저장한다.The input /
도 6은 본 발명의 다른 실시예에 따른 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 방법의 동작을 도시한 순서도이다. 이를 참조하여 본 발명의 다른 실시예에 따른 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 방법을 설명한다.FIG. 6 is a flowchart illustrating the operation of a software development method using a data-based programming model according to another embodiment of the present invention. A software development method using a data-based programming model according to another embodiment of the present invention will be described with reference to the drawings.
먼저 데이터 객체 생성부(110)가 사용자의 입력에 응답하여 데이터 객체를 생성한다(S110). 이 때, 상술한 바와 같이 상기 데이터 객체는 제1 이름 정보, 제2 이름 정보 및 제3 이름 정보를 포함하여 이루어지고, 각 이름 정보는, 객체 식별자, 데이터 타입, 수행 코드 식별자, 수행 코드, 기억 장소, 변동 식별자, 관계 객체 식별자, 반환값, 메시지 및 공백 중 하나이며, 객체 식별자는 각 이름 정보가 포함되어 있는 데이터 객체를 지칭하는 식별자이고, 관계 객체 식별자는 객체 식별자가 지칭하는 데이터 객체가 아닌 데이터 객체를 지칭하는 식별자이며, 변동 식별자는 현재 식별자와 이전 식별자의 쌍으로 이루어질 수 있다.First, the data object generating
이어서 데이터 객체 관리부(120)가 사용자의 입력에 응답하여 상기 데이터 객체의 이동, 조합 및 소멸 중 적어도 하나를 수행한다(S120). 이 때, 데이터 객체의 조합은 상기 도 5와 관련하여 상술한 바와 같이 이루어질 수 있다. 즉, 데이터 객체 관리부(120)는 하나 이상의 데이터 객체가 연결된 리스트를, 리스트 상의 각 제1 데이터 객체에 대하여, 제1 이름 정보가 상기 리스트에서 제1 데이터 객체의 직전 데이터 객체의 객체 식별자이고, 제2 이름 정보가 제1 데이터 객체의 객체 식별자이며, 제3 이름 정보가 리스트에서 제1 데이터 객체의 직후 데이터 객체의 객체 식별자인 데이터 객체를 생성함으로써 표현하되, 제1 데이터 객체가 리스트의 최초 데이터 객체인 경우 상기 직전 데이터 객체의 객체 식별자가 Null이고, 제1 데이터 객체가 리스트의 최후 데이터 객체인 경우 직후 데이터 객체의 객체 식별자가 Null일 수 있다. Then, the data
또한, 데이터 객체 관리부(120)는, 제1 리스트를 시작하는 제1 데이터 객체 및 제2 리스트를 시작하는 제2 데이터 객체에 대하여, 제1 리스트와 쌍을 이루는 제1 변동 식별자의 현재 식별자를 이전 식별자로 하는 제3 변동 식별자 및, 제1 데이터 객체와 제2 데이터 객체로 이루어지는 제3 리스트의 쌍으로 이루어지는 제1 수행 정보 및 제2 리스트와 쌍을 이루는 제2 변동 식별자의 현재 식별자를 이전 식별자로 하는 제4 변동 식별자 및, 제3 리스트의 쌍으로 이루어지는 제2 수행 정보를 생성할 수 있다. Also, the data
아울러 데이터 객체 관리부(120)는, 제1 리스트에서 제1 데이터 객체를 제3 데이터 객체로 대체한 제1 부분 리스트 뒤에 제1 데이터 객체를 덧붙인 제4 리스트 및 제2 리스트에서 제2 데이터 객체를 제4 데이터 객체로 대체한 제2 부분 리스트 뒤에 제2 데이터 객체를 덧붙인 제5 리스트 중 적어도 하나를 생성하고, 제3 변동 식별자와 제4 리스트의 쌍으로 이루어지는 제3 수행 정보 및 제4 변동 식벼자와 제5 리스트의 쌍으로 이루어지는 제5 수행 정보 중 적어도 하나를 생성할 수 있다.In addition, the data
이후 수행 코드 관리부(130)가 상기 데이터 객체에 대한 수행 정보에 포함되는 수행 코드를 편집한다. 이 때, 수행 정보의 관리 및 수행 코드의 편집은 도 3과 관련하여 상술한 바와 같이 이루어질 수 있다. 예컨대, 수행 코드 관리부(130)는 제1 데이터 객체에 대한 수행 코드를, 제1 데이터 객체로 시작되는 데이터 객체의 리스트와 변동 식별자의 쌍으로 표현되는 수행 정보를 생성하여 나타낼 수 있다. 또한 수행 정보를 표현하는 쌍에 포함되는 데이터 객체의 리스트는 적어도 하나의 수행 코드 식별자를 포함할 수 있다. 또는 수행 정보를 표현하는 쌍에 포함되는 데이터 객체의 리스트는 적어도 하나의 반환값을 포함할 수 있다. 또한 수행 코드는 예컨대 상기 표 1에 예시된 바와 같이 일반적인 명령형 프로그래밍 언어와 유사하게 규정될 수 있다.The execution
이후, 입출력부(300)가 수행 코드를 실행하라는 명령이 입력되었는지 판단한다(S140). 만일 단계(S140)에서 수행 코드를 실행하라는 명령이 입력되었으면 실행부(140)가 사용자의 입력에 응답하여 상기 수행 코드를 실행하고(S150), 만일 수행 코드를 실행하라는 명령이 입력되지 않았으면 프로세스는 단계(S160)으로 진행한다. Then, the input /
이어서, 수행 코드 관리부(130)가 데이터 객체 관리 및 수행 코드의 편집이 종료되었는지 여부를 판단한다(S160). 만일 단계(S160)에서 데이터 객체 관리 및 수행 코드의 편집이 종료되지 않았다고 판단한다면 프로세스는 단계(S110) 내지 S(150)을 반복하여 데이터 객체의 생성 및 관리와 수행 코드의 편집 및 관리를 계속한다. 만일 단계(S160)에서 데이터 객체 관리 및 수행 코드의 편집이 종료되었다고 판단한다면 프로세스를 종료한다. 이 때 종료 여부의 판단은 사용자의 입력에 따를 수도 있고, 실행부(140)가 수행 코드를 무사히 끝까지 실행하였는지 여부에 따를 수도 있다.Then, the execution
이상 살펴본 바와 같이 본 발명에 따르면, 소프트웨어에 포함되는 데이터 인스턴스 각각에 대하여 데이터 객체를 독립적으로 생성, 소멸, 이동, 조합 및 편집이 가능한 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어를 개발함으로써, 실제 세계의 사물의 행동을 용이하게 모델링할 수 있고, 각 데이터 인스턴스를 개별적으로 조작할 수 있으므로 클래스의 상속 또는 변형상속이 불필요할 뿐더러 필요에 따라 객체의 개별적 변형과 일괄적 변형을 선택할 수 있으며, 각 데이터 인스턴스별로 필요에 따라 수행 코드를 변형할 수 있어 보다 병렬 처리가 용이하고 실제 세계와 직관적으로 유사한 소프트웨어 모델링이 가능하며 소프트웨어 개발을 용이하게 할 수 있다.As described above, according to the present invention, by developing software that uses a data-based programming model capable of independently creating, destroying, moving, combining, and editing data objects for each data instance included in software, Behavior can be easily modeled, and each data instance can be manipulated independently, eliminating the need for class inheritance or transformation inheritance, as well as selecting individual transformations and batch transformations of objects as needed. It is possible to modify the execution code in accordance with the present invention. Therefore, parallel processing is easy, software modeling is intuitively similar to the real world, and software development can be facilitated.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. I will understand. Accordingly, the technical scope of the present invention should be defined by the following claims.
110 : 데이터 객체 생성부 120 : 데이터 객체 관리부
130 : 수행 코드 관리부 140 : 실행부
200 : 저장부 300 : 입출력부110: Data object generation unit 120: Data object management unit
130: Execution code management unit 140: Execution unit
200: storage unit 300: input /
Claims (10)
상기 데이터 객체의 이동, 조합 및 소멸 중 적어도 하나를 수행하는 데이터 객체 관리부;
상기 데이터 객체에 대한 수행 정보를 생성 및 관리하는 수행 코드 관리부;
사용자로부터 상기 데이터 객체의 생성, 이동, 조합, 소멸 및 수행 코드의 편집 중 적어도 하나와 관련된 정보를 입력받고 사용자에게 상기 데이터 객체, 수행 코드 및 수행 코드 실행 결과 중 적어도 하나를 출력하는 입출력부; 및
상기 데이터 객체 및 수행 코드를 저장하는 저장부 및 상기 수행 코드를 실행하는 실행부를 포함하되,
상기 데이터 객체는 제1 이름 정보, 제2 이름 정보 및 제3 이름 정보를 포함하여 이루어지고, 상기 각 이름 정보는, 객체 식별자, 데이터 타입, 수행 코드 식별자, 수행 코드, 기억 장소, 변동 식별자, 관계 객체 식별자, 반환값, 메시지 및 null 중 하나이며, 상기 객체 식별자는 상기 각 이름 정보가 포함되어 있는 데이터 객체를 지칭하는 식별자이고, 상기 관계 객체 식별자는 상기 객체 식별자가 지칭하는 데이터 객체가 아닌 데이터 객체를 지칭하는 식별자이며, 상기 변동 식별자는 현재 식별자와 이전 식별자의 쌍으로 이루어지는 것을 특징으로 하는 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치.
A data object generation unit for generating a data object in response to a user input;
A data object manager for performing at least one of moving, combining, and destroying the data object;
An execution code manager for generating and managing execution information for the data object;
An input / output unit receiving information related to at least one of creation, movement, combination, destruction and editing of a data object from a user and outputting at least one of the data object, execution code and execution code execution result to the user; And
A storage unit for storing the data object and execution code, and an execution unit for executing the execution code,
Wherein the data object includes a first name information, a second name information and a third name information, wherein each name information includes at least one of an object identifier, a data type, an execution code identifier, an execution code, a storage location, Wherein the object identifier is an identifier indicating a data object in which each name information is included and the relational object identifier is a data object that is not a data object referred to by the object identifier, Wherein the variable identifier comprises a pair of a current identifier and a previous identifier, wherein the variable identifier is a pair of a current identifier and a previous identifier.
상기 데이터 객체 관리부는 하나 이상의 데이터 객체가 연결된 리스트를, 상기 리스트 상의 각 제1 데이터 객체에 대하여, 제1 이름 정보가 상기 리스트에서 상기 제1 데이터 객체의 직전 데이터 객체의 객체 식별자이고, 제2 이름 정보가 상기 제1 데이터 객체의 객체 식별자이며, 제3 이름 정보가 상기 리스트에서 상기 제1 데이터 객체의 직후 데이터 객체의 객체 식별자인 데이터 객체를 생성함으로써 표현하되, 상기 제1 데이터 객체가 상기 리스트의 최초 데이터 객체인 경우 제1 이름 정보가 null이고, 상기 제1 데이터 객체가 상기 리스트의 최후 데이터 객체인 경우 제3 이름 정보가 null인 것을 특징으로 하는 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치.
The method according to claim 1,
Wherein the data object management unit is operable to list, for each first data object on the list, one or more data object linked lists, wherein the first name information is an object identifier of a data object immediately preceding the first data object in the list, Wherein the first data object is an object identifier of the first data object and the third name information is an object identifier of a data object immediately after the first data object in the list, Wherein the first name information is null for the first data object and the third name information is null if the first data object is the last data object of the list.
상기 수행 코드 관리부는 제1 데이터 객체에 대한 수행 코드를, 상기 제1 데이터 객체로 시작되는 데이터 객체의 리스트와 변동 식별자의 쌍으로 표현되는 수행 정보를 생성하여 나타내는 것을 특징으로 하는 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치.
The method according to claim 1,
Wherein the execution code management unit generates execution codes represented by a pair of a list of data objects and a variable identifier starting with the first data object and indicates execution codes for the first data object, Software development device to use.
상기 수행 정보를 표현하는 쌍에 포함되는 데이터 객체의 리스트는 적어도 하나의 수행 코드 식별자를 포함하는 것을 특징으로 하는 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치.
The method of claim 3,
Wherein the list of data objects included in the pair representing the performance information comprises at least one execution code identifier.
상기 수행 정보를 표현하는 쌍에 포함되는 데이터 객체의 리스트는 적어도 하나의 반환값을 포함하는 것을 특징으로 하는 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치.
The method of claim 3,
Wherein the list of data objects included in the pair representing the performance information includes at least one return value.
상기 수행 코드 관리부는,
제1 변동 식별자 및 제1 리스트의 쌍으로 이루어지는 수행 정보에 대하여, 상기 제1 변동 식별자의 현재 식별자를 이전 식별자로 하는 제2 변동 식별자와 상기 제1 리스트의 쌍으로 이루어지는 변형 수행 정보를 생성하는 것을 특징으로 하는 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치.
The method according to claim 1,
The execution code management unit,
Generating second variation identifier having the current identifier of the first variation identifier as a previous identifier and deformation performance information comprising a pair of the first list with respect to performance information including a pair of the first variation identifier and the first list A software development device that utilizes a data-driven programming model.
상기 데이터 객체 관리부는,
제1 리스트를 시작하는 제1 데이터 객체 및 제2 리스트를 시작하는 제2 데이터 객체에 대하여,
상기 제1 리스트와 쌍을 이루는 제1 변동 식별자의 현재 식별자를 이전 식별자로 하고 상기 제1 및 제2 데이터 객체의 객체 식별자를 조합하여 생성한 현재 식별자를 가지는 제3 변동 식별자 및, 제1 데이터 객체와 제2 데이터 객체로 이루어지는 제3 리스트의 쌍으로 이루어지는 제1 수행 정보; 및
상기 제2 리스트와 쌍을 이루는 제2 변동 식별자의 현재 식별자를 이전 식별자로 하고 상기 제1 및 제2 데이터 객체의 객체 식별자를 조합하여 생성한 현재 식별자를 가지는 제4 변동 식별자 및, 상기 제3 리스트의 쌍으로 이루어지는 제2 수행 정보 중 적어도 하나를 생성하는 것을 특징으로 하는 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치.
The method according to claim 1,
Wherein the data object management unit comprises:
For a first data object starting a first list and a second data object starting a second list,
A third variable identifier having a current identifier generated by combining a current identifier of a first variable identifier paired with the first list as a previous identifier and an object identifier of the first and second data objects, And a third list consisting of a first data object and a second data object; And
A fourth variation identifier having a current identifier generated by combining a current identifier of a second variation identifier paired with the second list as a previous identifier and an object identifier of the first and second data objects, And a second execution information that is a pair of the first execution information and the second execution information.
상기 데이터 객체 관리부는,
상기 제1 리스트에서 상기 제1 데이터 객체의 직후 데이터 객체를 제3 데이터 객체로 대체한 제1 부분 리스트 뒤에 상기 제1 데이터 객체를 덧붙인 제4 리스트; 및
상기 제2 리스트에서 상기 제2 데이터 객체의 직후 데이터 객체를 제4 데이터 객체로 대체한 제2 부분 리스트 뒤에 상기 제2 데이터 객체를 덧붙인 제5 리스트 중 적어도 하나를 생성하고,
상기 제3 변동 식별자와 상기 제4 리스트의 쌍으로 이루어지는 제3 수행 정보 및 상기 제4 변동 식별자와 상기 제5 리스트의 쌍으로 이루어지는 제5 수행 정보 중 적어도 하나를 생성하는 것을 특징으로 하는 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치.
8. The method of claim 7,
Wherein the data object management unit comprises:
A fourth list in which the first data object is added to the first list after a first partial list in which a data object immediately after the first data object is replaced with a third data object; And
Generating a second list in which a second data object is added to a second partial list obtained by replacing a data object immediately after the second data object with a fourth data object in the second list,
And third performance information comprising a pair of the third variation identifier and the fourth list, and fifth performance information comprising a pair of the fourth variation identifier and the fifth list. Software development device using model.
(a) 상기 소프트웨어 개발 장치가 사용자의 입력에 응답하여 데이터 객체 생성부를 통해 데이터 객체를 생성하도록 하는 단계;
(b) 상기 소프트웨어 개발 장치가 사용자의 입력에 응답하여 데이터 객체 관리부를 통해 상기 데이터 객체의 이동, 조합 및 소멸 중 적어도 하나를 수행하도록 하는 단계;
(c) 상기 소프트웨어 개발 장치가 상기 데이터 객체에 대한 수행 정보에 포함되는 수행 코드를 수행 코드 관리부로 편집하도록 하는 단계; 및
(d) 상기 소프트웨어 개발 장치가 사용자의 입력에 응답하여 실행부를 통해 상기 수행 코드를 실행하도록 하는 단계;를 포함하되,
상기 데이터 객체는 제1 이름 정보, 제2 이름 정보 및 제3 이름 정보를 포함하여 이루어지고, 상기 각 이름 정보는, 객체 식별자, 데이터 타입, 수행 코드 식별자, 수행 코드, 기억 장소, 변동 식별자, 관계 객체 식별자, 반환값, 메시지 및 null 중 하나이며, 상기 객체 식별자는 상기 각 이름 정보가 포함되어 있는 데이터 객체를 지칭하는 식별자이고, 상기 관계 객체 식별자는 상기 객체 식별자가 지칭하는 데이터 객체가 아닌 데이터 객체를 지칭하는 식별자이며, 상기 변동 식별자는 현재 식별자와 이전 식별자의 쌍으로 이루어지는 것을 특징으로 하는 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치를 이용한 방법.
A method of using a software development apparatus using a data-based programming model,
(a) causing the software development apparatus to generate a data object through a data object creation unit in response to a user input;
(b) causing the software development device to perform at least one of moving, combining, and destroying the data object through the data object manager in response to a user input;
(c) causing the software development apparatus to edit an execution code included in execution information on the data object to an execution code management unit; And
(d) causing the software development apparatus to execute the execution code via an execution unit in response to a user's input,
Wherein the data object includes a first name information, a second name information and a third name information, wherein each name information includes at least one of an object identifier, a data type, an execution code identifier, an execution code, a storage location, Wherein the object identifier is an identifier indicating a data object in which each name information is included and the relational object identifier is a data object that is not a data object referred to by the object identifier, Wherein the variable identifier is a pair of a current identifier and a previous identifier, wherein the variable identifier is a pair of a current identifier and a previous identifier.
상기 제 (b) 단계는,
(b-1) 상기 소프트웨어 개발 장치가 사용자의 입력에 응답하여 데이터 객체 관리부를 통해 상기 데이터 객체의 이동, 조합 및 소멸 중 적어도 하나를 수행하도록 하되,
상기 데이터 객체 관리부는 하나 이상의 데이터 객체가 연결된 리스트 상의 각 제1 데이터 객체에 대하여, 제1 이름 정보가 상기 리스트에서 상기 제1 데이터 객체의 직전 데이터 객체의 객체 식별자이고, 제2 이름 정보가 상기 제1 데이터 객체의 객체 식별자이며, 제3 이름 정보가 상기 리스트에서 상기 제1 데이터 객체의 직후 데이터 객체의 객체 식별자인 데이터 객체를 생성하며,
상기 제1 데이터 객체가 상기 리스트의 최초 데이터 객체인 경우 제1 이름 정보가 null이고, 상기 제1 데이터 객체가 상기 리스트의 최후 데이터 객체인 경우 제3 이름 정보가 null인 것을 특징으로 하는 데이터 기반 프로그래밍 모델을 이용하는 소프트웨어 개발 장치를 이용한 방법.
10. The method of claim 9,
The step (b)
(b-1) causing the software development apparatus to perform at least one of moving, combining, and destroying the data object through the data object management unit in response to a user's input,
Wherein the data object management unit is operable, for each first data object on the list to which one or more data objects are linked, that the first name information is an object identifier of a data object immediately preceding the first data object in the list, 1 < / RTI > data object, the third name information being an object identifier of a data object immediately after the first data object in the list,
Wherein the first name information is null if the first data object is the first data object of the list and the third name information is null if the first data object is the last data object of the list. A method using a software development device using a model.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020150056198A KR101636455B1 (en) | 2015-04-21 | 2015-04-21 | Apparatus and method for development of software using data oriented programming model |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020150056198A KR101636455B1 (en) | 2015-04-21 | 2015-04-21 | Apparatus and method for development of software using data oriented programming model |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR101636455B1 true KR101636455B1 (en) | 2016-07-06 |
Family
ID=56502631
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020150056198A Active KR101636455B1 (en) | 2015-04-21 | 2015-04-21 | Apparatus and method for development of software using data oriented programming model |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR101636455B1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR0150260B1 (en) | 1994-12-23 | 1998-10-15 | 양승택 | Object modelling technique meta mode system |
| KR20020000377A (en) * | 2000-06-24 | 2002-01-05 | 서평원 | Method for client software modeling in client/server system |
| US20090006440A1 (en) * | 2007-06-26 | 2009-01-01 | Microsoft Corporation | Object Model Based Mapping |
| US20140032617A1 (en) * | 2012-07-24 | 2014-01-30 | Craig W. Stanfill | Mapping entities in data models |
| KR20140042169A (en) * | 2012-09-28 | 2014-04-07 | 삼성에스디에스 주식회사 | Apparatus and method for converting value object |
-
2015
- 2015-04-21 KR KR1020150056198A patent/KR101636455B1/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR0150260B1 (en) | 1994-12-23 | 1998-10-15 | 양승택 | Object modelling technique meta mode system |
| KR20020000377A (en) * | 2000-06-24 | 2002-01-05 | 서평원 | Method for client software modeling in client/server system |
| US20090006440A1 (en) * | 2007-06-26 | 2009-01-01 | Microsoft Corporation | Object Model Based Mapping |
| US20140032617A1 (en) * | 2012-07-24 | 2014-01-30 | Craig W. Stanfill | Mapping entities in data models |
| KR20140042169A (en) * | 2012-09-28 | 2014-04-07 | 삼성에스디에스 주식회사 | Apparatus and method for converting value object |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2021007736A (en) | Method, device, and apparatus for editing voice skill game, and readable storage medium | |
| CN102959511B (en) | Gui program is made servicing unit, gui program is made householder method, program and integrated circuit | |
| CN106528165A (en) | Code generation method and code generation system | |
| JP2011013750A (en) | Automatic designing apparatus, automatic designing method and automatic designing program for automatically designing design architecture of system component | |
| CN110955850A (en) | A Processing Method of Componentized Tree Control | |
| CN117453713A (en) | SQL sentence generation method, device and storage medium for multi-type database | |
| CN104281604B (en) | Method and system for generating Target Link data dictionary hierarchical tree | |
| CN106815022A (en) | A kind of general UI interface creating methods and device based on tree data structure | |
| JP6370503B1 (en) | Program creation device | |
| CN113553635B (en) | Method, device, electronic equipment and storage medium for configuring graphic primitive of gallery | |
| JP2008225898A (en) | Conversion device, conversion program, and conversion method | |
| CN107491311B (en) | Method and system for generating page file and computer equipment | |
| CN107220044B (en) | Method and device for driving business object based on meta-model | |
| CN118760485A (en) | State machine model construction method, operation method, operation device and storage medium | |
| KR101636455B1 (en) | Apparatus and method for development of software using data oriented programming model | |
| CN112988142A (en) | Attribute table generation method and device | |
| US9098263B2 (en) | Database application assembly and preparation | |
| CN117707530A (en) | Application program page generation method and device, storage medium and electronic equipment | |
| KR101765324B1 (en) | Sources code generating apparatus using structured query language and diagram, and method for processing thereof | |
| KR101655157B1 (en) | Apparatus and method for work process modeling using data oriented programming model | |
| CN114721647B (en) | An Object-Oriented Programming Method Based on Codeless Application Development | |
| CN111930387B (en) | Integration method and device of integration package, electronic equipment and storage medium | |
| JPH064280A (en) | Graphical user interface having function of user control for object with wysiwyg type editor | |
| JP2019121087A (en) | Information processing apparatus, processing method thereof, and program | |
| JP6647954B2 (en) | Design document input / output device, design document input / output system, and design document input / output method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20150421 |
|
| PA0201 | Request for examination | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160205 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20160523 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20160629 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20160630 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| FPAY | Annual fee payment |
Payment date: 20190615 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20190615 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20210602 Start annual number: 6 End annual number: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20230628 Start annual number: 8 End annual number: 8 |
|
| PR1001 | Payment of annual fee |
Payment date: 20240629 Start annual number: 9 End annual number: 9 |
|
| PR1001 | Payment of annual fee |
Payment date: 20250630 Start annual number: 10 End annual number: 10 |