KR102300005B1 - Method and system for assisting software development using connection of graphic objects, each representing a software component - Google Patents

Method and system for assisting software development using connection of graphic objects, each representing a software component Download PDF

Info

Publication number
KR102300005B1
KR102300005B1 KR1020210029675A KR20210029675A KR102300005B1 KR 102300005 B1 KR102300005 B1 KR 102300005B1 KR 1020210029675 A KR1020210029675 A KR 1020210029675A KR 20210029675 A KR20210029675 A KR 20210029675A KR 102300005 B1 KR102300005 B1 KR 102300005B1
Authority
KR
South Korea
Prior art keywords
graphic object
actor
displaying
source
graphic
Prior art date
Application number
KR1020210029675A
Other languages
Korean (ko)
Inventor
김영효
Original Assignee
주식회사 스트라토아이티
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 주식회사 스트라토아이티 filed Critical 주식회사 스트라토아이티
Priority to KR1020210029675A priority Critical patent/KR102300005B1/en
Priority to KR1020210117092A priority patent/KR20220125658A/en
Application granted granted Critical
Publication of KR102300005B1 publication Critical patent/KR102300005B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Abstract

Provided is a software development method which allows for manipulation of connections between software component representations and graphic objects. According to an embodiment of the disclosure, the software development method includes the steps of: displaying a first graphic object pointing to a first source object and a second graphic object pointing to a second source object in a unit design view of a plurality of views provided by program development software; and automatically modifying a source code so that a reference to the second source object is added to the first source object.

Description

소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결 조작을 이용한 소프트웨어 개발 어시스트 방법 및 그 시스템{METHOD AND SYSTEM FOR ASSISTING SOFTWARE DEVELOPMENT USING CONNECTION OF GRAPHIC OBJECTS, EACH REPRESENTING A SOFTWARE COMPONENT}A software development assist method and system using connection operation between each graphic object representing a software component

본 게시는 소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결 조작을 이용한 소프트웨어 개발 어시스트 방법 및 그 시스템에 관한 것이다. 보다 자세하게는, GUI(Graphic User Interface) 환경 기반의 통합 개발 환경(Integrated Development Environment; IDE) 등에서 제공될 수 있는 소프트웨어 컴포넌트 표현 그래픽 객체 간의 연결 조작을 고려하는 프로그램 개발 환경 제공 방법 및 그 시스템에 관한 것이다.This publication relates to a software development assist method and system using connection manipulation between respective graphic objects representing software components. More particularly, it relates to a method and system for providing a program development environment that considers connection manipulation between software component expression graphic objects that can be provided in an integrated development environment (IDE) based on a graphic user interface (GUI) environment, etc. .

통합 개발 환경(IDE)은 개발자의 생산성을 증대 시키기 위하여 프로그램 개발 과정에서 필요한 코딩, 디버깅, 컴파일, 배포 등 다양한 요소들이 통합된 소프트웨어이다. 통합 개발 환경은 GUI 기반의 인터페이스를 제공하는 방향으로 발전해 왔다. 예시적인 통합 개발 환경으로서, 이클립스(Eclipse), 비주얼 스튜디오(Visual Studio) 등을 들 수 있다.An integrated development environment (IDE) is software in which various elements such as coding, debugging, compilation, and distribution necessary in the program development process are integrated in order to increase developer productivity. The integrated development environment has evolved in the direction of providing a GUI-based interface. Examples of the integrated development environment include Eclipse, Visual Studio, and the like.

통합 개발 환경에 있어서, 프로그래밍 경험이 많지 않은 개발자도 쉽게 개발을 진행할 수 있는 가이드를 제공하는 것이 필요하다. 이를 위하여, 직관적인 사용자 입력을 통하여 코드의 기본 틀을 최대한 세팅해 주는 기능을 제공하는 것이 바람직하다.In the integrated development environment, it is necessary to provide a guide that enables developers with little programming experience to proceed easily. To this end, it is desirable to provide a function for maximally setting the basic frame of the code through an intuitive user input.

미국등록특허 제7613599호US Patent No. 7613599 미국공개특허 제2013-0086551호US Patent Publication No. 2013-0086551

본 게시의 몇몇 실시예들을 통하여 달성하고자 하는 기술적 과제는, 소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결(connection)이라는 조작을 소스 코드 상에 반영함으로써, 소스 코드 상의 프로토타입(prototype)을 세팅하는 소프트웨어 개발 어시스트 방법 및 그 시스템을 제공하는 것이다.The technical task to be achieved through some embodiments of this publication is to set a prototype on the source code by reflecting the manipulation of the connection between each graphic object representing the software component on the source code. A software development assist method and system are provided.

본 게시의 다른 몇몇 실시예들을 통하여 달성하고자 하는 기술적 과제는, 소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결(connection)이라는 조작에 새로운 의미를 부여하고, 이러한 의미를 소스 코드 상에 반영하는 소프트웨어 개발 어시스트 방법 및 그 시스템을 제공하는 것이다.The technical task to be achieved through some other embodiments of this publication is to give a new meaning to the manipulation of the connection between each graphic object representing the software component, and to develop software that reflects this meaning on the source code An assist method and system are provided.

본 게시의 또 다른 몇몇 실시예들을 통하여 달성하고자 하는 기술적 과제는, 특정 동작을 수행하는 하드웨어 파트에 대응되는 액터(actor) 및 상기 액터 간의 메시지 송수신을 통하여 동작하는 제어 소프트웨어의 개발 어시스트 방법 및 그 시스템을 제공하는 것이다.A technical task to be achieved through some other embodiments of this publication is an actor corresponding to a hardware part performing a specific operation, and a method and system for assisting development of control software that operates through message transmission/reception between the actors is to provide

본 게시의 또 다른 몇몇 실시예들을 통하여 달성하고자 하는 기술적 과제는, 생산 설비 등 머신(machine)에서 동작하는 제어 소프트웨어를 위한 프로토타이핑을 보조하는 직관적 GUI를 제공하는 방법 및 그 시스템을 제공하는 소프트웨어 개발 어시스트 방법 및 그 시스템을 제공하는 것이다.The technical task to be achieved through some other embodiments of the present disclosure is a method for providing an intuitive GUI assisting prototyping for control software operating in a machine such as a production facility, and software development providing the system An assist method and system are provided.

본 게시의 또 다른 몇몇 실시예들을 통하여 달성하고자 하는 기술적 과제는, 상위 개념의 소프트웨어 컴포넌트 사이의 연결(connect)을 가리키는 GUI 기반 사용자 입력에 따른 사항을 소스 코드에 반영하고, 특정 소프트웨어 컴포넌트 내부의 하위 개념의 모듈 사이의 연결을 가리키는 GUI 기반 사용자 입력에 따른 사항을 상기 소프트웨어 컴포넌트의 소스 코드에 반영함으로써, 계층적 프로토타이핑을 지원하는 소프트웨어 개발 어시스트 방법 및 그 시스템을 제공하는 것이다.The technical task to be achieved through some other embodiments of this publication is to reflect the matter according to the GUI-based user input indicating the connection between the higher-level software components to the source code, and to It is to provide a software development assist method and a system for supporting hierarchical prototyping by reflecting matters according to a GUI-based user input indicating a connection between conceptual modules in the source code of the software component.

본 게시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of this publication are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

본 게시의 일 실시예에 따른 소프트웨어 개발 방법은, 제1 소스 개체를 가리키는 제1 그래픽 객체와 제2 소스 개체를 가리키는 제2 그래픽 객체를 프로그램 개발 소프트웨어에 의하여 제공되는 복수의 뷰 중 유닛 설계 뷰에 디스플레이 하는 단계와, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 사용자 입력이 입력되면, 상기 제1 소스 개체가 상기 제2 소스 개체에 대한 레퍼런스를 포함하도록 상기 제1 소스 개체의 소스 코드를 자동으로 수정하는 단계를 포함할 수 있다.A software development method according to an embodiment of the present disclosure includes a first graphic object pointing to a first source object and a second graphic object pointing to a second source object in a unit design view among a plurality of views provided by program development software. displaying; and when a user input in the unit design view connecting the first graphic object and the second graphic object is input, the first source object includes a reference to the second source object. 1 may include automatically modifying the source code of the source object.

일 실시예에서, 상기 프로그램 개발 소프트웨어는 복수의 액터(Actor)들과 상기 복수의 액터들 사이에 송수신 되는 메시지를 구성 요소로 포함 하는 머신(machine)의 구동 프로그램 개발을 위한 통합 개발 환경(Integrated Development Environment; IDE)이고, 상기 제1 소스 개체는 상기 복수의 액터들 중 제1 액터를 구현한 소스 개체이고, 상기 제2 소스 개체는 상기 복수의 액터들 중 제2 액터를 구현한 소스 개체일 수 있다. 이 때, 상기 제1 액터 및 상기 제2 액터는 상기 프로그램 개발 소프트웨어에 의하여 디폴트로 제공되는 빌트인 액터 또는 상기 빌트인 액터를 서브클래싱(subclassing)한 서브클래싱 액터이고, 상기 빌트인 액터는 수신자 빌트인 액터로의 메시지 송신 기능을 제공하는 메시지 송신 함수를 제공하되, 상기 빌트인 액터의 소스 객체에 상기 수신자 빌트인 액터의 인스턴스를 가리키는 레퍼런스가 포함된 것이고, 상기 소스 코드를 수정하는 단계는, 상기 소스 코드의 수정 이후 상기 제1 액터에서 상기 제2 액터로의 메시지 송신을 위한 상기 메시지 송신 함수의 코드 입력 가이드 UI를 상기 제1 소스 객체의 코드 뷰에 표시하는 단계를 포함할 수 있다.In an embodiment, the program development software includes a plurality of actors and a message transmitted and received between the plurality of actors as a component of an integrated development environment for developing a program for driving a machine. Environment; IDE), the first source entity may be a source entity implementing a first actor among the plurality of actors, and the second source entity may be a source entity implementing a second actor among the plurality of actors. have. In this case, the first actor and the second actor are a built-in actor provided by default by the program development software or a subclassing actor that subclasses the built-in actor, and the built-in actor is a receiver built-in actor Provide a message sending function that provides a message sending function to, wherein the source object of the built-in actor includes a reference pointing to an instance of the receiver built-in actor, and the step of modifying the source code includes: Thereafter, the method may include displaying a code input guide UI of the message sending function for sending a message from the first actor to the second actor on the code view of the first source object.

또한, 상기 소프트웨어 개발 방법은, 상기 제2 액터의 인스턴스를 가리키는 레퍼런스를 포함하도록 서브클래싱된 제1 액터를 새로운 유닛으로 생성하는 상기 유닛 설계 뷰에서의 사용자 입력을 입력 받는 것에 응답하여, 상기 제1 액터의 서브클래싱 액터를 가리키는 제4 그래픽 객체를 상기 유닛 설계 뷰에 추가로 디스플레이 하는 단계와, 상기 제4 그래픽 객체에 상기 제2 액터가 연결되어야 하는 것을 가리키는 경고 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계를 더 포함할 수 있다. 이 때, 상기 경고 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계는 상기 제4 그래픽 객체에 대한 소정의 사용자 입력이 입력되면, 상기 유닛 설계 뷰에 표시된 그래픽 객체 중 타입이 액터이고 이름이 상기 제2 액터의 이름과 가장 일치하는 그래픽 객체를 슬레이브 그래픽 객체 후보로 제안하는 연결 제안 그래픽 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계를 포함할 수 있다. 또한, 상기 경고 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계는 상기 경고 표시를 상기 제4 그래픽 객체의 인접 위치에 디스플레이 하는 단계를 포함할 수 있다. 또한, 상기 경고 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계는, 상기 제4 그래픽 객체에 상기 제2 액터가 연결되어야 하는 것을 가리키는 경고 표시에 대한 소정의 사용자 입력에 응답하여, 제거(delete) 메뉴를 디스플레이 하는 단계와, 상기 제거 메뉴 선택의 사용자 입력에 응답하여, 상기 제4 그래픽 객체에 상기 제2 액터가 연결되어야 하는 것을 가리키는 경고 표시가 제거되고 상기 제1 그래픽 객체와 상기 제2 그래픽 객체의 연결 그래픽 객체가 제거되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계와, 상기 제1 소스 개체에 자동으로 추가된 상기 제2 소스 개체에 대한 레퍼런스가 삭제되도록 소스 코드를 자동으로 수정하는 단계를 포함할 수 있다. 또한, 상기 제1 액터는 상기 복수의 액터들 중 제3 액터를 가리키는 레퍼런스를 더 포함하도록 서브클래싱 된 것이고, 상기 경고 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계는, 상기 제2 액터 및 상기 제3 액터가 상기 제4 그래픽 객체에 연결되어야 하는 것을 가리키는 경고 표시를 디스플레이 하는 단계와, 상기 제4 그래픽 객체 또는 상기 경고 표시에 대한 소정의 사용자 입력을 입력 받는 것에 응답하여, Add Members 메뉴를 디스플레이 하는 단계와, 상기 Add Members 메뉴를 선택하는 사용자 입력을 입력 받는 것에 응답하여, 상기 제4 그래픽 객체에 제2 액터의 그래픽 객체와 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계와, 상기 제2 액터에 대한 레퍼런스 및 상기 제3 액터에 대한 레퍼런스가 상기 제4 그래픽 객체의 소스 개체에 자동으로 추가되도록 소스 코드를 수정 하는 단계를 포함할 수 있다. 이 때, 상기 제4 그래픽 객체에 제2 액터의 그래픽 객체와 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계는, 상기 제4 그래픽 객체에, 신규로 생성된 제2 액터의 그래픽 객체와 신규로 생성된 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계를 포함할 수 있다. 또한, 상기 제4 그래픽 객체에 제2 액터의 그래픽 객체와 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계는, 상기 제4 그래픽 객체에, 상기 유닛 설계 뷰에 기 생성된 제2 액터의 그래픽 객체와 상기 유닛 설계 뷰에 기 생성된 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계를 포함할 수 있다. 또한, 상기 제1 액터는 제1 타입의 제1 값 및 제2 타입의 제2 값을 포함하는 기 지정된 세트의 커널 데이터로 초기 구성된 밸류 구조체를 구현한 소스 개체에 대한 레퍼런스를 더 포함하도록 서브클래싱 된 것이고, 상기 Add Members 메뉴를 선택하는 사용자 입력을 입력 받는 것에 응답하여, 상기 제4 그래픽 객체에 제2 액터의 그래픽 객체와 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계는, 상기 제4 그래픽 객체에, 신규로 생성된 제2 액터의 그래픽 객체와 신규로 생성된 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하는 단계와, 상기 제4 그래픽 객체에, 상기 유닛 설계 뷰에 기 생성된 상기 밸류 구조체를 구현한 소스 개체의 그래픽 객체가 더 연결되도록 상기 유닛 설계 뷰를 업데이트 하는 단계를 포함할 수 있다In addition, the software development method may include, in response to receiving a user input in the unit design view creating a new unit a first actor subclassed to include a reference pointing to an instance of the second actor, further displaying in the unit design view a fourth graphic object indicating a subclassing actor of one actor; and displaying a warning indication indicating that the second actor should be connected to the fourth graphic object in the unit design view. It may further include the step of displaying. In this case, in the step of displaying the warning indication on the unit design view, when a predetermined user input for the fourth graphic object is input, the type of the graphic object displayed in the unit design view is an actor and the name is the second actor and displaying, on the unit design view, a connection suggestion graphic display that proposes a graphic object that most matches the name of , as a slave graphic object candidate. Also, the displaying of the warning indication on the unit design view may include displaying the warning indication at a position adjacent to the fourth graphic object. In addition, the step of displaying the warning indication on the unit design view may include, in response to a predetermined user input for a warning indication indicating that the second actor should be connected to the fourth graphic object, a delete menu. displaying and in response to a user input of the removal menu selection, a warning mark indicating that the second actor should be connected to the fourth graphic object is removed, and the connection between the first graphic object and the second graphic object is removed updating and displaying the unit design view so that a graphic object is removed; and automatically modifying the source code so that a reference to the second source object automatically added to the first source object is deleted. have. In addition, the first actor is subclassed to further include a reference pointing to a third actor among the plurality of actors, and the step of displaying the warning indication in the unit design view includes the second actor and the second actor. 3 displaying a warning mark indicating that the actor should be connected to the fourth graphic object; and displaying an Add Members menu in response to receiving a predetermined user input for the fourth graphic object or the warning display. In response to receiving a user input for selecting the Add Members menu, updating and displaying the unit design view so that the graphic object of the second actor and the graphic object of the third actor are connected to the fourth graphic object and modifying the source code so that the reference to the second actor and the reference to the third actor are automatically added to the source object of the fourth graphic object. In this case, the step of updating and displaying the unit design view so that the graphic object of the second actor and the graphic object of the third actor are connected to the fourth graphic object may include, in the fourth graphic object, the newly created second graphic object. The method may include updating and displaying the unit design view so that the graphic object of the actor and the graphic object of the newly created third actor are connected. In addition, the step of updating and displaying the unit design view so that the graphic object of the second actor and the graphic object of the third actor are connected to the fourth graphic object includes generating the unit design view in the fourth graphic object and in the unit design view. The method may include updating and displaying the unit design view so that the graphic object of the second actor and the graphic object of the third actor previously created are connected to the unit design view. In addition, the first actor is subclassed to further include a reference to a source entity implementing a value structure initially composed of a predetermined set of kernel data including a first value of a first type and a second value of a second type. In response to receiving a user input for selecting the Add Members menu, the unit design view is updated and displayed so that the graphic object of the second actor and the graphic object of the third actor are connected to the fourth graphic object. The step of: updating the unit design view so that the newly created graphic object of the second actor and the newly created graphic object of the third actor are connected to the fourth graphic object; The method may include updating the unit design view so that the graphic object of the source entity implementing the value structure created in advance is further connected to the unit design view.

몇몇 실시예에서, 상기 제1 소스 개체는 상기 복수의 액터들 중 제1 액터를 구현한 소스 개체고, 상기 제2 소스 개체는 제1 타입의 제1 값 및 제2 타입의 제2 값을 포함하는 기 지정된 세트의 커널 데이터로 초기 구성된 밸류 구조체를 구현한 소스 개체이며, 상기 디스플레이 하는 단계는 상기 제2 그래픽 객체를 선택하는 상기 유닛 설계 뷰에서의 사용자 입력에 응답하여, 상기 밸류 구조체에 포함되는 각각의 값, 타입 또는 변수명을 편집하기 위한 프로퍼티 뷰를 디스플레이 하는 단계를 포함할 수 있다.In some embodiments, the first source entity is a source entity that implements a first one of the plurality of actors, and the second source entity includes a first value of a first type and a second value of a second type. It is a source object that implements a value structure initially composed of a predetermined set of kernel data, wherein the displaying is included in the value structure in response to a user input in the unit design view that selects the second graphic object It may include displaying a property view for editing each value, type, or variable name.

몇몇 실시예에서, 상기 소스 코드를 자동으로 수정하는 단계는, 상기 유닛 설계 뷰에서의 사용자 입력들을 반영하기 위한 유닛 설계 저장 입력이 입력되는 것에 응답하여, 상기 소스 코드를 상기 사용자 입력들이 일괄 반영되도록 상기 소스 코드를 수정하는 단계를 포함할 수 있다.In some embodiments, the automatically modifying the source code comprises: in response to a unit design storage input for reflecting user inputs in the unit design view being input, converting the source code so that the user inputs are collectively reflected It may include modifying the source code.

몇몇 실시예에서, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에 대한 사용자 입력은 상기 제1 그래픽 객체 및 상기 제2 그래픽 객체에 대한 순차적인 선택을 포함할 수 있다. 이 때, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에 대한 사용자 입력은, 상기 제1 그래픽 객체 및 상기 제2 그래픽 객체에 대한 순차적인 선택과, 상기 순차적인 선택이 완성되는 것에 응답하여 자동으로 표시되는 다이얼로그를 통한, 상기 제2 소스 개체의 레퍼런스 이름의 타이핑 입력을 포함할 수 있다.In some embodiments, the user input for the unit design view connecting the first graphic object and the second graphic object may include sequential selection of the first graphic object and the second graphic object. At this time, the user input to the unit design view connecting the first graphic object and the second graphic object is a sequential selection of the first graphic object and the second graphic object, and the sequential selection is and typing input of the reference name of the second source entity via a dialog that is automatically displayed in response to completion.

몇몇 실시예에서, 상기 소프트웨어 개발 방법은, 상기 제1 소스 개체의 소스 코드를 표시하는 코드 뷰를 디스플레이 하는 단계를 더 포함할 수 있다. 이 때, 상기 코드 뷰를 디스플레이 하는 단계는, 상기 제1 소스 개체의 소스 코드에 자동으로 추가된 상기 제2 소스 개체에 대한 레퍼런스를 사용자에 의하여 입력된 소스 코드와 시각적으로 구별되도록 디스플레이 하는 단계와, 상기 시각적으로 구별되도록 디스플레이 된 제2 소스 개체에 대한 레퍼런스에 대한 소정의 사용자 입력에 응답하여, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 연결 그래픽 객체가 하이라이트 된 유닛 설계 뷰를 디스플레이 하는 단계를 포함할 수 있다.In some embodiments, the software development method may further include displaying a code view displaying the source code of the first source entity. In this case, the step of displaying the code view includes: displaying a reference to the second source object automatically added to the source code of the first source object to be visually distinguished from the source code input by the user; , in response to a predetermined user input for a reference to a second source object displayed to be visually distinct, displaying a unit design view in which a connection graphic object connecting the first graphic object and the second graphic object is highlighted. may include the step of

몇몇 실시예에서, 상기 소스 코드를 자동으로 수정하는 단계는 상기 사용자 입력에 응답하여 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 연결 그래픽 객체를 상기 유닛 설계 뷰에 상기 제1 그래픽 객체 및 상기 제2 그래픽 객체와 함께 디스플레이 하는 단계를 포함할 수 있다. 이 때, 상기 소프트웨어 개발 방법은, 상기 연결 그래픽 객체에 대한 소정의 사용자 입력에 응답하여, 상기 자동으로 추가된 제2 소스 개체에 대한 레퍼런스를 표시하는 코드 뷰를 디스플레이 하는 단계를 더 포함할 수 있다.In some embodiments, the step of automatically modifying the source code includes adding a connection graphic object connecting the first graphic object and the second graphic object to the unit design view in response to the user input, the first graphic object and It may include displaying the second graphic object together. In this case, the software development method may further include, in response to a predetermined user input for the connected graphic object, displaying a code view displaying a reference to the automatically added second source object. .

몇몇 실시예에서, 상기 소스 코드를 자동으로 수정하는 단계는, 비활성화된 상태의 상기 제2 소스 개체에 대한 레퍼런스를 상기 제1 소스 개체에 자동으로 추가하는 단계와, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 제1 상태의 연결 그래픽 객체를 상기 유닛 설계 뷰에 디스플레이 하는 단계와, 상기 제1 상태의 연결 그래픽 객체에 대한 소정의 사용자 입력에 응답하여, 상기 비활성화된 상태의 제2 소스 개체에 대한 레퍼런스를 소스 코드 상에서 활성화 하는 단계와, 상기 제1 상태의 연결 그래픽 객체를 제2 상태의 연결 그래픽 객체로 업데이트 하여 디스플레이 하는 단계를 포함할 수 있다.In some embodiments, automatically modifying the source code comprises: automatically adding a reference to the second source object in a deactivated state to the first source object; displaying a connected graphic object in a first state connecting two graphic objects on the unit design view; It may include activating a reference to the object in the source code, and updating and displaying the connected graphic object in the first state to the connected graphic object in the second state.

몇몇 실시예에서, 상기 소스 코드를 자동으로 수정하는 단계는, 비활성화된 상태의 상기 제2 소스 개체에 대한 레퍼런스를 상기 제1 소스 개체에 자동으로 추가하는 단계와, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 제1 상태의 연결 그래픽 객체를 상기 유닛 설계 뷰에 디스플레이 하는 단계와, 상기 제1 상태의 연결 그래픽 객체에 대한 소정의 사용자 입력에 응답하여, 상기 비활성화된 상태의 제2 소스 개체에 대한 레퍼런스를 표시하는 소스 코드 뷰를 디스플레이 하는 단계와, 상기 소스 코드 뷰를 통한 상기 제2 소스 개체에 대한 레퍼런스 관련 소스 코드 수정을 분석하고, 상기 분석의 결과 상기 제2 소스 개체에 대한 레퍼런스가 활성화된 것으로 판단된 경우, 상기 제1 상태의 연결 그래픽 객체를 제2 상태의 연결 그래픽 객체로 업데이트 하여 디스플레이 하는 단계를 포함할 수 있다.In some embodiments, automatically modifying the source code comprises: automatically adding a reference to the second source object in a deactivated state to the first source object; displaying a connected graphic object in a first state connecting two graphic objects on the unit design view; Displaying a source code view displaying a reference to the object, and analyzing the source code modification related to the reference to the second source object through the source code view, and as a result of the analysis, the reference to the second source object is determined to be activated, updating and displaying the connected graphic object in the first state to the connected graphic object in the second state.

몇몇 실시예에서, 상기 소스 코드를 자동으로 수정하는 단계는, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 연결 그래픽 객체를 상기 유닛 설계 뷰에 디스플레이 하는 단계를 포함할 수 있다. 이 때, 상기 연결 그래픽 객체를 상기 유닛 설계 뷰에 디스플레이 하는 단계는 상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계를 포함할 수 있다. 이 때, 상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계는, 상기 제1 그래픽 객체의 아웃고잉(outgoing) 연결 그래픽 객체가 상기 제1 그래픽 객체에 연결되는 영역에 형성된 아웃고잉 와이어리스 영역에 대한 선택 사용자 입력에 응답하여, 상기 제1 그래픽 객체의 모든 아웃고잉 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계를 포함할 수 있다. 또한, 상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계는, 상기 제2 그래픽 객체의 인커밍(incoming) 연결 그래픽 객체가 상기 제2 그래픽 객체에 연결되는 영역에 형성된 인커밍 와이어리스 영역에 대한 선택 사용자 입력에 응답하여, 상기 제2 그래픽 객체의 모든 인커밍 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계를 포함할 수 있다. 또한, 상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계는, 상기 유닛 설계 뷰의 그래픽 객체 밀도(density)를 측정하는 단계와, 상기 측정된 그래픽 객체 밀도에 기초하여, 상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이할지 여부를 결정하는 단계를 포함할 수 있다. 이 때, 상기 그래픽 객체 밀도를 측정하는 단계는 연결 그래픽 객체의 그래픽 객체 밀도를 측정하는 단계를 포함할 수 있다. 또한, 상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계는 상기 연결 그래픽 객체의 중심점을 기준으로 한 소정 영역에서의 그래픽 객체 밀도(density)를 측정하는 단계와, 상기 측정된 그래픽 객체 밀도에 기초하여, 상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이할지 여부를 결정하는 단계를 포함할 수 있다.In some embodiments, the automatically modifying the source code may include displaying a connection graphic object connecting the first graphic object and the second graphic object on the unit design view. In this case, the step of displaying the connected graphic object on the unit design view may include displaying the connected graphic object in a linear form in which a part of the center is erased. In this case, the step of linearly displaying the connection graphic object in a form in which a part of the center is erased is an outgoing wireless connection formed in an area in which an outgoing connection graphic object of the first graphic object is connected to the first graphic object. In response to a selection user input for a region, the method may include displaying all outgoing connection graphic objects of the first graphic object in a linear form in which a part of the center is erased. In addition, the step of linearly displaying the connection graphic object in a form in which a part of the center is erased may include an incoming wireless region formed in a region in which an incoming connection graphic object of the second graphic object is connected to the second graphic object. In response to a selection user input for , displaying all incoming connection graphic objects of the second graphic object in a form in which a part of the center is erased linearly. In addition, the step of linearly displaying the connected graphic object in a form in which a part of the center is erased includes measuring the graphic object density of the unit design view, and based on the measured graphic object density, the connected graphic object The method may include determining whether to display the object in a linear form in which a part of the center is erased. In this case, the measuring of the graphic object density may include measuring the graphic object density of the connected graphic object. In addition, the step of linearly displaying the connected graphic object in a form in which a part of the center is erased includes measuring a density of a graphic object in a predetermined area based on a center point of the connected graphic object, and the measured graphic object The method may include determining whether to linearly display the connected graphic object in a form in which a part of the center is erased, based on the density.

몇몇 실시예에서, 상기 소프트웨어 개발 방법은, 하나 이상의 그래픽 객체와 상기 제1 그래픽 객체를 더 연결하는 상기 유닛 설계 뷰에서의 사용자 입력을 입력 받되, 상기 그래픽 객체 각각은 소스 개체와 일대일 대응되는 것인 단계와, 상기 유닛 설계 뷰에 디스플레이 되는 제1 tie 그래픽 객체에 상기 제2 그래픽 객체 및 상기 하나 이상의 그래픽 객체 중 둘 이상을 삽입하는 사용자 입력을 입력 받는 것에 응답하여, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체를 상기 유닛 설계 뷰에서 제거하고, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체에 대한 정보를 상기 제1 tie 그래픽 객체 내부 또는 상기 제1 tie 그래픽 객체의 인접 위치에 디스플레이 하는 단계를 더 포함할 수 있다. 이 때, 상기 소스 코드를 자동으로 수정하는 단계는 상기 제2 소스 개체에 대한 레퍼런스 및 상기 하나 이상의 그래픽 객체에 대응되는 각각의 소스 개체에 대한 레퍼런스가 상기 제1 소스 개체에 추가되도록 소스 코드를 자동으로 수정하는 단계를 포함할 수 있다. 이 때, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체를 상기 유닛 설계 뷰에서 제거하고, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체에 대한 정보를 상기 제1 tie 그래픽 객체 내부 또는 상기 제1 tie 그래픽 객체의 인접 위치에 디스플레이 하는 단계는, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체의 슬레이브 그래픽 객체들 모두를 상기 유닛 설계 뷰에서 더 제거하는 단계를 포함할 수 있다. 또한, 상기 소프트웨어 개발 방법은, 제5 소스 개체를 가리키는 제5 그래픽 객체와 상기 제1 tie 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 사용자 입력이 입력되면, 상기 제2 소스 개체에 대한 레퍼런스 및 상기 하나 이상의 그래픽 객체에 대응되는 각각의 소스 개체에 대한 레퍼런스가 상기 제5 소스 개체에 추가되도록 소스 코드를 자동으로 수정하는 단계를 더 포함할 수도 있다. 상기 소프트웨어 개발 방법은, 상기 제1 tie 그래픽 객체를 복사하는 상기 유닛 설계 뷰에서의 사용자 입력이 입력되는 것에 응답하여, 상기 유닛 설계 뷰에 상기 제1 tie 그래픽 객체의 복제본인 제2 tie 그래픽 객체를 더 디스플레이 하는 단계와, 상기 제2 tie 그래픽 객체 또는 상기 제2 tie 그래픽 객체에 포함된 그래픽 객체의 슬레이브 객체 누락을 가리키는 경고 표시에 대한 소정의 사용자 입력을 입력 받는 것에 응답하여, Add Members 메뉴를 디스플레이 하는 단계와, 상기 Add Members 메뉴를 선택하는 사용자 입력을 입력 받는 것에 응답하여, 상기 제2 tie 그래픽 객체에 포함된 그래픽 객체 각각에 누락된 슬레이브 객체 연결을 생성하는 단계를 더 포함할 수 있다. 이 때, 상기 제2 tie 그래픽 객체에 포함된 그래픽 객체 각각에 누락된 슬레이브 객체 연결을 생성하는 단계는, 각각의 슬레이브 객체를 신규 생성하고, 신규 생성된 슬레이브 객체로의 슬레이브 객체 연결을 생성하는 제1 방식, 또는 상기 유닛 설계 뷰에 기 생성된 그래픽 객체를 슬레이브 객체로서 연결하되, 누락된 슬레이브 객체 연결에 대응되는 타입의 그래픽 객체가 상기 유닛 설계 뷰에 기 생성되지 않은 경우 슬레이브 객체를 신규 생성하고 신규 생성된 슬레이브 객체로의 슬레이브 객체 연결을 생성하는 제2 방식에 의하여 수행되는 단계를 포함할 수 있다. 또한, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체를 상기 유닛 설계 뷰에서 제거하고, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체에 대한 정보를 상기 제1 tie 그래픽 객체 내부 또는 상기 제1 tie 그래픽 객체의 인접 위치에 디스플레이 하는 단계는, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체 중 둘 이상의 마스터 객체와 연결된 중복 슬레이브 그래픽 객체에 대한 tie 대상 마스터 객체를 사용자 입력에 의하여 지정 받는 단계와, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체 중 상기 중복 슬레이브 그래픽 객체를 제외한 나머지 그래픽 객체를 상기 유닛 설계 뷰에서 제거하는 단계와, 상기 중복 슬레이브 그래픽 객체와 상기 tie 대상 마스터 객체 사이의 연결 그래픽 객체를 상기 유닛 설계 뷰에서 제거하는 단계를 포함할 수 있다.In some embodiments, the software development method receives a user input in the unit design view that further connects one or more graphic objects and the first graphic object, wherein each graphic object corresponds to a source object one-to-one in response to receiving a user input for inserting two or more of the second graphic object and the one or more graphic objects into the first tie graphic object displayed in the unit design view, inserting the graphic object in the first tie removing the graphic object from the unit design view, and displaying information about the graphic object inserted into the first tie graphic object in the first tie graphic object or in a position adjacent to the first tie graphic object may include In this case, the step of automatically modifying the source code includes automatically modifying the source code so that a reference to the second source object and a reference to each source object corresponding to the one or more graphic objects are added to the first source object. may include a step of modifying At this time, the graphic object inserted into the first tie graphic object is removed from the unit design view, and information on the graphic object inserted into the first tie graphic object is stored inside the first tie graphic object or the first tie The displaying in the adjacent position of the graphic object may include further removing all of the slave graphic objects of the graphic object inserted into the first tie graphic object from the unit design view. Also, in the software development method, when a user input in the unit design view connecting a fifth graphic object pointing to a fifth source entity and the first tie graphic object is input, a reference to the second source entity and the The method may further include automatically modifying the source code so that a reference to each source object corresponding to one or more graphic objects is added to the fifth source object. The software development method includes, in response to a user input in the unit design view copying the first tie graphic object being input, a second tie graphic object that is a duplicate of the first tie graphic object in the unit design view. In response to receiving a predetermined user input for further displaying, the second tie graphic object or a warning display indicating omission of a slave object of the graphic object included in the second tie graphic object, an Add Members menu is displayed. and in response to receiving a user input for selecting the Add Members menu, generating a slave object connection missing in each graphic object included in the second tie graphic object. At this time, the step of creating a slave object connection missing in each graphic object included in the second tie graphic object includes creating a new slave object for each slave object and creating a slave object connection to the newly created slave object. Method 1, or when a graphic object previously created in the unit design view is connected as a slave object, but a graphic object of a type corresponding to the missing slave object connection is not previously created in the unit design view, a slave object is newly created, It may include a step performed by the second method of creating a slave object connection to the newly created slave object. In addition, the graphic object inserted into the first tie graphic object is removed from the unit design view, and information about the graphic object inserted into the first tie graphic object is stored in the first tie graphic object or the first tie graphic object. The step of displaying at the adjacent position of the object includes the steps of receiving a tie target master object for a duplicate slave graphic object connected to two or more master objects among graphic objects inserted into the first tie graphic object by a user input, and the first tie graphic object; 1 removing the graphic objects other than the duplicate slave graphic object among graphic objects inserted into the tie graphic object from the unit design view, and connecting graphic objects between the duplicate slave graphic objects and the tie target master object to the unit may include removing it from the design view.

본 게시의 다른 실시예에 따른 소프트웨어 개발 방법은, FSM(Finite State Machine) 방식으로 동작하는 유닛을 포함하는 프로그램을 개발하기 위하여 컴퓨팅 장치에서 수행되는 방법으로서, 상기 유닛의 제1 상태(state)를 가리키는 제1 그래픽 객체와 상기 유닛의 제2 상태를 가리키는 제2 그래픽 객체를 프로그램 개발 소프트웨어에 의하여 제공되는 복수의 뷰 중 FSM 뷰에 디스플레이 하는 단계와, 상기 제1 그래픽 객체로부터 상기 제2 그래픽 객체로의 연결을 생성하는 상기 FSM 뷰에서의 사용자 입력이 입력되는 것에 응답하여, 트리거 메시지 이름과 액션 함수명을 입력 받기 위한 다이얼로그를 자동으로 디스플레이 하는 단계와, 상기 다이얼로그를 통하여 입력된 트리거 메시지 이름 및 액션 함수명을 이용하여 상기 유닛의 소스 코드에 상기 액션 함수의 프로토타입을 자동으로 추가하는 단계를 포함할 수 있다. A software development method according to another embodiment of the present disclosure is a method performed in a computing device to develop a program including a unit operating in a Finite State Machine (FSM) method, wherein a first state of the unit is obtained. Displaying a first graphic object pointing to and a second graphic object indicating a second state of the unit on an FSM view among a plurality of views provided by program development software, from the first graphic object to the second graphic object; automatically displaying a dialog for receiving a trigger message name and an action function name in response to a user input in the FSM view for creating a connection of the trigger message name and action function name input through the dialog and automatically adding the prototype of the action function to the source code of the unit using .

몇몇 실시예에서, 상기 액션 함수의 프로토타입은 상기 제1 상태의 이름, 상기 트리거 메시지 이름을 파라미터로 포함하고, 리턴은 상기 제2 상태로 자동으로 기재된 것일 수 있다.In some embodiments, the prototype of the action function may include the name of the first state and the name of the trigger message as parameters, and the return may be automatically described as the second state.

몇몇 실시예에서, 상기 트리거 메시지 이름과 액션 함수명을 입력 받기 위한 다이얼로그를 자동으로 디스플레이 하는 단계는, 상기 다이얼로그를 통하여 트리거 메시지 이름과 상기 액션 함수명이 입력 완료되는 것에 응답하여, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체 사이를 연결하는 액션 함수 그래픽 객체를 추가로 디스플레이 하는 단계를 포함할 수 있다. 이 때, 상기 소프트웨어 개발 방법은, 상기 제1 그래픽 객체에서 상기 액션 함수 그래픽 객체로의 연결을 생성하는 상기 FSM 뷰에서의 사용자 입력이 입력되는 것에 응답하여, 트리거 메시지 이름을 입력 받기 위한 다이얼로그를 자동으로 디스플레이 하는 단계와, 상기 유닛의 소스 코드의 상기 액션 함수의 프로토타입에 포함된 상기 트리거 메시지 이름을 상기 다이얼로그를 통하여 입력된 트리거 메시지 이름으로 자동으로 업데이트하는 단계를 더 포함할 수 있다. 또한, 상기 소프트웨어 개발 방법은 상기 액션 함수 그래픽 객체에서 상기 유닛의 제3 상태를 가리키는 제3 그래픽 객체로의 연결을 생성하는 상기 FSM 뷰에서의 사용자 입력이 입력되는 경우, 상기 액션 함수의 프로토타입에 포함된 리턴 상태를 상기 제3 상태로 자동으로 업데이트하는 단계를 더 포함할 수도 있다.In some embodiments, the step of automatically displaying a dialog for receiving the input of the trigger message name and the action function name includes, in response to completion of input of the trigger message name and the action function name through the dialog, the first graphic object and The method may include further displaying an action function graphic object that connects between the second graphic objects. In this case, the software development method automatically generates a dialog for receiving a trigger message name in response to a user input in the FSM view that creates a connection from the first graphic object to the action function graphic object. and automatically updating the trigger message name included in the action function prototype in the source code of the unit to the trigger message name input through the dialog. In addition, the software development method includes: when a user input in the FSM view that creates a connection from the action function graphic object to a third graphic object indicating a third state of the unit is input, the action function prototype is The method may further include automatically updating an included return state to the third state.

본 게시의 또 다른 실시예에 따른 소프트웨어 개발 방법은, 복수의 액터(Actor)들을 구성 요소로 포함 하는 머신(machine)의 구동 프로그램 개발을 위한 통합 개발 환경(Integrated Development Environment; IDE)을 제공하는 컴퓨팅 장치에서 수행되는 방법으로서, 제1 액터 그래픽 객체에서 제2 액터 그래픽 객체로의 연결을 가리키는 사용자 입력이 입력되면, 상기 제2 액터에 대한 레퍼런스가 상기 제1 액터의 소스에 추가되도록 상기 제1 액터의 소스 코드를 자동으로 수정하는 단계와, 상기 제1 액터에 대한 FSM(Finite State Machine) 편집기 진입을 가리키는 사용자 입력이 입력되면, 상기 제1 액터의 FSM 편집 뷰를 디스플레이 하는 단계와, 상기 FSM 편집 뷰를 통해 상기 제1 액터의 제1 상태(state)를 가리키는 그래픽 객체로부터 상기 제1 액터의 제2 상태를 가리키는 그래픽 객체로의 연결을 생성하는 사용자 입력이 입력되면, 상기 제1 상태에서 상기 제2 상태로 전환(transition)될 때 수행되는 액션 함수의 프로토타입을 상기 제1 액터의 소스 코드에 자동으로 추가하는 단계를 포함할 수 있다. A software development method according to another embodiment of the present disclosure is a computing method that provides an integrated development environment (IDE) for developing a driving program of a machine including a plurality of actors as components. A method performed in an apparatus, wherein when a user input indicating a connection from a first actor graphic object to a second actor graphic object is input, a reference to the second actor is added to the source of the first actor. automatically modifying the source code of , and when a user input indicating entry into a finite state machine (FSM) editor for the first actor is input, displaying an FSM edit view of the first actor; When a user input for generating a connection from a graphic object indicating a first state of the first actor to a graphic object indicating a second state of the first actor is input through a view, the first state is displayed in the first state. and automatically adding to the source code of the first actor a prototype of an action function performed when transitioning to the second state.

본 게시의 또 다른 실시예에 따른 소프트웨어 개발 방법은, 제1 소스 개체를 가리키는 제1 그래픽 객체와 제2 소스 개체를 가리키는 제2 그래픽 객체를 프로그램 개발 소프트웨어에 의하여 제공되는 복수의 뷰 중 유닛 설계 뷰에 디스플레이 하는 단계와, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 사용자 입력이 입력되면, 상기 제1 소스 개체가 상기 제2 소스 개체의 인스턴스를 포함하도록 상기 제1 소스 개체의 소스 코드를 자동으로 수정하는 단계를 포함할 수 있다.A software development method according to another embodiment of the present disclosure includes a unit design view of a first graphic object pointing to a first source object and a second graphic object pointing to a second source object among a plurality of views provided by program development software displaying the first graphic object, and when a user input in the unit design view connecting the first graphic object and the second graphic object is input, the first source object includes an instance of the second source object. 1 may include automatically modifying the source code of the source object.

도 1은 본 게시의 일 실시예에 따른 소프트웨어 개발 시스템의 구성도이다.
도 2는 본 게시의 다른 실시예에 따른 소프트웨어 개발 방법의 순서도이다.
도 3은 본 게시의 몇몇 실시예들을 이해할 때 참조될 수 있는 예시적인 머신의 구성도이다.
도 4는 본 게시의 몇몇 실시예들에서 제시될 수 있는 유닛 설계 뷰 및 예시적인 유닛 설계 결과를 도시한 도면이다.
도 5는 본 게시의 몇몇 실시예들에서 서로 다른 소스 개체를 표현하는 그래픽 객체 간의 연결(connect)을 위한 사용자 입력이 있을 때의 예시적인 화면 피드백을 도시한 도면이다.
도 6은 도 4의 예시적인 유닛 설계 결과에 따른 소스 코드 프로토타입 자동 추가 결과를 설명하기 위한 예시적인 코드 뷰의 도면이다.
도 7은 도 6의 프로토타입 추가 결과에 따라, 마스터 객체가 슬레이브 객체로 메시지를 송신할 때 호출되는 메시지 송신 함수에 대하여 코드 입력 가이드 UI가 제공되는 것을 설명하기 위한 예시적인 코드 뷰의 도면이다.
도 8은 본 게시의 몇몇 실시예들에서, 빌트인 액터가 서브클래싱 된 서브클래싱 액터를 이용하여 신규의 유닛을 생성하는 경우, 상기 신규 유닛에 슬레이브 객체의 누락을 가리키는 경고 표시가 디스플레이 되는 것을 설명하기 위한 예시적인 유닛 설계 뷰의 도면이다.
도 9는 본 게시의 몇몇 실시예들에서, 슬레이브 객체의 누락을 가리키는 경고 표시를 이용하여, 일부 슬레이브 객체를 삭제하는 경우, 발생되는 후속 동작을 설명하기 위한 예시적인 유닛 설계 뷰의 도면이다.
도 10 내지 도 13은 본 게시의 몇몇 실시예들에서, 슬레이브 객체의 누락을 일괄 해소 할 수 있는 보조 기능을 제공하는 것을 설명하기 위한 예시적인 유닛 설계 뷰의 도면들이다.
도 14는 본 게시의 몇몇 실시예들에서, VariableType의 유닛의 밸류 구조체에 속한 각각의 값들을 GUI 상에서 수정할 수 있도록 제공되는 예시적인 프로퍼티 뷰의 도면이다.
도 15 및 도 16은 본 게시의 몇몇 실시예들에서, 서로 다른 소스 개체를 표현하는 그래픽 객체 간의 연결(connect)을 위한 사용자 입력이 있을 때 비활성화된 상태의 프로토타입이 소스 코드에 추가되는 것을 설명하기 위한 도면들이다.
도 17은 본 게시의 몇몇 실시예들에서, 연결 그래픽 객체가 가운데 일부는 지워진 형태로 드로잉 될 수 있는 점을 설명하기 위한 도면이다.
도 18 내지 도 22는 본 게시의 몇몇 실시예들에서, 유닛 설계 뷰가 화면 내 그래픽 객체의 배치의 복잡성을 해소하기 위해 타이(tie) 기능을 제공하는 것을 설명하기 위한 도면이다.
도 23은 본 게시의 또 다른 실시예에 따른 소프트웨어 개발 방법의 순서도이다.
도 24는 도 23을 이용하여 설명된 소프트웨어 개발 방법의 몇몇 실시예에서 서로 다른 상태(state) 간의 연결(connect)을 위한 사용자 입력이 있을 때의 예시적인 화면 피드백을 도시한 도면이다.
도 25는 상태(state)와 액션(action) 간의 연결을 위한 사용자 입력이 있을 때의 예시적인 화면 피드백을 도시한 도면이다.
도 26은 도 25에서 예시된 사용자 입력에 따른 편집 대상 유닛의 업데이트 된 FSM(Finite State Machine) 다이어그램을 도시한 도면이다.
도 27은 상태와 액션 간의 추가적인 연결을 위한 사용자 입력이 있을 때의 예시적인 화면 피드백을 도시한 도면이다.
도 28은 도 27에서 예시된 사용자 입력에 따른 편집 대상 유닛의 업데이트 된 FSM 다이어그램을 도시한 도면이다.
도 29는 상태와 액션 간의 트리거 메시지를 제거하는 사용자 입력이 있을 때의 예시적인 화면 피드백을 도시한 도면이다.
도 30은 상태와 액션 간의 트리거 메시지의 타입에 따라 연결 그래픽 객체가 시각적으로 구분되게 디스플레이 되는 예시적인 FSM 다이어그램을 도시한 도면이다.
도 31은 본 게시의 또 다른 실시예에 따른 소프트웨어 개발 시스템에 포함되는 개발자 단말 또는 IDE 서비스 서버의 하드웨어 구성도이다.
1 is a configuration diagram of a software development system according to an embodiment of the present disclosure.
2 is a flowchart of a software development method according to another embodiment of the present disclosure.
3 is a schematic diagram of an exemplary machine that may be referred to when understanding some embodiments of the present disclosure.
4 is a diagram illustrating a unit design view and exemplary unit design results that may be presented in some embodiments of the present disclosure.
5 is a diagram illustrating exemplary screen feedback when there is a user input for a connection between graphic objects representing different source objects in some embodiments of this publication.
FIG. 6 is a diagram of an exemplary code view for explaining a result of automatically adding a source code prototype according to an exemplary unit design result of FIG. 4 .
FIG. 7 is a diagram of an exemplary code view for explaining that a code input guide UI is provided for a message transmission function called when a master object sends a message to a slave object according to the prototype addition result of FIG. 6 .
8 shows that in some embodiments of this publication, when a built-in actor creates a new unit using a subclassed subclassing actor, a warning indication indicating the omission of a slave object is displayed in the new unit It is a drawing of an exemplary unit design view for explanation.
9 is a diagram of an exemplary unit design view for explaining a subsequent operation that occurs when some slave objects are deleted using a warning indication indicating omission of a slave object in some embodiments of the present disclosure;
10 to 13 are diagrams of an exemplary unit design view for explaining that an auxiliary function capable of collectively eliminating omission of a slave object is provided in some embodiments of the present disclosure.
14 is a diagram of an exemplary property view that is provided so that each value belonging to a value structure of a unit of VariableType can be modified on a GUI in some embodiments of the present disclosure.
15 and 16 illustrate that, in some embodiments of the present disclosure, a prototype in an inactive state is added to the source code when there is a user input for a connection between graphic objects representing different source objects. drawings to do
FIG. 17 is a diagram for explaining that a connection graphic object may be drawn in a partially erased form in some embodiments of the present disclosure.
18 to 22 are diagrams for explaining that the unit design view provides a tie function in order to solve the complexity of the arrangement of graphic objects in the screen in some embodiments of the present disclosure.
23 is a flowchart of a software development method according to another embodiment of the present disclosure.
FIG. 24 is a diagram illustrating exemplary screen feedback when there is a user input for connection between different states in some embodiments of the software development method described using FIG. 23 .
25 is a diagram illustrating exemplary screen feedback when there is a user input for connection between a state and an action.
FIG. 26 is a diagram illustrating an updated FSM (Finite State Machine) diagram of an editing target unit according to a user input illustrated in FIG. 25 .
27 is a diagram illustrating exemplary screen feedback when there is a user input for a further connection between a state and an action.
28 is a diagram illustrating an updated FSM diagram of an editing target unit according to a user input illustrated in FIG. 27 .
29 is a diagram illustrating exemplary screen feedback when there is a user input that removes a trigger message between a state and an action.
30 is a diagram illustrating an exemplary FSM diagram in which a connection graphic object is visually distinguished and displayed according to a type of a trigger message between a state and an action.
31 is a hardware configuration diagram of a developer terminal or an IDE service server included in a software development system according to another embodiment of the present disclosure.

이하, 첨부된 도면을 참조하여 본 명세서의 실시예들을 상세히 설명한다. 본 명세서의 실시예들의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, embodiments of the present specification will be described in detail with reference to the accompanying drawings. Advantages and features of the embodiments of the present specification, and methods for achieving them, will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the technical spirit of the present invention is not limited to the following embodiments, but may be implemented in various different forms, and only the following embodiments complete the technical spirit of the present invention, and the embodiments of the present specification belong It is provided to fully inform those of ordinary skill in the art the scope of the present invention, and the technical spirit of the present invention is only defined by the scope of the claims.

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 명세서의 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the embodiments of the present specification, if it is determined that a detailed description of a related known configuration or function may obscure the subject matter, the detailed description thereof will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 명세서의 실시예들을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in the meaning commonly understood by those of ordinary skill in the art to which the embodiments of the present specification belong. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the embodiments of the present specification. As used herein, the singular also includes the plural unless specifically stated otherwise in the phrase.

또한, 본 명세서의 실시예들의 구성 요소를 설명하는 데 있어서, 제1, 제2 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소 또는 소프트웨어 컴포넌트가 다른 구성 요소 또는 소프트웨어 컴포넌트에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the embodiments of the present specification, terms such as first and second may be used. These terms are only for distinguishing the component from other components, and the essence, order, or order of the component is not limited by the term. Where a component or software component is described as being “connected”, “coupled” or “connected” to another component or software component, that component may be directly connected or connected to the other component, but each component It should be understood that another element may be “connected”, “coupled” or “connected” between elements.

이하, 몇몇 실시예들에 대하여 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, some embodiments will be described in detail with reference to the accompanying drawings.

본 게시의 일 실시예에 따른 소프트웨어 개발 시스템의 구성 및 동작을 도 1을 참조하여 설명한다.The configuration and operation of a software development system according to an embodiment of the present disclosure will be described with reference to FIG. 1 .

본 실시예에 따른 소프트웨어 개발 시스템은, 도 1에 도시된 바와 같이 IDE 서비스 서버(10) 및 IDE 서비스 서버(10)에 네트워크를 통하여 접속할 수 있는 개발자 단말들(20-1, 20-2)을 포함할 수 있다. 도 1에 도시된 소프트웨어 개발 시스템은 클라우드 기반 IDE와 같은 서버 기반 IDE를 제공한다. 본 실시예에 따른 소프트웨어 개발 시스템이 반드시 서버 기반 IDE여야 하는 것은 아니다. 예를 들어, The software development system according to the present embodiment includes the IDE service server 10 and developer terminals 20-1 and 20-2 that can be connected to the IDE service server 10 through a network as shown in FIG. may include The software development system shown in FIG. 1 provides a server-based IDE, such as a cloud-based IDE. The software development system according to the present embodiment does not necessarily have to be a server-based IDE. E.g,

본 게시의 다른 실시예는 개발자 단말(20-1, 20-2)에만 설치되는(client-alone) IDE일 수도 있을 것이다. 본 실시예를 참조하여 설명하는 서버 기반 IDE에서 제공하는 몇몇 기술 사상들은 당연히 개발자 단말(20-1, 20-2)에만 설치되는 IDE에도 그대로 적용 가능하다. 예를 들어, 이러한 IDE는 설비에서 동작하는 소프트웨어를 개발하기 위한 설비 제어 프로그램 개발용 IDE일 수 있다. 이 경우, 도 1의 IDE 서비스 서버(10)에 대응되는 IDE 서비스는 개발자 단말(20-1, 20-2)에 설치되는 것일 수 있다. 이러한 설비 제어 개발용 IDE에도 본 명세서에서 제시되는 다양한 실시예들이 적용될 수 있음은 물론이다.Another embodiment of this publication may be an IDE installed only on the developer terminals 20-1 and 20-2 (client-alone). Some technical ideas provided by the server-based IDE described with reference to the present embodiment are naturally applicable to the IDE installed only in the developer terminals 20-1 and 20-2. For example, the IDE may be an IDE for developing a facility control program for developing software running in the facility. In this case, the IDE service corresponding to the IDE service server 10 of FIG. 1 may be installed in the developer terminals 20 - 1 and 20 - 2 . It goes without saying that the various embodiments presented herein may also be applied to the IDE for facility control development.

IDE 서비스 서버(10)는 소스 코드 등 개발 프로젝트의 산출물을 저장하기 위한 IDE 스토리지(11)와 네트워크 또는 내부망(미도시)을 통하여 연결 될 수 있다. 또한, IDE 서비스 서버(10)는 개발자 단말들(20-1, 20-2)에 복수의 뷰(view)를 포함하는 IDE GUI의 데이터를 송신할 수 있다. 상기 IDE GUI는 코드 뷰, 유닛 설계 뷰 및 프로퍼티 뷰 등을 포함할 수 있다.The IDE service server 10 may be connected to the IDE storage 11 for storing the output of the development project, such as source code, through a network or an internal network (not shown). Also, the IDE service server 10 may transmit data of the IDE GUI including a plurality of views to the developer terminals 20 - 1 and 20 - 2 . The IDE GUI may include a code view, a unit design view, and a property view.

상기 IDE GUI의 복수의 뷰들 중에서, 상기 유닛 설계 뷰를 대표적으로 설명한다. 상기 유닛 설계 뷰는 제1 소스 개체를 가리키는 제1 그래픽 객체와 제2 소스 개체를 가리키는 제2 그래픽 객체를 디스플레이 한다.Among the plurality of views of the IDE GUI, the unit design view will be representatively described. The unit design view displays a first graphic object pointing to a first source object and a second graphic object pointing to a second source object.

상기 제1 소스 개체는 개발 대상 소프트웨어의 제1 컴포넌트를 구현하기 위한 것이고, 상기 제2 소스 개체는 개발 대상 소프트웨어의 제2 컴포넌트를 구현하기 위한 것으로서, 예를 들어 상기 제1 소스 개체는 제1 소스 파일의 소스 코드를 가리키고, 상기 제2 소스 개체는 제2 소스 파일의 소스 코드를 가리킬 수 있다. 다만, 상기 제1 소스 개체와 상기 제2 소스 개체가 반드시 서로 다른 소스 파일에 기록될 필요는 없다. 예를 들어, 상기 제1 소스 개체와 상기 제2 소스 개체는 하나의 소스 파일의 서로 다른 영역의 소스 코드들을 각각 가리킬 수도 있다.The first source entity is for implementing a first component of the software to be developed, and the second source entity is for implementing a second component of the software to be developed, for example, the first source entity is the first source. It points to the source code of the file, and the second source object may point to the source code of the second source file. However, the first source entity and the second source entity are not necessarily recorded in different source files. For example, the first source entity and the second source entity may respectively point to source codes in different regions of one source file.

본 기재의 소프트웨어 컴포넌트는, 소프트웨어의 전체적인 동작을 위하여 요구되는 복수의 기능 단위 각각을 담당하는 소프트웨어 모듈로 이해될 수 있을 것이다. 이 때, 상기 소프트웨어 컴포넌트는 특정 기능을 실행하는 복수의 함수 및 상기 함수의 실행에 수반되는 변수들로 구성될 수 있을 것이다.A software component of the present description may be understood as a software module responsible for each of a plurality of functional units required for the overall operation of the software. In this case, the software component may be composed of a plurality of functions executing a specific function and variables involved in the execution of the function.

또한, 본 기재의 소프트웨어 컴포넌트는, 소프트웨어의 전체적인 동작을 위하여 요구되는 복수의 구성 단위 각각을 담당하는 소프트웨어 모듈로 이해될 수도 있을 것이다. 이 때, 상기 소프트웨어 컴포넌트는 공통된 용도를 가지고 있어 세트를 구성하는 복수의 밸류로 구성되는 밸류 구조체로 이해될 수 있을 것이다.In addition, the software component of the present description may be understood as a software module responsible for each of a plurality of structural units required for the overall operation of the software. In this case, the software component may be understood as a value structure composed of a plurality of values constituting a set because the software component has a common purpose.

각각의 상기 소프트웨어 컴포넌트가 반드시 개별적인 바이너리로서 산출되어야 하는 것은 아니다. 즉 각각의 소프트웨어 컴포넌트는, 서로 다른 기능 단위의 구현을 위해 그 구현이 개별적인 소스 개체에 기록된 것으로 이해될 수 있다. Each such software component does not necessarily have to be produced as a separate binary. That is, each software component may be understood as an implementation recorded in an individual source entity for the implementation of different functional units.

상기 유닛 설계 뷰는 상기 제1 그래픽 객체와 상기 제2 그래픽 객체의 연결하는(connect) 사용자 입력을 입력 받는 사용자 인터페이스를 제공한다. 이러한 사용자 인터페이스는 그래픽 사용자 인터페이스(GUI)인 것이 바람직할 것이다. 일 예로, 상기 그래픽 사용자 인터페이스는 상기 제1 그래픽 객체로부터 상기 제2 그래픽 객체로의 드래그(drag) 입력 및 그 피드백의 출력을 포함할 수 있을 것이다.The unit design view provides a user interface that receives a user input for connecting the first graphic object and the second graphic object. This user interface will preferably be a graphical user interface (GUI). For example, the graphical user interface may include a drag input from the first graphical object to the second graphical object and output of the feedback.

몇몇 실시예들에서, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 연결 사용자 입력이 입력되면, IDE 서비스 서버(10)는 상기 제2 소스 개체의 인스턴스(instance)가 상기 제1 소스 개체에 추가되도록 소스 코드를 자동으로 수정할 수 있다. 즉, IDE 서비스 서버(10)는 상기 유닛 설계 뷰에서 서로 다른 소스 개체의 그래픽 객체가 연결되는 사용자 입력을 입력 받아, 두개의 소스 개체 중 어느 하나를 다른 하나의 소스 개체 내부에 인스턴스화(instantiation) 하는 것이다.In some embodiments, when a connection user input in the unit design view connecting the first graphic object and the second graphic object is input, the IDE service server 10 is an instance of the second source object. may automatically modify the source code to be added to the first source object. That is, the IDE service server 10 receives a user input in which graphic objects of different source objects are connected in the unit design view, and instantiates any one of the two source objects inside the other source object. will be.

다른 몇몇 실시예들에서, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 연결 사용자 입력이 입력되면, IDE 서비스 서버(10)는 상기 제1 소스 개체가 상기 제2 소스 개체의 인스턴스(instance)를 가리키는 레퍼런스를 포함하도록 소스 코드를 자동으로 수정할 수도 있다.In some other embodiments, when a connection user input in the unit design view connecting the first graphic object and the second graphic object is input, the IDE service server 10 determines that the first source object is the second graphic object. You can also automatically modify the source code to include a reference to an instance of the source object.

이때, 상기 제2 소스 개체의 인스턴스는 상기 제1 소스 개체가 아니고 상기 제2 소스 개체도 아닌 별도의 소스 개체에서 자동으로 생성될 수 있다. 예를 들어, IDE 서비스 서버(10)는 프로젝트에 소속된 모든 유닛의 인스턴스들을 인스턴스화 하기 위한 소스 코드를 별도의 코드 파일에 자동으로 포함시킬 수 있을 것이다. 즉, IDE 서비스 서버(10)는 유닛 설정 뷰에 생성된 각각의 그래픽 객체 각각을 자동으로 인스턴스화 하고, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 연결 사용자 입력이 입력되면, 상기 제1 소스 개체가 상기 제2 소스 개체의 인스턴스를 가리키는 레퍼런스를 포함하도록 상기 제1 소스 개체의 소스 코드를 자동으로 수정할 수 있는 것이다.In this case, the instance of the second source entity may be automatically created in a separate source entity that is neither the first source entity nor the second source entity. For example, the IDE service server 10 may automatically include a source code for instantiating instances of all units belonging to a project in a separate code file. That is, the IDE service server 10 automatically instantiates each graphic object created in the unit setting view, and connects user input in the unit design view that connects the first graphic object and the second graphic object. Upon input, the source code of the first source object may be automatically modified such that the first source object includes a reference pointing to an instance of the second source object.

상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 연결 사용자 입력이 입력되면 상기 제2 소스 개체의 인스턴스(instance)가 상기 제1 소스 개체에 추가되는 실시예에서, 상기 제2 소스 개체의 인스턴스는 상기 제1 소스 개체에 종속되는 것이 된다. 즉, 상기 제2 그래픽 객체가 상기 제1 그래픽 객체에 종속되는 것이 되는 것이다. 따라서, 이러한 종속성이 반영되도록, 상기 유닛 설계 뷰는 상기 제2 그래픽 객체가 상기 제1 그래픽 객체에 종속된 것임을 가리키는 인디케이터를 표현할 수 있으며, 상기 제2 그래픽 객체는 상기 제1 그래픽 객체 이외의 다른 그래픽 객체의 종속 객체될 수 없는 점이 사용자 입력에 대한 피드백으로서 표현될 수 있다. 예를 들어, 상기 제2 그래픽 객체가 제3 그래픽 객체에 종속되는 것을 가리키는 사용자 입력에 응답하여, 상기 유닛 설계 뷰는 오류 발생 피드백을 제공할 수 있을 것이다.In an embodiment in which an instance of the second source object is added to the first source object when a connection user input in the unit design view connecting the first graphic object and the second graphic object is input, the Instances of the second source entity are dependent on the first source entity. That is, the second graphic object becomes subordinate to the first graphic object. Accordingly, to reflect this dependency, the unit design view may express an indicator indicating that the second graphic object is dependent on the first graphic object, and the second graphic object is a graphic object other than the first graphic object. A point that cannot be a dependent object of an object can be expressed as feedback to user input. For example, in response to a user input indicating that the second graphical object is dependent on a third graphical object, the unit design view may provide error-generating feedback.

반면에, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 연결 사용자 입력이 입력되면 상기 제1 소스 개체가 상기 제2 소스 개체의 인스턴스(instance)에 대한 레퍼런스를 포함하게 되는 실시예에서는, 각 그래픽 객체의 인스턴스들은 수평적인 관계를 가진다. 즉, 각각의 그래픽 객체의 인스턴스가 다른 그래픽 객체의 인스턴스에 속하게 되는 것이 아니고, 두개의 그래픽 객체에 대한 연결 사용자 입력이 입력되면, 어느 한 그래픽 객체의 인스턴스가 다른 그래픽 객체의 인스턴스에 대한 레퍼런스를 포함함으로써, 상기 레퍼런스를 통해 피참조 인스턴스의 변수 값을 수정하거나, 메소드를 호출할 수 있게 되는 것이다. 이 경우, 어떤 그래픽 객체는 다른 복수의 그래픽 객체에 의하여 피참조 될 수 있을 것이다.On the other hand, when a connection user input in the unit design view connecting the first graphic object and the second graphic object is input, the first source object includes a reference to an instance of the second source object In the resulting embodiment, the instances of each graphic object have a horizontal relationship. That is, the instance of each graphic object does not belong to the instance of another graphic object, and when a connection user input for two graphic objects is input, an instance of one graphic object includes a reference to an instance of another graphic object. By doing so, it becomes possible to modify the variable value of the referenced instance or call a method through the reference. In this case, a certain graphic object may be referenced by a plurality of other graphic objects.

이하, 이해의 편의를 위하여, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 연결 사용자 입력이 입력되면, 상기 제1 소스 개체가 상기 제2 소스 개체의 인스턴스(instance)에 대한 레퍼런스를 포함하게 되는 실시예를 전제하여 몇몇 실시예들을 설명하기로 한다. 다만, 본 기재의 실시예들은 상기 연결 사용자 입력에 따라, 상기 제1 소스 객체가 상기 제2 소스 개체의 인스턴스를 포함하게 되는 실시예에도 적용 가능한 점을 유의하여야 한다.Hereinafter, for convenience of understanding, when a connection user input in the unit design view connecting the first graphic object and the second graphic object is input, the first source object is an instance of the second source object ), some embodiments will be described on the assumption that the embodiment includes a reference to . However, it should be noted that the embodiments described herein are also applicable to an embodiment in which the first source object includes an instance of the second source object according to the connection user input.

본 기재에서, 다른 소스 개체 내부에서 레퍼런스를 통해 접근되는 소스 개체의 그래픽 객체는 슬레이브(slave) 객체로 지칭될 것이다. 또한, 슬래이브 객체를 레퍼런스를 통해 접근하게 되는 소스 개체의 그래픽 객체는 마스터(master) 객체로 지칭될 것이다.In this description, a graphic object of a source object accessed through a reference inside another source object will be referred to as a slave object. Also, the graphic object of the source object accessed through the reference to the slave object will be referred to as a master object.

종래의 GUI 기반 IDE에서는 GUI 디자인 툴에서 다이얼로그에 버튼 등 컨트롤 객체를 포함시키는 등의 사용자 인터페이스를 제공하고 있다. 그러나, 이러한 사용자 인터페이스는 하위 그래픽 객체를 상위 그래픽 객체에 포함시키는 것이고 그래픽 객체 간의 연결이 아니다. 또한, 상위 그래픽 객체와 하위 그래픽 객체 각각이 서로 다른 소스 개체를 가리키는 것도 아니다. 즉, 본 기재의 실시예들에서 각 소프트웨어 컴포넌트의 소스 개체가 화면에 그래픽 객체로서 표현되고, 상기 그래픽 객체 간의 연결이 GUI를 통한 사용자 입력에 의하여 생성되며, 이러한 그래픽 객체 간의 연결이 마스터 객체에 슬레이브 객체에 대한 레퍼런스가 추가되는 형태로 소스 코드에 반영되는 기술 사상은 종래의 GUI 기반 IDE에서 제시된 바 없다. In the conventional GUI-based IDE, a user interface such as including a control object such as a button in a dialog is provided in a GUI design tool. However, this user interface includes the lower graphic object in the upper graphic object and not the connection between the graphic objects. Also, each of the upper graphic object and the lower graphic object does not point to a different source object. That is, in the embodiments of the present disclosure, the source object of each software component is expressed as a graphic object on the screen, the connection between the graphic objects is generated by a user input through the GUI, and the connection between these graphic objects is a slave to the master object. The technical idea reflected in the source code in the form of adding a reference to an object has not been presented in the conventional GUI-based IDE.

또한, GUI에 익숙한 개발자들에게는 마스터 객체의 소스 코드 상에 슬레이브 객체의 인스턴스에 대한 레퍼런스(reference)를 직접 선언하는 것 보다는 마스터 객체에서 슬레이브 객체로의 연결을 생성해 주는 것이, 훨씬 직관적인 방식이 될 것이다. Also, for developers familiar with the GUI, it is much more intuitive to create a connection from the master object to the slave object than to directly declare a reference to the instance of the slave object in the source code of the master object. will be

즉, 본 기재의 실시예들은 슬레이브 객체에 대한 레퍼런스화를 기존에 없던 신규한 방식으로 할 수 있도록 지원하며, 이러한 방식에 의하여 개발 프로젝트 초기에 소스 코드 프로토타이핑에 소요되는 시간 및 그 작업의 번잡성이 크게 개선될 수 있다.That is, the embodiments of the present disclosure support to make reference to a slave object in a new way that was not previously available, and by this method, the time required for source code prototyping at the initial stage of the development project and the complexity of the work This can be greatly improved.

한편, IDE 서비스 서버(10)는 상기 연결 사용자 입력에 응답하여 즉각적으로 상기 소스 코드의 자동 수정을 수행할 수 있다. 이 경우 상기 연결 사용자 입력이 안전하게 상기 소스 코드에 바로 반영되므로, 다양한 오류로부터 작업 결과를 안전하게 보존할 수 있는 효과를 얻는다. 또한, IDE 서비스 서버(10)는 상기 유닛 설계 뷰의 수정 사항에 대한 저장 사용자 입력이 있을 때 최종 상태의 소스 개체 연결이 반영되도록 상기 소스 코드의 자동 수정을 수행할 수도 있다. 즉, IDE 서비스 서버(10)는 상기 연결 사용자 입력에 응답하여 즉각적으로 상기 소스 코드의 자동 수정을 수행하지 않고 상기 유닛 설계 뷰의 수정 사항에 대한 저장 사용자 입력이 있을 때까지 기다림으로써, 빈번한 소스 파일에 대한 액세스를 억제하는 효과를 얻는다. 각각의 IDE GUI에 대하여는 몇몇 도면들을 참조하여 자세히 후술 될 것이다.Meanwhile, the IDE service server 10 may automatically modify the source code immediately in response to the connection user input. In this case, since the connected user input is safely directly reflected in the source code, it is possible to safely preserve the work result from various errors. In addition, the IDE service server 10 may automatically modify the source code so that the source object connection in the final state is reflected when there is a storage user input for the modification of the unit design view. That is, the IDE service server 10 does not immediately perform automatic correction of the source code in response to the connection user input, but waits until there is a stored user input for the modifications of the unit design view, so that frequent source files are have the effect of restricting access to Each IDE GUI will be described in detail later with reference to some drawings.

IDE 서비스 서버(10)의 다양한 동작에 대하여는 후술될 몇몇 실시예들을 참조하여 보다 자세히 이해될 수 있을 것이다.Various operations of the IDE service server 10 may be understood in more detail with reference to some embodiments to be described later.

이하, 도 2를 참조하여, 본 게시의 다른 실시예에 따른 소프트웨어 개발 방법을 설명한다. 이하, 본 실시예에 따른 방법을 설명함에 있어서, 각각의 동작의 주체에 대한 기재가 생략될 수 있으며, 이 경우 상기 동작의 주체는 컴퓨팅 장치인 것으로 이해될 수 있을 것이다. 상기 컴퓨팅 장치는, 예를 들어 도 1을 참조하여 설명한 각각의 개발자 단말(20-1, 20-2)일 수 있다. 또한, 본 실시예에 따른 방법은 복수의 컴퓨팅 장치들에 의하여 나뉘어 수행될 수도 있다. 예를 들어, 도 1을 참조하여 설명한 IDE 서버(10) 및 IDE 스토리지(11) 중 적어도 하나와, 온라인 커뮤니케이션 서버(200)와 온라인 커뮤니케이션 장치(100)의 각각의 개발자 단말(20-1, 20-2)의 협업에 의하여 본 실시예에 따른 방법이 수행될 수도 있을 것이다. Hereinafter, a software development method according to another embodiment of the present disclosure will be described with reference to FIG. 2 . Hereinafter, in describing the method according to the present embodiment, description of the subject of each operation may be omitted, and in this case, it may be understood that the subject of the operation is a computing device. The computing device may be, for example, each of the developer terminals 20 - 1 and 20 - 2 described with reference to FIG. 1 . Also, the method according to the present embodiment may be divided and performed by a plurality of computing devices. For example, at least one of the IDE server 10 and the IDE storage 11 described with reference to FIG. 1 , and the respective developer terminals 20 - 1 and 20 of the online communication server 200 and the online communication device 100 . The method according to the present embodiment may be performed by collaboration of -2).

단계 S101에서, 개발자 단말이 유닛 설계 뷰를 구성하기 위한 데이터를 제공 받아 유닛 설계 뷰를 디스플레이 한다. 도 4에 도시된 예시적인 유닛 설계 뷰(50)를 참조하여 상기 유닛 설계 뷰의 구성 및 상기 유닛 설계 뷰를 기반으로 하여 제공되는 다양한 사용자 인터페이스가 후술 될 것이다.In step S101, the developer terminal receives the data for configuring the unit design view and displays the unit design view. The configuration of the unit design view and various user interfaces provided based on the unit design view will be described below with reference to the exemplary unit design view 50 illustrated in FIG. 4 .

단계 S103에서, 상기 개발자 단말이 상기 유닛 설계 뷰에 디스플레이 될 각각의 유닛을 생성하기 위한 사용자 입력을 입력 받고, 생성된 각각의 유닛을 가리키는 그래픽 객체를 상기 유닛 설계 뷰에 디스플레이 한다. 예시적으로, 본 기재의 실시예들은 머신의 구동 프로그램(또는 제어 프로그램)을 개발하기 위한 용도로 실시될 수 있다.In step S103, the developer terminal receives a user input for generating each unit to be displayed on the unit design view, and displays a graphic object indicating each generated unit on the unit design view. Illustratively, the embodiments of the present description may be implemented for the purpose of developing a driving program (or control program) of a machine.

이 때 상기 유닛은 상기 머신을 구성하는 단위로 이해될 수 있을 것이다. 예를 들어, 상기 유닛은 상술한 소프트웨어 컴포넌트의 일 예로서 이해될 수 있을 것이다. 이 때 상기 유닛은 특정 동작을 수행하고 상기 머신의 특정 하드웨어 파트에 대응되는 액터 유닛과, 상술한 밸류 구조체에 대응되는 variable 타입 유닛으로 구분될 수 있다.In this case, the unit may be understood as a unit constituting the machine. For example, the unit may be understood as an example of the software component described above. In this case, the unit may be divided into an actor unit that performs a specific operation and corresponds to a specific hardware part of the machine, and a variable type unit that corresponds to the above-described value structure.

도 3을 참조하여 좀더 설명한다. 액터 유닛(31, 32, 33) 각각은 독자적인 FSM(Finite State Machine) 기반의 동작 방식을 취하며, 이를 위해 액터 유닛(31, 32, 33) 각각은 상태 정보(31a, 32a, 33a)를 갖는다. 또한, 액터 유닛(31, 32, 33) 끼리는 서로 메시지를 주고 받을 수 있다. 이를 위해 액터 유닛(31, 32, 33) 각각은 메시지 큐(31b, 32b, 33b)를 갖는다. 도 3에는 메시지 큐(31b, 32b, 33b)가 FIFO(First-In-First-Out)로 구현되는 것으로 도시되어 있으나, 다른 방식으로 구현된 메시지 큐가 각 유닛에 포함될 수도 있을 것이다. 또한, variable 타입 유닛은 상술된 밸류 구조체를 포함한다. 도 3에 도시된 예시적인 머신은 3개의 액터 유닛(31, 32, 33) 및 하나의 variable 타입 유닛(34)을 포함한다. 개발자는 상기 유닛 설계 뷰를 통하여 각 유닛 사이의 연결을 생성해줌으로써 기본적인 상기 머신의 프로토타이핑을 마무리 할 수 있을 것이다.It will be further described with reference to FIG. 3 . Each of the actor units 31 , 32 , and 33 has an independent FSM (Finite State Machine)-based operation method, and for this, each of the actor units 31 , 32 , 33 has state information 31a , 32a , 33a . Also, the actor units 31 , 32 , and 33 may send and receive messages to each other. For this purpose, each of the actor units 31 , 32 , 33 has a message queue 31b , 32b , 33b . Although the message queues 31b, 32b, and 33b are illustrated as being implemented as first-in-first-out (FIFO) in FIG. 3, message queues implemented in other manners may be included in each unit. Also, the variable type unit includes the above-described value structure. The exemplary machine shown in FIG. 3 includes three actor units 31 , 32 , 33 and one variable type unit 34 . The developer will be able to finish basic prototyping of the machine by creating a connection between each unit through the unit design view.

다음으로, 상기 그래픽 객체 사이를 연결하는 연결 사용자 입력이 입력되면(S105), 상기 연결 사용자 입력에 따른 그래픽 객체 사이의 연결 생성을 표현하는 연결 그래픽 객체가 드로잉된다(S107).Next, when a connection user input for connecting between the graphic objects is input (S105), a connection graphic object representing creation of a connection between graphic objects according to the connection user input is drawn (S107).

상기 연결 사용자 입력은 마스터 그래픽 객체 및 슬레이브 그래픽 객체에 대한 순차적인 선택을 포함할 수 있다. 이 때의 연결 사용자 입력은 마스터 그래픽 객체가 슬레이브 그래픽 객체를 가리키는 화살표 방향을 직감적으로 표현하는 것으로 이해될 수 있을 것이다. 이와 반대로, 상기 연결 사용자 입력은 슬레이브 그래픽 객체 및 마스터 그래픽 객체에 대한 순차적인 선택을 포함할 수 있다. 이 때의 연결 사용자 입력은 슬레이브 그래픽 객체가 마스터 그래픽 객체에 들어간다는 의미의 화살표 방향을 직감적으로 표현하는 것으로 이해될 수 있을 것이다. 몇몇 실시예에서, 상기 연결 사용자 입력은 두개의 그래픽 객체의 선택 사이에 드래그(drag) 입력을 더 포함할 수 있다. 즉, 상기 마스터 그래픽 객체와 상기 슬레이브 그래픽 객체를 연결하는 화살표는 드래그 입력으로 표현될 수 있을 것이다. 따라서, 개발자는 마스터 그래픽 객체에서 슬레이브 그래픽 객체로 화살표를 그리는 것과 유사하게 상기 연결 사용자 입력을 받아들일 수 있을 것이다.The connection user input may include sequential selection of a master graphic object and a slave graphic object. The connection user input at this time may be understood as intuitively expressing the direction of the arrow pointing to the slave graphic object from the master graphic object. Conversely, the connected user input may include sequential selection of a slave graphic object and a master graphic object. The connection user input at this time may be understood as intuitively expressing the direction of the arrow, which means that the slave graphic object enters the master graphic object. In some embodiments, the connection user input may further include a drag input between selection of two graphic objects. That is, an arrow connecting the master graphic object and the slave graphic object may be expressed as a drag input. Accordingly, the developer will be able to accept the connection user input similar to drawing an arrow from the master graphic object to the slave graphic object.

상술한 바와 같이, 상기 연결 사용자 입력은 소스 코드에 즉각 반영될 수도 있으나, 도 2에 도시된 바와 같이 유닛 설계 뷰 상의 저장(save) 버튼이 입력될 때(S109) 비로소 소스 코드에 반영될 수도 있다(S111).As described above, the connected user input may be immediately reflected in the source code, but may be reflected in the source code only when the save button on the unit design view is input (S109) as shown in FIG. (S111).

다음으로, 슬레이브 객체를 가지게 된 마스터 유닛이 상기 유닛 설계 뷰 상의 툴 박스(tool box) 영역에 빌트인 유닛(built-in unit)이 아닌 커스텀 유닛(custom unit)으로서 추가될 수 있다(S113). 이로써, 상기 슬레이브 객체를 가지게 된 마스터 유닛이 상기 커스텀 유닛 영역에서 선택되는 것에 의하여, 상기 유닛 설계 뷰 상에 손쉽게 신규 유닛으로서 현출될 수 있게 된다.Next, the master unit having the slave object may be added as a custom unit rather than a built-in unit to a tool box area on the unit design view (S113). Accordingly, by selecting the master unit having the slave object in the custom unit area, it can be easily displayed as a new unit on the unit design view.

다음으로, 타이(tie) 관련 사용자 입력이 처리된다. 상기 타이(tie)는 상기 유닛 설계 뷰에 디스플레이 된 유닛들의 수가 많아짐에 따라 화면 시인성이 떨어지는 것을 방지하기 위해, 동일한 레벨의 유닛들을 타이 유닛에 포함시켜 묶음 관리하기 위한 사용자 인터페이스로 이해될 수 있을 것이며, 이와 관련하여는 도 18 내지 도 22를 참조하여 자세히 후술하기로 한다.Next, tie-related user input is processed. The tie may be understood as a user interface for bundle management by including units of the same level in the tie unit in order to prevent screen visibility from falling as the number of units displayed in the unit design view increases. , which will be described later in detail with reference to FIGS. 18 to 22 .

다음으로, 액터 유닛에 대한 지정된 사용자 입력(예를 들어, 더블 클릭)이 입력되면, 액터 유닛에 대한 FSM 편집기가 실행될 수 있다(S117). 상술한 바와 같이 액터 유닛 각각은 FSM 방식으로 동작하는데, 상기 액터 유닛의 FSM 다이어그램의 편집을 위하여 상기 FSM 편집기가 실행될 수 있을 것이다. 상기 FSM 편집기에서도 그래픽 객체 간의 연결을 위한 사용자 입력을 입력 받고 상기 연결이 상기 액터 유닛의 소스 코드에 반영되는데, 이러한 특징은 상기 유닛 설계 뷰에서 그래픽 객체 간의 연결을 위한 사용자 입력을 입력 받고 상기 연결이 소스 코드 상의 레퍼런스화로 반영되는 점과 유사하다. 액터 유닛에 대한 FSM 편집기의 실행과 관련된 동작들은 도 23 내지 도 26을 참조하여 자세히 후술 될 것이다.Next, when a designated user input (eg, double click) for the actor unit is input, the FSM editor for the actor unit may be executed (S117). As described above, each actor unit operates in an FSM manner, and the FSM editor may be executed for editing the FSM diagram of the actor unit. The FSM editor also receives a user input for connection between graphic objects and the connection is reflected in the source code of the actor unit. It is similar to the point reflected by reference in the source code. Operations related to the execution of the FSM editor for the actor unit will be described later in detail with reference to FIGS. 23 to 26 .

이하, 본 실시예에 따른 소프트웨어 개발 방법과 관련하여 유닛 설계 뷰에 대한 사용자 입력 및 그에 따른 피드백의 다양한 예시를 도 4 내지 도 22를 참조하여 설명하기로 한다.Hereinafter, various examples of a user input for a unit design view and feedback corresponding thereto in relation to the software development method according to the present embodiment will be described with reference to FIGS. 4 to 22 .

도 4는 예시적인 유닛 설계 뷰(50)를 도시한다. 우측에는 유닛의 그래픽 객체 및 각 유닛 간의 연결 그래픽 객체가 드로잉되는 패널이 디스플레이 되고, 좌측에는 툴 박스(40)가 디스플레이 될 수 있다. 툴 박스(40)는 연결과 관련된 버튼들(41, 42, 43), 커스텀 객체의 생성을 위한 버튼의 배치 영역(44) 및 빌트인 객체의 생성을 위한 버튼의 배치 영역(45)을 포함할 수 있다. 빌트인 객체의 생성을 위한 버튼의 배치 영역(45)은 액터 유닛의 생성을 위한 버튼의 배치 영역(46) 및 variable 타입 유닛의 생성을 위한 버튼의 배치 영역(47)을 포함할 수 있다.4 shows an exemplary unit design view 50 . On the right side, a panel on which graphic objects of units and connection graphic objects between each unit are drawn may be displayed, and on the left side, a tool box 40 may be displayed. The tool box 40 may include buttons 41 , 42 , 43 related to connection, an arrangement area 44 of a button for creating a custom object, and an arrangement area 45 of a button for creating a built-in object. have. The button arrangement area 45 for creating a built-in object may include a button arrangement area 46 for creating an actor unit and a button arrangement area 47 for creating a variable type unit.

도 4에 도시된 3개의 유닛(35, 36, 37) 각각은 빌트인 액터 객체(46) 중 리치 액터를 이용하여 신규 유닛으로서 생성된 것으로, 다른 액터 유닛 및 variable 타입 유닛(Axis)과 연결 후, 저장 버튼(52)을 통해 유닛 설계 뷰의 수정 사항이 저장됨에 따라, 커스텀 객체(44)로서 각각 등록된 것으로 이해될 수 있을 것이다. 3개의 유닛(35, 36, 37) 각각이 모두 커스텀 객체(44)로서 등록된 것은, 3개의 유닛 모두 마스터 객체이기 때문이다.Each of the three units 35, 36, 37 shown in FIG. 4 is created as a new unit using a rich actor among the built-in actor objects 46, and after connecting with other actor units and variable type units (Axis), As the modifications of the unit design view are saved through the save button 52 , it may be understood that each is registered as a custom object 44 . The reason that each of the three units 35 , 36 , and 37 are all registered as the custom object 44 is because all three units are master objects.

도 5를 참조하여, 각 유닛의 그래픽 객체 사이의 연결 사용자 입력이 있을 때의 동작을 설명한다. 개발자가 Shoulder 액터 유닛(35)을 마우스 클릭(35-1)한 후 Elbow 액터 유닛(36)까지 드래그(35-2)를 입력함으로써, 상기 연결 사용자 입력을 입력할 수 있을 것이다. Elbow 액터 유닛(36)까지 드래그(35-2)가 입력되는 것에 응답하여, Elbow 액터 유닛에 대한 레퍼런스 이름(35-4)을 입력 받기 위한 다이얼로그(35-3)가 디스플레이 될 수 있다. 다이얼로그(35-3)를 통하여 입력된 레퍼런스 이름은 Elbow 액터 유닛(36)의 인스턴스에 대한 레퍼런스가 Shoulder 액터 유닛(35)의 소스 개체 상에 자동으로 추가될 때 레퍼런스의 이름으로서 기재될 것이다.An operation when there is a connection user input between graphic objects of each unit will be described with reference to FIG. 5 . The developer may input the connection user input by clicking (35-1) on the Shoulder actor unit 35 and then dragging (35-2) to the Elbow actor unit 36. In response to the drag 35-2 being input to the Elbow actor unit 36, a dialog 35-3 for receiving the reference name 35-4 for the Elbow actor unit may be displayed. The reference name input through the dialog 35-3 will be written as the name of the reference when a reference to the instance of the Elbow actor unit 36 is automatically added on the source object of the Shoulder actor unit 35.

개발자는 유닛 설계 뷰(50)에서 연결 그래픽 객체(38-1, 38-2, 38-3)를 더블 클릭하는 등의 지정된 사용자 입력을 입력함으로써, 더블 클릭된 연결 그래픽 객체에 대응되는 코드 뷰로 뷰가 자동 스위칭 되도록 할 수 있다. 예를 들어, 마스터 객체로서 Elbow 액터 유닛(36)과 슬레이브 객체로서 Hand 액터 유닛(37)을 연결하는 연결 그래픽 객체가 더블 클릭(38-2a)되면, 도 6의 코드 뷰(60)가 활성화 된 상태로 디스플레이 되고, 커서는 Hand 액터 유닛의 레퍼런스화 코드(61a)에 위치해 있을 것이다.By inputting a designated user input such as double-clicking the connection graphic object 38-1, 38-2, 38-3 in the unit design view 50, the developer views the code view corresponding to the double-clicked connection graphic object can be set to automatically switch. For example, when the connection graphic object connecting the Elbow actor unit 36 as a master object and the Hand actor unit 37 as a slave object is double-clicked (38-2a), the code view 60 of FIG. 6 is activated status, and the cursor will be located on the reference code 61a of the Hand actor unit.

도 6은 도 4의 유닛 설계 뷰가 소스 코드에 반영된 결과를 설명하기 위한 예시적인 코드 뷰(60)를 도시한다. 도 4의 3개의 유닛(35, 36, 37) 각각은 개별적인 소스 파일의 소스 개체에 대응될 수 있다. 도 6에 도시된 것은 그 중 Elbow 액터 유닛(36)의 소스 개체 중 일부를 표시한 것이다. 도 4에 도시된 바와 같이 Elbow 액터 유닛(36)은 3개의 슬레이브 객체와 연결되어 있다. 3개의 슬레이브 객체는 Shoulder 액터 유닛(35), Hand 액터 유닛(37) 및 variable 타입 유닛인 Axis 유닛이다. 도 6에는 3개의 슬레이브 객체가 Elbow 액터 유닛(36)의 소스 개체 내부에 레퍼런스화(61) 된 점이 도시 되었다.6 shows an exemplary code view 60 for explaining the result of the unit design view of FIG. 4 reflected in the source code. Each of the three units 35 , 36 , 37 of FIG. 4 may correspond to a source entity of an individual source file. 6 is a representation of some of the source entities of the Elbow actor unit 36 among them. As shown in Fig. 4, the Elbow actor unit 36 is connected with three slave objects. The three slave objects are the Shoulder actor unit (35), the Hand actor unit (37) and the Axis unit which is a variable type unit. 6 shows that three slave objects are referenced 61 inside the source object of the Elbow actor unit 36 .

한편, 도 6에 도시된 바와 같이, 자동 레퍼런스화(61)와 관련된 소스 코드는 다른 소스 코드와 시각적으로 구별되도록 디스플레이 될 수 있다. 예를 들어, 도 6에 도시된 것과 같이 자동 레퍼런스화(61)와 관련된 소스 코드는 밑줄 표시(61a, 61b, 61c)될 수 있다. 개발자는 코드 뷰에서 시각적으로 구별되는 자동 레퍼런스화(61) 관련 소스 코드를 보고 밑줄 부분을 클릭함으로써, 클릭된 레퍼런스화(61) 관련 소스 코드에 대응되는 연결 그래픽 객체가 하이라이트 된 유닛 설계 뷰를 확인할 수 있을 것이다. 이로써, 개발자는 코드 뷰에서 소스 코드를 살펴보는 과정에서 각 유닛 간의 마스터, 슬레이브 관계를 쉽게 파악할 수 있게 된다.Meanwhile, as shown in FIG. 6 , the source code related to the automatic reference 61 may be displayed to be visually distinguished from other source codes. For example, as shown in FIG. 6 , the source code related to the automatic reference 61 may be underlined 61a , 61b , 61c . Developers can check the unit design view in which the linked graphic object corresponding to the clicked referenced (61) related source code is highlighted by viewing the source code related to the visually distinct automatic reference (61) in the code view and clicking the underlined part. will be able As a result, the developer can easily understand the master and slave relationship between each unit while examining the source code in the code view.

디폴트로 제공되는 빌트인 액터에는 메시지 송신 함수가 구현되어 있다. 따라서, 빌트인 액터는 빌트인 액터의 소스 개체에 레퍼런스화 된 슬레이브 빌트인 액터로 상기 메시지 송신 함수를 이용하여 메시지를 송신할 수 있는 것이다. 빌트인 액터를 서브클래싱 하여 생성된 액터 유닛 역시 상기 메시지 송신 함수를 이용한 슬레이브 액터로의 메시지 송신이 가능하다.The built-in actor provided by default has a message sending function implemented. Therefore, the built-in actor is a slave built-in actor referenced to the source object of the built-in actor, and can transmit a message using the message sending function. An actor unit created by subclassing a built-in actor can also send a message to a slave actor using the message sending function.

도 7은 Elbow 액터 유닛(36)의 소스 개체의 코드 뷰를 도시하고 있다. Elbow 액터의 소스 개체에는 Hand 액터의 인스턴스에 대한 레퍼런스(61a)가 포함되었으므로, Elbow 액터는 Hand 액터로 메시지 송신 함수(62)를 이용하여 메시지를 송신할 수 있게 된 것을 알 수 있다. 또한, 메시지 송신 함수(62)의 프로토타입에 부합하는 코드 입력을 돕기 위한 코드 입력 가이드 UI가 커서(64)의 위치를 기준으로 표시될 수 있다. 예를 들어, 도 7에는 메시지 송신 함수(62)의 두번째 파라미터가 void 타입의 message인 점을 표시하는 코드 입력 가이드 UI(63)가 도시되어 있다.7 shows a code view of the source object of the Elbow actor unit 36 . Since the source object of the Elbow actor includes a reference 61a to the instance of the Hand actor, it can be seen that the Elbow actor can send a message to the Hand actor by using the message sending function 62 . In addition, a code input guide UI to help input a code corresponding to the prototype of the message sending function 62 may be displayed based on the position of the cursor 64 . For example, FIG. 7 illustrates a code input guide UI 63 indicating that the second parameter of the message sending function 62 is a void type message.

도 8을 참조하여 설명한다. 개발자가 커스텀 액터(44) 중 Hand 액터를 클릭(44-1)하고, Hand 액터의 신규 그래픽 객체의 위치를 지정(37b)함으로써 Hand 액터의 서브 클래싱 액터(37-1)가 유닛 설계 뷰에 추가될 수 있다. 그런데, Hand 액터(37)는 슬레이브 객체로 Elbow 액터(36)와 Axis variable 타입 유닛을 가진다. 따라서, Hand 액터의 서브 클래싱 액터(37-1)는 2개의 슬레이브 객체와의 연결을 필요로 한다. 이러한 슬레이브 객체와의 연결이 누락되는 것을 방지하기 위하여, Hand 액터의 서브 클래싱 액터(37-1)에 상기 2개의 슬레이브 객체가 연결되어야 하는 것을 가리키는 경고 표시(37a)가 디스플레이 될 수 있다.It will be described with reference to FIG. 8 . By clicking (44-1) the Hand actor among the custom actors 44, and specifying the location of the new graphic object of the Hand actor (37b), the subclassing actor 37-1 of the Hand actor is displayed in the unit design view. can be added. By the way, the Hand actor 37 has an Elbow actor 36 and an Axis variable type unit as a slave object. Accordingly, the subclassing actor 37-1 of the Hand actor requires connection with two slave objects. In order to prevent the connection with the slave object from being missed, a warning mark 37a indicating that the two slave objects should be connected may be displayed on the subclassing actor 37-1 of the Hand actor.

경고 표시(37a)는 그 대상 그래픽 객체(37-1)의 인접 위치에 디스플레이 되거나, 지정된 경고 표시 영역에 대상 그래픽 객체의 정보와 함께 디스플레이 될 수 있다.The warning display 37a may be displayed in a position adjacent to the target graphic object 37-1, or may be displayed together with information of the target graphic object in a designated warning display area.

경고 표시(37a)에는 연결이 누락된 슬레이브 객체의 레퍼런스 이름 및 유닛 타입의 목록이 포함될 수 있다.The warning display 37a may include a list of reference names and unit types of slave objects for which connection is missing.

한편, 개발자의 누락 슬레이브 객체 연결의 편의성을 돕기 위해, 상기 유닛 설계 뷰에 표시된 그래픽 객체 중 경고 표시(37a)에 포함된 연결 누락 슬레이브 객체와 유닛 타입이 일치하면서, 유닛의 이름이 상기 연결 누락 슬레이브 객체의 레퍼런스 이름과 가장 유사한 그래픽 객체를 슬레이브 그래픽 객체 후보로 제안하는 연결 제안 그래픽(37c, 37d)이 디스플레이 될 수 있다. 이러한 제안은 개발자가 대부분 레퍼런스의 이름으로 대상 유닛의 이름을 약간 변형한 것을 사용하는 점에 착안한 것이다. 예를 들어, Elbow 액터 유닛(36)이 가지는 Hand 액터 유닛(37)의 레퍼런스 이름은 actorHand인데, Hand 액터 유닛(37)의 이름인 'Hand'와 Hand 액터 유닛(37)의 레퍼런스 이름인 'actorHand'는 'Hand' 부분이 겹치는 것을 알 수 있다.On the other hand, in order to help developers in the convenience of connecting the missing slave object, the unit type is the same as the connection missing slave object included in the warning display 37a among the graphic objects displayed in the unit design view, and the name of the unit is the connection missing slave Connection proposal graphics 37c and 37d that suggest a graphic object most similar to the reference name of the object as a slave graphic object candidate may be displayed. These proposals are inspired by the fact that developers mostly use a slightly modified version of the target unit's name as the name of the reference. For example, the reference name of the Hand actor unit 37 of the Elbow actor unit 36 is actorHand. ' indicates that the 'Hand' part overlaps.

개발자는 연결 제안 그래픽(37c, 37d)을 확인한 후, 자신의 의도에 부합한다면 실제로 연결 제안 그래픽(37c, 37d)과 동일하게 연결 사용자 입력을 입력할 수 있을 것이다.After checking the connection suggestion graphics 37c and 37d, the developer may actually input a connection user input in the same way as the connection suggestion graphics 37c and 37d if it meets his/her intention.

연결 제안 그래픽을 디스플레이 하기 위한 사용자 입력은, 예를 들어 Hand 액터의 서브 클래싱 액터(37-1)의 그래픽 객체에 대한 클릭(37b) 또는 경고 표시(37a)에 대한 롱 클릭 입력이 있는 경우, 연결 제안 그래픽(37c, 37d)이 디스플레이 될 수 있을 것이다.The user input for displaying the connection suggestion graphic is, for example, when there is a click 37b on the graphic object of the subclassing actor 37-1 of the Hand actor or a long click input for the warning display 37a, Connection suggestion graphics 37c and 37d may be displayed.

한편, 개발자는 경고 표시(37a)에 포함된 연결 누락 슬레이브 객체 중 적어도 일부를 삭제할 수도 있다. 예를 들어, 개발자는 경고 표시(37a)에 포함된 레퍼런스 이름 'actorElbow'를 필요 없다 판단하여 'actorElbow'에 대한 마우스 우 클릭 등 사전 정의된 사용자 입력을 입력하는 것에 의하여 디스플레이 되는 삭제 버튼(37e)을 누를 수 있을 것이다. 그런데, Hand 액터의 서브 클래싱 액터(37-1)에 슬레이브 객체로서 'actorElbow'가 필요 없다면, Hand 액터(37) 역시 슬레이브 객체로서 'actorElbow'가 필요 없음을 의미할 것이다. 따라서, 삭제 버튼(37e)이 눌리면, 경고 표시(37a)에서 'actorElbow'가 삭제되는 것은 물론이고, Hand 액터(37)의 슬레이브 객체로서 Elbow 액터(36)를 연결하는 연결 그래픽 객체(38-2) 또한 자동으로 삭제될 것이다. 도 9는 도 8의 삭제 버튼(37e)이 눌린 결과로 업데이트 된 유닛 설계 뷰를 도시한다. 이로서, 불필요한 레퍼런스 변수가 유닛의 소스 개체에 남아 있는 것에 의하여 메모리가 의미 없이 낭비되는 것이 효과적으로 방지될 수 있다.Meanwhile, the developer may delete at least some of the connection missing slave objects included in the warning display 37a. For example, the developer determines that the reference name 'actorElbow' included in the warning display 37a is unnecessary, and the delete button 37e displayed by inputting a predefined user input such as a right-click on 'actorElbow'. you will be able to press However, if the subclassing actor 37-1 of the Hand actor does not need 'actorElbow' as a slave object, it will mean that the Hand actor 37 also does not need 'actorElbow' as a slave object. Therefore, when the delete button 37e is pressed, 'actorElbow' is not only deleted from the warning display 37a, but also a connection graphic object 38-2 that connects the Elbow actor 36 as a slave object of the Hand actor 37 ) will also be deleted automatically. FIG. 9 shows the unit design view updated as a result of pressing the delete button 37e of FIG. 8 . In this way, memory can be effectively prevented from being meaninglessly wasted by unnecessary reference variables remaining in the source object of the unit.

경고 표시(37a)에 다수의 연결 누락 슬레이브 객체가 포함되는 경우, 슬레이브 객체와의 누락된 연결을 다시 생성하는 것에 많은 시간이 소요될 수 있다. 이러한 시간 소비를 줄이기 위해, 자동으로 연결 누락 슬레이브 객체와의 연결을 생성해 주는 기능이 제공될 수 있다. 도 10을 참조하여 설명한다. 경고 표시(37a)의 대상 유닛(37-1)에 대하여 디스플레이 되는 팝업 메뉴(37f)에 Add Members 메뉴(37g)가 포함될 수 있으며, Add Members 메뉴(37g)가 선택되면, 경고 표시(37a)에 포함된 연결 누락 슬레이브 객체와의 연결이 자동으로 생성될 수 있다.When a plurality of missing connection slave objects are included in the warning display 37a, it may take a lot of time to re-create the missing connection with the slave object. In order to reduce such time consumption, a function for automatically creating a connection with a missing connection slave object may be provided. It will be described with reference to FIG. 10 . The Add Members menu 37g may be included in the pop-up menu 37f displayed for the target unit 37-1 of the warning display 37a, and when the Add Members menu 37g is selected, the warning display 37a is displayed. A connection with an embedded missing connection slave object can be created automatically.

Add Members 메뉴(37g) 기능이 실행될 때, 몇몇 실시예들에서는 새로운 유닛을 생성되고, 생성된 새로운 유닛과 경고 표시(37a)의 대상 유닛(37-1)의 연결을 자동으로 생성될 수 있다. 이 경우, 도 11에 도시된 바와 같이, Elbow 액터 유닛의 서브클래싱 액터가 신규로 생성(36-1)되고, Axis variable 타입 유닛 역시 신규로 생성(39-1)되어, 2개의 연결 그래픽 객체(37i, 37h)가 추가될 수 있을 것이다.When the Add Members menu 37g function is executed, in some embodiments a new unit may be created, and a connection between the created new unit and the target unit 37-1 of the warning display 37a may be automatically created. In this case, as shown in FIG. 11, a subclassing actor of the Elbow actor unit is newly created (36-1), and the Axis variable type unit is also newly created (39-1), and two connected graphic objects (37i, 37h) may be added.

Add Members 메뉴(37g) 기능이 실행될 때, 다른 몇몇 실시예들에서는 유닛 설계 뷰에 기존 생성되어 있던 유닛 중에서 연결 누락 슬레이브 객체에 대응되는 유닛이 식별되고, 식별된 유닛과 경고 표시(37a)의 대상 유닛(37-1)의 연결이 자동으로 생성될 수 있다. 즉, Add Members 기능이 실행될 때 무조건 새로운 유닛이 생성되는 것이 아니라, 연결 누락 슬레이브 객체에 대응되는 유닛이 유닛 설계 뷰에 생성되어 있지 않은 경우에 새로운 유닛이 생성되는 것이다.When the Add Members menu 37g function is executed, in some other embodiments, a unit corresponding to the missing connection slave object is identified from among the units previously created in the unit design view, and the identified unit and the target of the warning display 37a The connection of the unit 37 - 1 may be created automatically. That is, a new unit is not unconditionally created when the Add Members function is executed, but a new unit is created when the unit corresponding to the missing connection slave object is not created in the unit design view.

상기 연결 누락 슬레이브 객체에 대응되는 유닛을 상기 유닛 설계 뷰에서 찾기 위해, 연결 누락 슬레이브 객체와 유닛 타입이 일치하면서 유닛의 이름이 상기 연결 누락 슬레이브 객체의 레퍼런스 이름과 가장 유사한 유닛을 찾는 로직이 수행될 수 있을 것이다. 이 경우, 도 12에 도시된 바와 같이, 경고 표시(37a)의 대상 유닛(37-1)의 슬레이브 객체로서, 기존에 유닛 설계 뷰에 생성되어 있던 Elbow 액터 유닛(36)과 Axis variable 타입 유닛(39)이 식별되고, 식별된 2개의 슬레이브 객체에 대한 연결 그래픽 객체(37k, 37j)가 생성될 것이다.In order to find a unit corresponding to the missing connection slave object in the unit design view, a logic to find a unit whose name is most similar to the reference name of the missing connection slave object while matching the connection missing slave object and the unit type is performed. will be able In this case, as shown in Fig. 12, as slave objects of the target unit 37-1 of the warning display 37a, the Elbow actor unit 36 and the Axis variable type unit (36) that were previously created in the unit design view ( 39) will be identified, and connection graphic objects 37k, 37j will be created for the two identified slave objects.

Add Members 메뉴(37g) 기능이 실행될 때, 또 다른 몇몇 실시예들에서는 연결 누락 슬레이브 객체의 유닛 타입에 따라 신규로 슬레이브 객체를 생성할지, 또는 기존에 유닛 설계 뷰에 생성되어 있던 유닛에 연결할지가 결정될 수 있다. 즉, 연결 누락 슬레이브 객체의 유닛 타입이 액터 유닛이라면 신규의 슬레이브 객체가 생성되고, 연결 누락 슬레이브 객체의 유닛 타입이 variable 타입이라면 기존에 유닛 설계 뷰에 생성되어 있던 유닛에 연결될 것이다. 이 경우, 도 13에 도시된 바와 같이, 경고 표시(37a)의 대상 유닛(37-1)의 슬레이브 객체로서, 기존에 유닛 설계 뷰에 생성되어 있던 Axis variable 타입 유닛(39)이 식별되고, Elbow 액터 유닛의 서브클래싱 액터가 신규로 생성(36-1)되며, Axis variable 타입 유닛(39)과 Elbow 서브클래싱 액터 유닛(36-1)에 대한 연결 그래픽 객체(37i, 37j)가 생성될 것이다.When the Add Members menu (37g) function is executed, in some embodiments, depending on the unit type of the missing connection slave object, it is determined whether to create a new slave object or connect to a unit previously created in the unit design view. can be decided. That is, if the unit type of the missing connection slave object is an actor unit, a new slave object is created, and if the unit type of the connection missing slave object is a variable type, it will be connected to the unit previously created in the unit design view. In this case, as shown in FIG. 13 , as a slave object of the target unit 37-1 of the warning display 37a, the Axis variable type unit 39 that was previously created in the unit design view is identified, and Elbow A subclassing actor of the actor unit is newly created (36-1), and the connection graphic objects 37i and 37j for the Axis variable type unit 39 and the Elbow subclassing actor unit 36-1 are created. will be.

도 14는 본 게시의 몇몇 실시예들에서, VariableType의 유닛의 밸류 구조체에 속한 각각의 값들을 GUI 상에서 수정할 수 있도록 제공되는 예시적인 프로퍼티 뷰의 도면이다. 지금까지 사용자의 입력에 따라 마스터 액터 유닛과 슬레이브 액터 유닛 사이의 연결이 생성되면, 슬레이브 액터 유닛의 인스턴스를 가리키는 레퍼런스가 마스터 액터 유닛의 소스 개체에 자동으로 추가됨으로써, 직관적인 레퍼런스화가 코드리스(code-less) 방식으로 제공되는 점을 위주로 설명하였다.14 is a diagram of an exemplary property view that is provided so that each value belonging to a value structure of a unit of VariableType can be modified on a GUI in some embodiments of the present disclosure. So far, when a connection between a master actor unit and a slave actor unit is created according to user input, a reference pointing to an instance of the slave actor unit is automatically added to the source object of the master actor unit, so that intuitive reference is codeless. less) method was mainly explained.

그런데, 상기 유닛 설계 뷰에서 액터 유닛 사이의 연결만 생성될 수 있는 것은 아니고, 액터 유닛과 variable 타입 유닛 사이의 연결 또한 생성될 수 있다. 상술한 바와 같이 variable 타입 유닛은 하나 이상의 밸류를 포함하는 밸류 구조체를 포함하는데, variable 타입 유닛의 밸류는 도 14에 도시된 것과 같은 프로퍼티 뷰를 통하여 코드리스 방식으로 수정할 수 있다. 본 게시의 몇몇 실시예들은, 이렇게 코드리스 방식으로 그 값의 자유로운 수정이 가능한 variable 타입 유닛을 레퍼런스화 하기 위하여, 유닛 설계 뷰에 포함된 마스터 액터 유닛의 그래픽 객체로부터 상기 variable 타입 유닛의 그래픽 객체로 드래그 입력 만 입력하면 되는 조작 편의성을 제공한다.However, in the unit design view, not only the connection between the actor units may be created, but also the connection between the actor unit and the variable type unit may be created. As described above, the variable type unit includes a value structure including one or more values, and the value of the variable type unit can be modified in a codeless manner through the property view as shown in FIG. 14 . Some embodiments of this publication are dragged from the graphic object of the master actor unit included in the unit design view to the graphic object of the variable type unit in order to reference the variable type unit that can freely modify its value in a codeless manner. It provides convenience of operation that only needs to be input.

본 게시의 몇몇 실시예들에서 서로 다른 소스 개체를 표현하는 그래픽 객체 간의 연결(connect)을 위한 사용자 입력이 있을 때 비활성화된 상태의 프로토타입이 소스 코드에 추가되는 것을 설명한다. 본 실시예에서는, 서로 다른 소스 개체를 표현하는 그래픽 객체 간의 연결을 위한 사용자 입력이 있더라도 추가적인 확인을 거쳐 소스 코드를 수정하므로, 마스터 객체의 소스 개체에 슬레이브 객체의 인스턴스를 가리키는 레퍼런스가 추가되는 과정에서 발생할 수 있는 실수나 오류를 미연에 방지할 수 있는 효과를 얻는다.In some embodiments of this publication, it is described that a prototype in an inactive state is added to the source code when there is a user input for a connection between graphic objects representing different source objects. In the present embodiment, even if there is a user input for connection between graphic objects representing different source objects, the source code is modified through additional verification, so in the process of adding a reference pointing to an instance of a slave object to the source object of the master object It has the effect of preventing mistakes or errors that may occur in advance.

도 15를 참조하여 설명한다. 일 실시예에서, 제1 그래픽 객체와 제2 그래픽 객체를 연결하는 사용자 입력이 있더라도, 상기 연결의 그래픽 객체는 비활성화된 상태로 유닛 설계 뷰에 디스플레이 될 수 있다. 이에 더하여, 비활성화 된 상태의 레퍼런스화 코드가 마스터 객체의 소스 개체에 삽입될 수 있다. 상기 비활성화 된 상태의 레퍼런스화 코드는 주석처리 된 코드를 가리킬 수 있다. 도 15의 제1 연결 그래픽 객체(38-4)와 제2 연결 그래픽 객체(38-5)가 비활성화된 상태로 디스플레이 된 연결 그래픽 객체들이다. 비활성화된 상태의 연결 그래픽 객체는 활성화된 상태의 연결 그래픽 객체와 시각적으로 구분되도록 디스플레이 된다. 또한, 도 16에 비활성화된 상태의 연결 그래픽 객체에 대응되는 비활성화된 레퍼런스화 코드(61a, 61b)가 도시된다.It will be described with reference to FIG. 15 . In an embodiment, even if there is a user input connecting the first graphic object and the second graphic object, the graphic object of the connection may be displayed in the unit design view in a deactivated state. In addition, referenced code in a deactivated state can be inserted into the source object of the master object. The referenced code in the inactive state may point to the commented code. The first connected graphic object 38-4 and the second connected graphic object 38-5 of FIG. 15 are connected graphic objects displayed in an inactive state. The connected graphic object in the deactivated state is displayed to be visually distinguished from the connected graphic object in the activated state. In addition, deactivated reference code 61a and 61b corresponding to the connected graphic object in the deactivated state is shown in FIG. 16 .

개발자는 유닛 설계 뷰(50) 화면 상의 비활성화 연결 그래픽 객체 중 활성화 하고자 하는 연결 그래픽 객체를 클릭(38-4a)하는 것에 의하여, 활성화 버튼(38-4b)이 표시되도록 하고 이 활성화 버튼(38-4b)을 누름으로써 비활성화 연결 그래픽 객체를 활성화 하며, 비활성화된 레퍼런스화 코드(61a, 61b)도 활성화 할 수 있을 것이다. 몇몇 실시예에서, 연결 그래픽 객체를 롱클릭 또는 우클릭 하는 것에 의하여 비활성화 연결 그래픽 객체를 활성화 하며, 비활성화된 레퍼런스화 코드(61a, 61b)를 활성화 할 수도 있을 것이다.The developer clicks (38-4a) a connection graphic object to be activated among inactive connection graphic objects on the screen of the unit design view 50 so that the activation button 38-4b is displayed, and the activation button 38-4b ) to activate the deactivated connection graphic object, and the deactivated reference code 61a, 61b may also be activated. In some embodiments, the inactive connection graphic object is activated by long-clicking or right-clicking the connection graphic object, and the deactivated reference code (61a, 61b) may be activated.

일 실시예에서, 활성화 버튼(38-4b)이 눌리면, 비활성화 연결 그래픽 객체의 활성화 및 비활성화된 레퍼런스화 코드(61a, 61b)도 활성화하는 것이 자동으로 수행될 수 있다. 비활성화된 레퍼런스화 코드(61a, 61b)는, 예를 들어 주석 표시(61a-1, 61b-1)를 삭제하는 것에 의하여 활성화될 수 있을 것이다.In one embodiment, when the activation button 38-4b is pressed, the activation of the inactive connection graphic object and also the activation of the inactive referenced code 61a, 61b may be performed automatically. The deactivated referencing code 61a, 61b may be activated, for example by deleting the annotation marks 61a-1, 61b-1.

다른 실시예에서, 활성화 버튼(38-4b)이 눌리면 비활성화된 레퍼런스화 코드(61a, 61b)가 표시되는 소스 코드 뷰가 디스플레이 될 수 있다. 상기 소스 코드 뷰가 표시됨으로써, 개발자는 본인이 원하는 대로 레퍼런스화 코드가 작성되었는지 확인할 수 있을 것이다. 개발자는, 확인 결과 문제가 없다고 판단한 경우, 상기 소스 코드 뷰를 통하여 직접 비활성화된 레퍼런스화 코드(61a, 61b)를 수정함으로써 레퍼런스화 코드를 활성화시킬 수 있을 것이다. 이 과정에서, 개발자는 인스턴스 이름을 수정할 수도 있을 것이다. 다음으로, 상기 소스 코드 뷰를 통한 비활성화된 레퍼런스화 코드(61a, 61b)의 수정이 분석될 수 있다. 상기 분석의 결과 주석의 삭제 등으로 인하여 비활성화된 레퍼런스화 코드(61a, 61b)가 활성화 된 것으로 판단된 경우, 비활성화 연결 그래픽 객체가 활성화된 상태로 업데이트 될 것이다.In another embodiment, when the activation button 38-4b is pressed, a source code view may be displayed in which the deactivated referenced codes 61a, 61b are displayed. By displaying the source code view, the developer will be able to check whether the referenced code has been written as desired. When it is determined that there is no problem as a result of the check, the developer may activate the referenced code by directly modifying the deactivated referenced code 61a and 61b through the source code view. During this process, the developer will be able to modify the instance name. Next, the modification of the deactivated referenced code 61a, 61b through the source code view can be analyzed. As a result of the analysis, when it is determined that the inactive referenced codes 61a and 61b are activated due to deletion of comments, etc., the deactivated connection graphic object will be updated to an activated state.

도 15 내지 도 16을 참조하여 설명한 실시예에서, 개발자는 연결 그래픽 객체를 활성화 하기 위한 사용자 입력을 추가 하는 과정에서, 유닛 간의 연결이 레퍼런스화의 취지에 맞도록 정확하게 되었는지를 자연스럽게 재검토하게 될 것이다. 이 과정에서, 레퍼런스 추가 과정에서 발생할 수 있는 실수나 오류가 미연에 방지될 수 있을 것이다.In the embodiment described with reference to FIGS. 15 to 16 , in the process of adding a user input for activating the connection graphic object, the developer will naturally reexamine whether the connection between units has been accurately matched for the purpose of reference. In this process, mistakes or errors that may occur in the process of adding a reference can be prevented in advance.

다음으로 도 17을 참조하여 몇몇 실시예들을 설명한다. 상기 연결 그래픽 객체는 선형의 형상을 가질 수 있을 것이다. 유닛 설계 뷰에 다수의 연결 그래픽 객체가 표시되는 상황에서 마스터 유닛 객체와 슬레이브 유닛 객체의 연결 관계를 정확하게 파악하기 어려운 점을 해결하기 위해, 연결 그래픽 객체가 가운데 일부는 지워진 형태로 드로잉될 수 있다.Next, some embodiments will be described with reference to FIG. 17 . The connection graphic object may have a linear shape. In order to solve the difficulty of accurately grasping the connection relationship between the master unit object and the slave unit object in a situation where a large number of connection graphic objects are displayed in the unit design view, the connection graphic object may be drawn in a partially erased form.

연결 그래픽 객체를 일부 지움 형태로 변경하기 위해, 마스터 그래픽 객체의 아웃고잉(outgoing) 연결 그래픽 객체가 상기 제1 그래픽 객체에 연결되는 영역에 형성된 아웃고잉 와이어리스 영역(80)에 대한 선택 사용자 입력에 응답하여, 상기 마스터 그래픽 객체의 모든 아웃고잉 연결 그래픽 객체가 가운데 일부가 지워진 형태의 선형으로 디스플레이 될 수 있다(82).In order to change the connection graphic object to a partially erased form, an outgoing connection graphic object of the master graphic object responds to a selection user input for the outgoing wireless region 80 formed in the region connected to the first graphic object Accordingly, all outgoing connection graphic objects of the master graphic object may be displayed linearly in a form in which a part of the center is erased ( 82 ).

또한, 일부 지움 형태의 연결 그래픽 객체를 정상 형태로 변경하기 위해 연결 그래픽 객체의 지워지기 직전 영역(84)에 선택 사용자 입력이 입력될 수 있다(83).In addition, a selection user input may be input to the area 84 immediately before deletion of the connected graphic object in order to change the partially erased connected graphic object to a normal form ( 83 ).

또한, 연결 그래픽 객체를 일부 지움 형태로 변경하기 위해, 슬레이브 그래픽 객체의 인커밍(incoming) 연결 그래픽 객체가 상기 제2 그래픽 객체에 연결되는 영역에 형성된 인커밍 와이어리스 영역(85)에 대한 선택 사용자 입력에 응답하여, 상기 슬레이브 그래픽 객체의 모든 인커밍 연결 그래픽 객체가 가운데 일부가 지워진 형태의 선형으로 디스플레이 될 수 있다(86).In addition, in order to change the connection graphic object to a partially erased form, a selection user input for the incoming wireless region 85 formed in the region where the incoming connection graphic object of the slave graphic object is connected to the second graphic object In response, all incoming connection graphic objects of the slave graphic object may be displayed linearly in a form in which a part of the center is erased ( 86 ).

또한, 몇몇 실시예에서, 연결 그래픽 객체의 정상 형태 및 일부 지움 형태 간의 변경이 자동으로 수행될 수도 있다. 이러한 변경은 상기 유닛 설계 뷰의 그래픽 객체 밀도(density)에 기초하여 수행될 수 있다. 예를 들어, 상기 유닛 설계 뷰의 그래픽 객체의 밀도가 기준치를 초과하는 경우, 연결 그래픽 객체가 일부 지움 형태로 자동 변경되고, 밀도가 기준치 미만인 경우, 연결 그래픽 객체가 정상 형태로 자동 변경될 수 있다. 상기 그래픽 객체의 밀도는 연결 그래픽 객체의 밀도를 가리킬 수 있다. 또한, 몇몇 실시예에서, 상기 그래픽 객체 밀도는 상기 유닛 설계 뷰 전역적으로 측정되는 것이 아니라, 연결 그래픽 객체의 중심점을 기준으로 한 소정 영역을 대상으로 측정될 수도 있다. 이 경우, 연결 그래픽 객체의 밀도가 높은 곳에서는 연결 그래픽 객체가 자동으로 일부 지움 형태로 디스플레이 되고, 연결 그래픽 객체의 밀도가 높지 않은 곳에서는 연결 그래픽 객체가 정상 형태로 디스플레이 되는 효과를 얻을 수 있다.Also, in some embodiments, a change between a normal shape and a partially erased shape of the connected graphic object may be performed automatically. This change may be performed based on the graphic object density of the unit design view. For example, when the density of the graphic object of the unit design view exceeds the reference value, the connected graphic object is automatically changed to a partially erased form, and when the density is less than the reference value, the connected graphic object is automatically changed to the normal form . The density of the graphic object may indicate the density of the connected graphic object. Also, in some embodiments, the graphic object density may not be measured globally in the unit design view, but may be measured in a predetermined area based on a center point of a connected graphic object. In this case, it is possible to obtain the effect that the connected graphic object is automatically displayed in a partially erased form where the density of the connected graphic object is high, and the connected graphic object is displayed in a normal form where the density of the connected graphic object is not high.

다음으로, 타이(tie) 기능에 대한 몇몇 실시예들을 도 18 내지 도 22를 참조하여 설명한다.Next, some embodiments of the tie function will be described with reference to FIGS. 18 to 22 .

타이 기능은 복수의 유닛을 하나의 타이 그래픽 객체 내부에 포함시킴으로써 유닛 설계 뷰의 유닛 배치를 단순하게 한다. 이에 따라 가시성 증대의 효과를 얻을 수 있을 것이다.The tie function simplifies unit placement in the unit design view by including multiple units within one tie graphic object. Accordingly, the effect of increasing visibility may be obtained.

도 18을 참조하여 설명한다. 타이 버튼(43)을 클릭하는 사용자 입력(43-1)이 입력되고, 타이 그래픽 객체의 배치 위치를 지정하는 사용자 입력이 입력되면, 유닛 설계 뷰(50)에 타이 그래픽 객체(90)가 디스플레이 된다. 초기 상태의 타이 그래픽 객체(90)는 비어 있는 상태이다. elbow 액터 유닛(36)의 2개의 슬레이브 액터 유닛인 shoulder 액터 유닛(35)과 hand 액터 유닛(37)은 선택(35-5, 37-2) 및 타이 그래픽 객체(90)로의 드래그 입력(35-6, 37-3)이 입력되는 것에 의하여 타이 그래픽 객체(90)에 삽입될 것이다.It will be described with reference to FIG. 18 . When a user input 43-1 of clicking the tie button 43 is input, and a user input designating an arrangement position of the tie graphic object is input, the tie graphic object 90 is displayed in the unit design view 50 . The tie graphic object 90 in the initial state is in an empty state. The two slave actor units of the elbow actor unit (36), the shoulder actor unit (35) and the hand actor unit (37) are selected (35-5, 37-2) and drag input to the tie graphic object (90) (35- 6, 37-3) will be inserted into the tie graphic object 90 by being input.

shoulder 액터 유닛(35)과 hand 액터 유닛(37)이 타이 그래픽 객체(90)에 함께 삽입될 수 있는 것은, shoulder 액터 유닛(35)과 hand 액터 유닛(37)이 모두 elbow 액터 유닛(36)의 슬레이브 객체이기 때문이다. shoulder 액터 유닛(35)과 hand 액터 유닛(37)은 모두 elbow 액터 유닛(36)과 직접 연결되어 있으므로, shoulder 액터 유닛(35)과 hand 액터 유닛(37)은 elbow 액터 유닛(36)에 대한 관계에서 깊이(depth)가 같다고 표현할 수 있을 것이다. 다시 말하면, shoulder 액터 유닛(35)과 hand 액터 유닛(37)이 타이 그래픽 객체(90)에 함께 삽입될 수 있는 것은, shoulder 액터 유닛(35)과 hand 액터 유닛(37)의 깊이(depth)가 같기 때문이다. 이 때, shoulder 액터 유닛(35)과 hand 액터 유닛(37)은 elbow 액터 유닛(36)을 기준으로 할 때 깊이가 같은 것이므로, 타이 그래픽 객체(90)의 마스터 객체는 elbow 액터 유닛(36)이 될 것이다.The shoulder actor unit (35) and the hand actor unit (37) can be inserted together in the tie graphic object (90), the shoulder actor unit (35) and the hand actor unit (37) are both of the elbow actor unit (36). Because it is a slave object. Both shoulder actor unit (35) and hand actor unit (37) are directly connected with elbow actor unit (36), so shoulder actor unit (35) and hand actor unit (37) have a relationship to elbow actor unit (36). It can be expressed that the depth is the same in . In other words, the shoulder actor unit 35 and the hand actor unit 37 can be inserted together in the tie graphic object 90, the depth of the shoulder actor unit 35 and the hand actor unit 37 is because it is the same At this time, the shoulder actor unit (35) and the hand actor unit (37) have the same depth with respect to the elbow actor unit (36), so the master object of the tie graphic object (90) is the elbow actor unit (36). will be

도 19는 도 18에서의 타이 기능 관련 조작이 완료된 후, 유닛 설계 뷰의 업데이트 결과를 도시한다. 타이 그래픽 객체(90)의 내부에는 삽입된 유닛들의 Elbow 액터 유닛(36)에 대한 레퍼런스 이름 및 유닛 타입이 표시될 수 있다. 이로써, 어떤 슬레이브 객체들이 묶여있는지(tied) 식별할 수 있을 것이다. Elbow 액터 유닛(36)의 다른 슬레이브 객체인 Axis variable 타입 유닛은 타이 그래픽 객체(90) 내부로 삽입되지 않았으므로, Elbow 액터 유닛(36)과 Axis variable 타입 유닛 사이의 연결 그래픽 객체(38-3)는 그대로 유지되고 있는 점을 확인할 수 있다.FIG. 19 shows the update result of the unit design view after the tie function related operation in FIG. 18 is completed. Reference names and unit types for the Elbow actor unit 36 of the inserted units may be displayed inside the tie graphic object 90 . In this way, it will be possible to identify which slave objects are tied. Since the Axis variable type unit, which is another slave object of the Elbow actor unit 36, is not inserted into the tie graphic object 90, the connection graphic object 38-3 between the Elbow actor unit 36 and the Axis variable type unit. It can be seen that is maintained as it is.

한편, 도 20은 타이 그래픽 객체(90)의 마스터 객체(36)가 아닌 다른 유닛(91)도 타이 그래픽 객체(90)를 슬레이브 객체로서 연결(92)할 수 있는 점을 도시한다. 예를 들면, 개발자는 빌트인 유닛 중 Rich 액터를 서브클래싱 하여 새로운 노드로 생성하기 위해, Rich 액터 생성 버튼을 클릭하고(46-1), 유닛의 이름을 'Actor_X'로 입력함으로써, 유닛 설계 뷰(50)에 새로운 유닛으로서 생성해 줄 수 있을 것이다. Meanwhile, FIG. 20 shows that a unit 91 other than the master object 36 of the tie graphic object 90 can also connect the tie graphic object 90 as a slave object 92 . For example, to create a new node by subclassing a Rich Actor among the built-in units, the developer clicks the Create Rich Actor button (46-1) and enters the name of the unit as 'Actor_X' to view the unit design view. You will be able to create it as a new unit at (50).

Actor_X 유닛(91)이 Shoulder 유닛의 인스턴스를 가리키는 레퍼런스 및 Hand 유닛의 인스턴스를 가리키는 레퍼런스를 모두 가져야 하는 경우, 타이 그래픽 객체(90)로 드래그 연결(92)을 하는 것만으로도 Actor_X 유닛(91)의 소스 개체 내부에 Shoulder 유닛의 레퍼런스 및 Hand 유닛의 레퍼런스가 모두 자동으로 추가될 것이다. Actor_X 유닛(91)의 소스 파일을 열고, Actor_X 유닛(91)의 클래스의 생성자를 찾아서 Shoulder 유닛의 인스턴스를 가리키는 레퍼런스를 추가하는 구문(statement) 및 Hand 유닛의 인스턴스를 가리키는 레퍼런스를 추가하는 구문(statement)을 모두 타이핑해야 했던 종래의 IDE와 비교하면, 대폭적인 입력 트래픽의 절감이 가능하다.When the Actor_X unit 91 must have both a reference pointing to an instance of the Shoulder unit and a reference pointing to an instance of the Hand unit, just by dragging connection 92 to the tie graphic object 90, the Actor_X unit 91 is Inside the source object, both the reference of the Shoulder unit and the reference of the Hand unit will be added automatically. A statement to open the source file of the Actor_X unit 91, find the constructor of the class of the Actor_X unit 91 and add a reference pointing to an instance of the Shoulder unit, and a statement to add a reference pointing to an instance of the Hand unit (statement) ), it is possible to significantly reduce input traffic compared to the conventional IDE, which had to type all of them.

물론, 몇몇 실시예에서, 타이 그래픽 객체(90)에 연결될 수 있는 마스터 객체의 수가 하나로 제한될 수도 있다. 이 경우, 타이 그래픽 객체(90)에 포함된 유닛들의 값이 변경되는 것이 복수의 마스터 객체의 소스 객체에서 참조됨으로써 개발자가 의도하지 않은 결과가 발생되는 것이 방지될 수 있다. 또한, 몇몇 실시예에서는, 타이 그래픽 객체(90)에 따라 연결될 수 있는 마스터 객체의 수가 결정될 수도 있다. 예를 들어, 타이 그래픽 객체(90)에 따라 연결될 수 있는 마스터 객체의 수가 하나로 제한되거나, 연결될 수 있는 마스터 객체의 수에 제한이 존재하지 않을 수 있다. 예를 들어, 타이 그래픽 객체(90)에 액터 유닛이 포함된 경우 연결될 수 있는 마스터 객체의 수가 하나로 제한되고, 타이 그래픽 객체(90)에 액터 유닛이 포함되지 않았다면 연결될 수 있는 마스터 객체의 수의 제한이 없을 수 있다.Of course, in some embodiments, the number of master objects that can be linked to the tie graphic object 90 may be limited to one. In this case, the change in the values of the units included in the tie graphic object 90 is referenced in the source object of the plurality of master objects, thereby preventing a result unintended by the developer from occurring. Also, in some embodiments, the number of master objects that can be connected may be determined according to the tie graphic object 90 . For example, the number of master objects that can be connected according to the tie graphic object 90 may be limited to one, or there may be no limit on the number of master objects that can be connected. For example, if the tie graphic object 90 includes an actor unit, the number of master objects that can be connected is limited to one, and if the tie graphic object 90 does not include an actor unit, the number of master objects that can be connected is limited there may not be

도 21을 참조하여 설명한다. 몇몇 실시예들에서, 타이 그래픽 객체(90)를 대상으로 한 깊은 복제(DEEP CLONE)가 수행될 수 있다. 예를 들어, 타이 그래픽 객체(90)를 대상으로 한 소정의 사용자 입력(예를 들어 마우스 우클릭)이 입력되면, 타이 그래픽 객체(90)의 인접 위치에 깊은 복제 버튼(93)이 디스플레이 될 수 있다. 깊은 복제 버튼(93)이 눌린 결과, 복제된 타이 그래픽 객체(95)가 디스플레이 될 것이다. Actor_X 유닛(91)이 원본 타이 그래픽 객체(90)를 슬레이브 객체로서 연결하면 Shoulder 액터 유닛과 Hand 액터 유닛을 Elbow 유닛(36)과 슬레이브 객체로서 공유하게 되는 반면, Actor_X 유닛(91)이 복제된 타이 그래픽 객체(95)를 슬레이브 객체로서 연결하면 Actor_X 유닛(91)은 독자적인 Shoulder 액터 유닛의 레퍼런스와 Hand 액터 유닛의 레퍼런스를 가지게 될 것이다. 이는 참조하는 객체까지도 복제하는 깊은 복제(DEEP CLONE)의 수행에 따른 결과로 이해될 수 있을 것이다.It will be described with reference to FIG. 21 . In some embodiments, DEEP CLONE may be performed on the tie graphic object 90 . For example, when a predetermined user input (for example, a right-click of a mouse) for the tie graphic object 90 is input, the deep duplicate button 93 may be displayed at a position adjacent to the tie graphic object 90 . . As a result of the deep duplicate button 93 being pressed, the duplicated tie graphic object 95 will be displayed. When the Actor_X unit 91 connects the original tie graphic object 90 as a slave object, it shares the Shoulder actor unit and the Hand actor unit as slave objects with the Elbow unit 36, while the Actor_X unit 91 connects the cloned tie. If the graphic object 95 is connected as a slave object, the Actor_X unit 91 will have its own reference of the Shoulder actor unit and the reference of the Hand actor unit. This can be understood as a result of performing deep cloning (DEEP CLONE) that duplicates even the referenced object.

도 22를 참조하여 복수의 마스터 객체와 연결된 슬레이브 객체를 타이 그래픽 객체에 삽입하는 경우에 대하여 설명한다. Variable 타입 유닛(99)이 두개의 마스터 객체(100, 101)와 연결된 상황에서, Variable 타입 유닛(99)을 타이 그래픽 객체(102)에 삽입시키는 사용자 입력(103)이 입력되는 경우, 타이 그래픽 객체(102)에 삽입되는 Variable 타입 유닛(99)의 마스터 객체를 지정 받기 위한 다이얼로그(103-1) 및 매스터 객체의 체크박스가 디스플레이 될 수 있다. 도 22의 상단에 상술한 상황이 도시되어 있다.A case in which a slave object connected to a plurality of master objects is inserted into a tie graphic object will be described with reference to FIG. 22 . In a situation where the Variable type unit 99 is connected to the two master objects 100 and 101, when a user input 103 for inserting the Variable type unit 99 into the tie graphic object 102 is input, the tie graphic object A dialog 103-1 for designating a master object of the Variable type unit 99 inserted in 102 and a checkbox of the master object may be displayed. The situation described above is shown at the top of FIG. 22 .

타이 그래픽 객체에 삽입되는 Variable 타입 유닛(99)의 마스터 객체로 Actor_Y(101)가 지정된 경우의 변화는 도 22의 하단에 도시된다. Variable 타입 유닛(99)이 타이 그래픽 객체에 삽입됨에 따라, Variable 타입 유닛(99)과 그 부모 객체로 지정된 Actor_Y(101) 사이의 연결 그래픽 객체는 제거될 것이다. 반면에, Variable 타입 유닛(99)은 타이 그래픽 객체로의 삽입에도 불구하고 그대로 유지될 것이다. Actor_X(100)과 Variable 타입 유닛(99) 사이의 마스터/슬레이브 관계가 그대로 유지되기 때문이다. A change in the case where Actor_Y 101 is designated as the master object of the Variable type unit 99 inserted into the tie graphic object is shown at the bottom of FIG. 22 . As the Variable type unit 99 is inserted into the tie graphic object, the connection graphic object between the Variable type unit 99 and the Actor_Y 101 designated as its parent object will be removed. On the other hand, the Variable type unit 99 will remain intact despite insertion into the tie graphic object. This is because the master/slave relationship between the Actor_X 100 and the Variable type unit 99 is maintained as it is.

지금까지 도 18 내지 도 22를 참조하여 타이(tie) 기능 관련 실시예들을 설명하였다. 상술된 타이 기능 관련 실시예들에 따르면, 마스터 객체를 기준으로 깊이(depth)가 동일한 모든 유닛은 타이 객체에 삽입될 수 있다. 이와는 다르게, 타이(tie) 기능 관련 다른 몇몇 실시예들에서 타이 객체에 삽입될 수 있는 유닛의 타입이 제한될 수 있다. 예를 들어, 타이 객체에는 액터 타입의 유닛은 삽입되지 못하고, Variable 타입 유닛만이 삽입될 수 있다. 이 경우, 다양한 값들을 묶는 용도로 타이 기능의 성격을 한정할 수 있다. 즉, 액터 유닛이 다양한 Variable 타입 유닛들을 슬레이브 객체로 가지는 경우, 그 Variable 타입 유닛들을 타이 객체로 묶어 표시함으로써, 상기 액터 유닛이 참조하는 Variable 타입 유닛들이 직관적으로 이해될 수 있는 것이다. 이때, 액터 타입의 유닛이 타이 객체에 삽입되는 경우 에러를 가리키는 피드백이 표시될 수 있다. 이로써, 개발자가 실수로 액터를 타이로 묶는 것이 방지될 수 있을 것이다.Up to now, embodiments related to a tie function have been described with reference to FIGS. 18 to 22 . According to the above-described tie function-related embodiments, all units having the same depth with respect to the master object may be inserted into the tie object. Alternatively, in some other embodiments related to the tie function, the type of unit that can be inserted into the tie object may be limited. For example, an actor type unit cannot be inserted into a tie object, but only a Variable type unit can be inserted. In this case, the nature of the tie function may be limited for the purpose of bundling various values. That is, when the actor unit has various variable type units as slave objects, the variable type units referenced by the actor unit can be intuitively understood by binding and displaying the variable type units as a tie object. In this case, when an actor-type unit is inserted into a tie object, feedback indicating an error may be displayed. This will prevent developers from accidentally tying actors.

다음으로 도 23을 참조하여 본 게시의 또 다른 실시예에 따른 소프트웨어 개발 방법을 설명한다. 도 23은 도 2를 참조하여 설명한 액터 유닛에 대한 FSM 편집기가 실행된 이후에 실행될 수 있는 일련의 동작들을 제시한다. 상술한 유닛 설계 뷰에 도시된 액터 유닛의 그래픽 객체에 대한 소정의 사용자 입력(예를 들어, 좌측 더블 클릭)에 응답하여, 상기 액터 유닛을 대상으로 한 FSM 편집을 위한 FSM 뷰가 디스플레이 된다(S119). 다음으로 유닛 설계 뷰와 유사하게 각 상태를 생성하기 위한 사용자 입력을 입력 받아, FSM 뷰에 각 상태의 그래픽 객체가 디스플레이 된다(S121).Next, a software development method according to another embodiment of the present disclosure will be described with reference to FIG. 23 . 23 presents a series of operations that may be executed after the FSM editor for the actor unit described with reference to FIG. 2 is executed. In response to a predetermined user input (eg, left double-click) for a graphic object of an actor unit shown in the above-described unit design view, an FSM view for FSM editing for the actor unit is displayed (S119) ). Next, similar to the unit design view, a user input for generating each state is received, and a graphic object of each state is displayed on the FSM view (S121).

도 23에 도시된 각각의 동작이 꼭 도 2의 각 동작이 수행된 이후에 수행되어야 하는 것은 아니다. 즉, 도 23의 방법은 독자적으로 수행될 수도 있을 것이다. 이 경우, 도 23의 방법은 FSM 방식으로 동작하는 유닛을 포함하는 프로그램의 개발 방법으로 이해될 수 있을 것이다.Each operation shown in FIG. 23 is not necessarily performed after each operation of FIG. 2 is performed. That is, the method of FIG. 23 may be independently performed. In this case, the method of FIG. 23 may be understood as a method of developing a program including a unit operating in the FSM method.

이미 설명한 바와 같이, 유닛 설계 뷰 상에 생성된 각각의 액터 유닛은 그 자체가 개별적인 FSM 머신으로 이해될 수 있다. 따라서, 서로 다른 액터 유닛은 각자의 FSM 다이어그램을 갖는 것으로 이해될 수 있을 것이다.As already explained, each actor unit created on the unit design view can itself be understood as an individual FSM machine. Accordingly, it may be understood that different actor units have their own FSM diagrams.

개발자는, 유닛 설계 뷰에서 복수의 유닛을 배치하고 각 유닛 간의 마스터/슬레이브 관계를 정의하는 것에 의하여 머신을 설계 할 수 있으며, 각 유닛 간의 마스터/슬레이브 관계를 각 유닛의 그래픽 객체를 방향성을 가지도록 연결하는 사용자 입력을 통하여 지정하기만 하면, 슬레이브 유닛의 소스 개체의 인스턴스를 가리키는 레퍼런스가 마스터 유닛의 소스 개체 내부에 자동으로 선언되는 점을 설명 하였다.A developer can design a machine by arranging a plurality of units in the unit design view and defining a master/slave relationship between each unit. It has been explained that a reference pointing to an instance of the source object of the slave unit is automatically declared inside the source object of the master unit by simply designating it through the user input to connect.

즉, 상기 머신에 포함되는 유닛들 간의 연결이 소스 개체의 자동 수정이라는 결과를 가져오는 점을 이해할 수 있을 것이다. 도 23에서는, 그 범위를 좀더 좁혀서 상기 머신에 포함되는 액터 유닛에 포함되는 모듈들 간의 연결이 소스 개체의 자동 수정이라는 결과를 가져오는 점을 설명한다. 상술한 바와 같이, 액터 유닛은 FSM 기반으로 동작하고, 상기 액터 유닛에 포함되는 모듈들 간의 연결은 액터 유닛의 스테이트 다이어그램에 포함되는 각각의 상태(state) 간의 연결이거나, 상기 상태와 특정 상태에서 다른 상태로 전환(transition)될 때 수행되는 액션 함수 간의 연결일 수 있다.That is, it may be understood that the connection between units included in the machine results in automatic modification of the source entity. In FIG. 23, the scope is further narrowed to explain that the connection between modules included in the actor unit included in the machine results in automatic modification of the source entity. As described above, the actor unit operates based on FSM, and the connection between modules included in the actor unit is a connection between each state included in the state diagram of the actor unit, or different from the state in a specific state. It may be a connection between action functions that are performed when transitioning to a state.

상기 FSM 뷰에서 제1 상태와 제2 상태 사이의 연결 사용자 입력이 입력되는 경우(S123), 그 트리거 메시지의 이름과, 액션 함수명을 입력 받기 위한 다이얼로그가 자동으로 디스플레이 된다(S125). 도 24를 참조하면, 제1 상태의 그래픽 객체(103)에 대한 선택 사용자 입력(104) 및 제2 상태의 그래픽 객체(106)로의 드래그 사용자 입력(105)이 입력되면, 그 응답으로 트리거 메시지의 이름과, 액션 함수명을 입력 받기 위한 다이얼로그(107)가 자동으로 디스플레이 되는 것이다. 다이얼로그(107)를 통하여 트리거 메시지의 이름과 액션 함수명이 입력되면, 상기 트리거 메시지의 이름 및 상기 액션 함수명을 이용하여 상기 액션 함수의 프로토타입이 자동으로 생성되고, 상기 프로토타입이 액터 유닛의 소스 코드에 자동으로 추가될 것이며(S128), 상기 액션 함수의 그래픽 객체가 상기 FSM 뷰에 자동으로 추가될 것이다.When a connection user input between the first state and the second state is input in the FSM view (S123), a dialog for receiving the name of the trigger message and the name of the action function is automatically displayed (S125). Referring to FIG. 24 , when the selection user input 104 for the graphic object 103 in the first state and the drag user input 105 to the graphic object 106 in the second state are input, a trigger message is generated in response thereto. A dialog 107 for inputting a name and an action function name is automatically displayed. When the name of the trigger message and the name of the action function are input through the dialog 107, a prototype of the action function is automatically generated using the name of the trigger message and the name of the action function, and the prototype is the source code of the actor unit will be automatically added to (S128), and the graphic object of the action function will be automatically added to the FSM view.

또한, 도 25에 도시된 바와 같이, 제1 상태의 그래픽 객체(103)에 대한 선택 사용자 입력(108) 및 액션 함수의 그래픽 객체(110)로의 드래그 사용자 입력(109)이 입력되면, 그 응답으로서 트리거 메시지의 이름을 입력 받기 위한 다이얼로그(107)가 자동으로 디스플레이 되는 것이다. 다이얼로그(107)를 통하여 트리거 메시지의 이름이 입력되면, 상기 트리거 메시지의 이름을 이용하여 상기 액션 함수의 프로토타입이 자동으로 업데이트 될 것이다.In addition, as shown in FIG. 25 , when a selection user input 108 for the graphic object 103 in the first state and a drag user input 109 to the graphic object 110 of an action function are input, as a response A dialog 107 for receiving the name of the trigger message is automatically displayed. When the name of the trigger message is input through the dialog 107, the prototype of the action function will be automatically updated using the name of the trigger message.

또한, 액션 함수의 그래픽 객체(110)에 대한 선택 사용자 입력(111) 및 제3 상태의 그래픽 객체(113)로의 드래그 사용자 입력(112)이 입력되면, 상기 액션 함수의 리턴 상태가 자동으로 상기 제3 상태로 업데이트 될 것이다.In addition, when the selection user input 111 for the graphic object 110 of the action function and the drag user input 112 to the graphic object 113 in the third state are input, the return state of the action function is automatically changed to the first state. 3 will be updated with status.

도 26은 도 25의 FSM 뷰 조작의 결과로 상기 액터 유닛의 상태 다이어그램(state diagram)이 업데이트 된 결과를 도시한다. 한편, 개발자가, 도 26의 상태 다이어그램 상황에서, 상태1에서 MsgBegin 메시지가 발생되면 상태2로 천이하는 것을 가리키는 상태 천이(state transition) 추가 입력을 입력하는 경우, 상태1에서 MsgBegin 메시지가 발생될 때 실행되는 AcMid 액션 함수의 기존 그래픽 객체(110)가 이미 존재하므로, 기존의 그래픽 객체(110)로부터 상태2의 그래픽 객체(106)로의 연결 그래픽 객체(미도시) 만 추가로 디스플레이 된다. 이처럼, 그래픽 객체의 중복 표시가 방지됨으로써, 개발자의 혼동이 방지되고, FSM 뷰의 공간이 낭비되는 것을 막을 수 있다.FIG. 26 shows the result of updating the state diagram of the actor unit as a result of FSM view manipulation of FIG. 25 . On the other hand, in the state diagram situation of FIG. 26, when the developer inputs an additional input for state transition indicating transition to state 2 when the MsgBegin message is generated in state 1, when the MsgBegin message is generated in state 1 Since the existing graphic object 110 of the AcMid action function to be executed already exists, only the graphic object (not shown) connected from the existing graphic object 110 to the graphic object 106 of the state 2 is additionally displayed. In this way, overlapping display of graphic objects is prevented, thereby preventing developer confusion and wasting space in the FSM view.

몇몇 실시예에서, 액션 수행 후 복수의 상태로의 천이(transition)를 포함하는 상태 다이어그램이 작성될 수도 있을 것이다. 이 때, 도 27에 도시된 바와 같이, 목적지 상태를 추가하기 위한 소정의 사용자 입력(예를 들어, 쉬프트 키 클릭과 동시에 마우스 버튼 클릭)(114)이 액션 함수의 그래픽 객체(110)에 입력되고 추가되는 목적지 상태(106)를 지정하는 사용자 입력(예를 들어, 마우스 드래그)(115)이 더 입력되면, 도 28에 도시된 바와 같이 액션 함수의 그래픽 객체(110)와 추가 목적지 상태(106) 사이의 연결 그래픽 객체(115)가 디스플레이 될 수 있다. 그런데, 액션 함수의 그래픽 객체(110)와 추가 목적지 상태(106)가 연결된 직후에는, 액션 함수의 구문(statement)에 추가 목적지 상태(106)로의 return이 포함되지 않았을 것이다. 개발자가 추가 목적지 상태(106)로의 return에 대한 액션 함수의 코딩을 누락하는 것을 방지하기 위해, 액션 함수의 그래픽 객체(110)에 상태 다이어그램과 소스 코드의 미스매치를 가리키는 경고 표시(116)가 디스플레이 될 수 있다. In some embodiments, a state diagram may be created that includes transitions to a plurality of states after performing an action. At this time, as shown in FIG. 27 , a predetermined user input for adding a destination state (for example, clicking the shift key and clicking a mouse button at the same time) 114 is input to the graphic object 110 of the action function, and When a user input (eg, mouse drag) 115 designating the destination state 106 to be added is further inputted, the graphic object 110 of the action function and the additional destination state 106 as shown in FIG. 28 are further inputted. A connection graphic object 115 between them may be displayed. However, immediately after the graphic object 110 of the action function and the additional destination state 106 are connected, the return to the additional destination state 106 would not be included in the statement of the action function. To prevent the developer from missing coding the action function for return to an additional destination state 106 , a warning indication 116 indicating a mismatch between the state diagram and the source code is displayed in the graphical object 110 of the action function. can be

FSM 뷰와 소스 코드의 미스매치를 가리키는 경고 표시가 디스플레이 되는 다른 실시예를 설명한다. 도 29을 참조하면, 상태1에서 액션 함수가 실행되기 위해 발생되는 트리거 메시지가 삭제되는(119) 사용자 입력이 입력될 수 있다. 이러한 삭제에 따라, 상태1에서 액션 함수가 실행되기 위한 조건이 누락된 상태가 되는 것이다. 이러한 트리거 메시지의 누락을 알리기 위해, 상태1의 그래픽 객체(103)에서 액션 함수 그래픽 객체(110)를 연결하는 연결 그래픽 객체에 트리거 메시지 누락을 가리키는 경고 표시(118)가 디스플레이 될 수 있다. 물론, 특정 상태에서 트리거 메시지가 발생되지 않더라도 저절로 다른 상태로 변경되는 바이패스 상황도 존재할 수 있는데, 이러한 바이패스 상황을 가리키는 연결 그래픽 객체는 시각적으로 일반 연결 그래픽 객체와 구분되게 디스플레이 될 수 있다. 예를 들어, 도 30에 도시된 바와 같이 상태1의 그래픽 객체(103)와 액션 함수의 그래픽 객체(110)는 점선 형상의 연결 그래픽 객체(120)로 연결될 수 있다. 개발자가 점선 형상의 연결 그래픽 객체(120)를 보면, 상태1은 별도의 메시지 발생이 없이도 자연스럽게 상태2 또는 상태3으로 전이(transition)되는 것을 직관적으로 이해할 수 있을 것이다.Another embodiment is described in which a warning indication indicating a mismatch between the FSM view and the source code is displayed. Referring to FIG. 29 , a user input for deleting ( 119 ) a trigger message generated to execute an action function in state 1 may be input. According to this deletion, the condition for executing the action function in state 1 is missing. In order to notify the omission of the trigger message, a warning display 118 indicating the omission of the trigger message may be displayed in the graphic object 103 in the state 1 to the connection graphic object connecting the action function graphic object 110 . Of course, even if a trigger message is not generated in a specific state, a bypass situation that automatically changes to another state may exist. For example, as shown in FIG. 30 , the graphic object 103 of the state 1 and the graphic object 110 of the action function may be connected by a connection graphic object 120 having a dotted line shape. When the developer sees the connection graphic object 120 of the dotted line shape, it can be intuitively understood that state 1 is naturally transitioned to state 2 or state 3 without generating a separate message.

지금까지 도 27 내지 도 30을 참조하여 설명한 바와 같이, FSM 뷰에 대한 다양한 조작에 의하여 업데이트 된 상태 다이어그램과 자동 소스 코드 수정에 따른 소스 코드 프로토타입 간의 미스매치가 발생될 수 있는데, 이러한 미스매치가 발생되는 경우 본 기재의 실시예들에 따른 FSM 뷰는 관련 그래픽 객체에 인접하여 경고 표시를 디스플레이 함으로써, 개발자의 실수를 방지할 수 있다.As described with reference to FIGS. 27 to 30, a mismatch may occur between the updated state diagram and the source code prototype according to automatic source code modification by various manipulations on the FSM view. When generated, the FSM view according to embodiments of the present disclosure displays a warning indication adjacent to the related graphic object, thereby preventing developer's mistakes.

상기 FSM 뷰에 대한 조작은 FSM 뷰를 종료할 때(S130)까지 반복될 것이다.The manipulation of the FSM view will be repeated until the FSM view is terminated (S130).

지금까지 도 2 및 도 23의 순서도를 통하여 설명된 각각의 동작들을 포함하는 방법을 실시하면, 상위 개념의 소프트웨어 컴포넌트 사이의 연결(connect)을 가리키는 GUI 기반 사용자 입력에 따른 사항을 소스 코드에 반영하고, 특정 소프트웨어 컴포넌트 내부의 하위 개념의 모듈 사이의 연결을 가리키는 GUI 기반 사용자 입력에 따른 사항을 상기 소프트웨어 컴포넌트의 소스 코드에 반영함으로써, 계층적 프로토타이핑을 지원할 수 있는 효과를 얻을 수 있을 것이다.When the method including each operation described through the flowcharts of FIGS. 2 and 23 is implemented, matters according to the GUI-based user input indicating the connection between the software components of the higher concept are reflected in the source code, , it will be possible to obtain the effect of supporting hierarchical prototyping by reflecting the matter according to the GUI-based user input indicating the connection between sub-concept modules within a specific software component to the source code of the software component.

지금까지 도 1 내지 도 30을 참조하여 설명된 본 게시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical idea of the present disclosure described with reference to FIGS. 1 to 30 may be implemented as computer-readable codes on a computer-readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded in the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet and installed in the other computing device, thereby being used in the other computing device.

이하, 본 게시의 몇몇 실시예들에 따른 예시적인 컴퓨팅 장치의 하드웨어 구성을 도 31을 참조하여 설명하기로 한다. 도 31을 참조하여 설명하는 컴퓨팅 장치는, 예를 들어 도 1을 참조하여 설명한 개발자 단말 또는 IDE 서비스 서버의 하드웨어 구성일 수 있다.Hereinafter, a hardware configuration of an exemplary computing device according to some embodiments of the present disclosure will be described with reference to FIG. 31 . The computing device described with reference to FIG. 31 may be, for example, a hardware configuration of the developer terminal or the IDE service server described with reference to FIG. 1 .

도 31은 본 게시의 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다. 컴퓨팅 장치(1000)는 하나 이상의 프로세서(1100), 시스템 버스(1600), 통신 인터페이스(1200), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램(1500)을 로드(load)하는 메모리(1400)와, 컴퓨터 프로그램(1500)을 저장하는 스토리지(1300)를 포함할 수 있다.31 is an exemplary hardware configuration diagram that may implement a computing device in various embodiments of the present disclosure. The computing device 1000 includes one or more processors 1100, a system bus 1600, a communication interface 1200, and a memory 1400 for loading a computer program 1500 performed by the processor 1100; It may include a storage 1300 for storing the computer program 1500 .

프로세서(1100)는 컴퓨팅 장치(1000)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1100)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1100)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1000)는 둘 이상의 프로세서를 구비할 수 있다.The processor 1100 controls the overall operation of each component of the computing device 1000 . The processor 1100 includes at least one of a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphic processing unit (GPU), or any type of processor well known in the art. may be included. Also, the processor 1100 may perform an operation on at least one application or program for executing the method/operation according to various embodiments of the present disclosure. The computing device 1000 may include two or more processors.

메모리(1400)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1400)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1300)로부터 하나 이상의 컴퓨터 프로그램(1500)을 로드(load) 할 수 있다. 메모리(1400)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다. 시스템 버스(1600)는 컴퓨팅 장치(1000)의 구성 요소 간 통신 기능을 제공한다.The memory 1400 stores various data, commands, and/or information. The memory 1400 may load one or more computer programs 1500 from the storage 1300 to execute methods/operations according to various embodiments of the present disclosure. An example of the memory 1400 may be a RAM, but is not limited thereto. The system bus 1600 provides a communication function between components of the computing device 1000 .

시스템 버스(1600)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다. 통신 인터페이스(1200)는 컴퓨팅 장치(1000)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(1200)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(1200)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 스토리지(1300)는 하나 이상의 컴퓨터 프로그램(1500)을 비임시적으로 저장할 수 있다. 스토리지(1300)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The system bus 1600 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus. The communication interface 1200 supports wired/wireless Internet communication of the computing device 1000 . The communication interface 1200 may support various communication methods other than Internet communication. To this end, the communication interface 1200 may be configured to include a communication module well known in the art. The storage 1300 may non-temporarily store one or more computer programs 1500 . The storage 1300 may include a non-volatile memory such as a flash memory, a hard disk, a removable disk, or any type of computer-readable recording medium well known in the art.

컴퓨터 프로그램(1500)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(1500)이 메모리(1400)에 로드 되면, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.The computer program 1500 may include one or more instructions in which methods/operations according to various embodiments of the present invention are implemented. When the computer program 1500 is loaded into the memory 1400 , the processor 1100 may execute the one or more instructions to perform methods/operations according to various embodiments of the present disclosure.

예시적인 컴퓨터 프로그램(1500)은 제1 소스 객체를 가리키는 제1 그래픽 객체와 제2 소스 객체를 가리키는 제2 그래픽 객체를 프로그램 개발 소프트웨어에 의하여 제공되는 복수의 뷰 중 유닛 설계 뷰에 디스플레이 하는 인스트럭션과, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 사용자 입력이 입력되면, 상기 제2 소스 객체의 인스턴스를 가리키는 레퍼런스가 상기 제1 소스 객체에 추가되도록 소스 코드를 자동으로 수정하는 인스트럭션과, 상기 유닛의 제1 상태(state)를 가리키는 제1 그래픽 객체와 상기 유닛의 제2 상태를 가리키는 제2 그래픽 객체를 프로그램 개발 소프트웨어에 의하여 제공되는 복수의 뷰 중 FSM 뷰에 디스플레이 하는 인스트럭션과, 상기 제1 그래픽 객체로부터 상기 제2 그래픽 객체로의 연결을 생성하는 상기 FSM 뷰에서의 사용자 입력이 입력되는 것에 응답하여, 트리거 메시지 이름과 액션 함수명을 입력 받기 위한 다이얼로그를 자동으로 디스플레이 하는 인스트럭션과, 상기 다이얼로그를 통하여 입력된 트리거 메시지 이름 및 액션 함수명을 이용하여 상기 유닛의 소스 코드에 상기 액션 함수의 프로토타입을 자동으로 추가하는 인스트럭션 중 적어도 일부를 포함할 수 있다. The exemplary computer program 1500 includes instructions for displaying a first graphic object pointing to a first source object and a second graphic object pointing to a second source object in a unit design view of a plurality of views provided by the program development software; When a user input in the unit design view connecting the first graphic object and the second graphic object is input, the source code is automatically added so that a reference pointing to an instance of the second source object is added to the first source object. Instruction for modifying, and displaying a first graphic object indicating a first state of the unit and a second graphic object indicating a second state of the unit in an FSM view among a plurality of views provided by the program development software In response to a user input in the FSM view that creates an instruction and a connection from the first graphic object to the second graphic object, automatically displaying a dialog for receiving a trigger message name and an action function name It may include at least a part of instructions and instructions for automatically adding the prototype of the action function to the source code of the unit using the trigger message name and the action function name input through the dialog.

다른 예시적인 컴퓨터 프로그램(1500)은, 제1 액터 그래픽 객체에서 제2 액터 그래픽 객체로의 연결을 가리키는 사용자 입력이 입력되면, 상기 제2 액터의 인스턴스를 가리키는 레퍼런스가 상기 제1 액터의 소스에 추가되도록 상기 제1 액터의 소스 코드를 자동으로 수정하는 인스트럭션과, 상기 제1 액터에 대한 FSM(Finite State Machine) 편집기 진입을 가리키는 사용자 입력이 입력되면, 상기 제1 액터의 FSM 편집 뷰를 디스플레이 하는 인스트럭션과, 상기 FSM 편집 뷰를 통해 상기 제1 액터의 제1 상태(state)를 가리키는 그래픽 객체로부터 상기 제1 액터의 제2 상태를 가리키는 그래픽 객체로의 연결을 생성하는 사용자 입력이 입력되면, 상기 제1 상태에서 상기 제2 상태로 전환(transition)될 때 수행되는 액션 함수의 프로토타입을 상기 제1 액터의 소스 코드에 자동으로 추가하는 인스트럭션 중 적어도 일부를 포함할 수 있다.Another exemplary computer program 1500 is, when a user input indicating a connection from a first actor graphic object to a second actor graphic object is input, a reference pointing to an instance of the second actor is added to the source of the first actor An instruction for automatically modifying the source code of the first actor so as to be possible, and an instruction for displaying the FSM edit view of the first actor when a user input indicating entry into the FSM (Finite State Machine) editor for the first actor is input And, when a user input for creating a connection from a graphic object indicating a first state of the first actor to a graphic object indicating a second state of the first actor is input through the FSM edit view, the second The method may include at least a part of instructions for automatically adding a prototype of an action function to be performed when transitioning from the first state to the second state to the source code of the first actor.

이상 첨부된 도면을 참조하여 본 명세서의 실시예들을 설명하였지만, 본 명세서의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서의 실시예들이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present specification have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the embodiments of the present specification pertain can change the specific embodiments of the present specification without changing the technical spirit or essential features. It can be understood that it can also be implemented in a form. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent range should be interpreted as being included in the scope of the technical ideas defined by the present invention.

Claims (37)

컴퓨팅 장치에서 수행되는 방법에 있어서,
제1 소스 개체를 가리키는 제1 그래픽 객체와 제2 소스 개체를 가리키는 제2 그래픽 객체를 프로그램 개발 소프트웨어에 의하여 제공되는 복수의 뷰 중 유닛 설계 뷰에 디스플레이 하는 단계; 및
상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 사용자 입력이 입력되면, 상기 제1 소스 개체가 상기 제2 소스 개체에 대한 레퍼런스를 포함하도록 상기 제1 소스 개체의 소스 코드를 자동으로 수정하는 단계를 포함하는,
소프트웨어 개발 방법.
A method performed on a computing device, comprising:
displaying the first graphic object pointing to the first source object and the second graphic object pointing to the second source object on a unit design view among a plurality of views provided by the program development software; and
When a user input in the unit design view connecting the first graphic object and the second graphic object is input, the source of the first source object is such that the first source object includes a reference to the second source object. including the step of automatically correcting the code;
How to develop software.
제1 항에 있어서,
상기 프로그램 개발 소프트웨어는,
복수의 액터(Actor)들과 상기 복수의 액터들 사이에 송수신 되는 메시지를 구성 요소로 포함 하는 머신(machine)의 구동 프로그램 개발을 위한 통합 개발 환경(Integrated Development Environment; IDE)이고,
상기 제1 소스 개체는 상기 복수의 액터들 중 제1 액터를 구현한 소스 개체이고,
상기 제2 소스 개체는 상기 복수의 액터들 중 제2 액터를 구현한 소스 개체인,
소프트웨어 개발 방법.
The method of claim 1,
The program development software,
It is an integrated development environment (IDE) for developing a driving program of a machine including a plurality of actors and messages transmitted and received between the plurality of actors as components,
The first source entity is a source entity that implements a first actor among the plurality of actors,
The second source entity is a source entity that implements a second actor among the plurality of actors,
How to develop software.
제2 항에 있어서,
상기 제1 액터 및 상기 제2 액터는 상기 프로그램 개발 소프트웨어에 의하여 디폴트로 제공되는 빌트인 액터 또는 상기 빌트인 액터를 서브클래싱(subclassing)한 서브클래싱 액터이고, 상기 빌트인 액터는 수신자 빌트인 액터로의 메시지 송신 기능을 제공하는 메시지 송신 함수를 제공하되, 상기 빌트인 액터의 소스 객체에 상기 수신자 빌트인 액터의 인스턴스를 가리키는 레퍼런스가 포함된 것이고,
상기 소스 코드를 수정하는 단계는,
상기 소스 코드의 수정 이후, 상기 제1 액터에서 상기 제2 액터로의 메시지 송신을 위한 상기 메시지 송신 함수의 코드 입력 가이드 UI를 상기 제1 소스 객체의 코드 뷰에 표시하는 단계를 포함하는,
소프트웨어 개발 방법.
3. The method of claim 2,
The first actor and the second actor are a built-in actor provided by default by the program development software or a subclassing actor that subclasses the built-in actor, and the built-in actor is a message to a receiver built-in actor Provide a message sending function that provides a sending function, wherein the source object of the built-in actor includes a reference pointing to an instance of the receiver built-in actor,
The step of modifying the source code is,
After the source code is modified, displaying a code input guide UI of the message sending function for sending a message from the first actor to the second actor in a code view of the first source object,
How to develop software.
제2 항에 있어서,
상기 제2 액터의 인스턴스를 가리키는 레퍼런스를 포함하도록 서브클래싱된 제1 액터를 새로운 유닛으로 생성하는 상기 유닛 설계 뷰에서의 사용자 입력을 입력 받는 것에 응답하여, 상기 제1 액터의 서브클래싱 액터를 가리키는 제4 그래픽 객체를 상기 유닛 설계 뷰에 추가로 디스플레이 하는 단계; 및
상기 제4 그래픽 객체에 상기 제2 액터가 연결되어야 하는 것을 가리키는 경고 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계를 더 포함하는,
소프트웨어 개발 방법.
3. The method of claim 2,
In response to receiving user input in the unit design view creating a new unit of a first actor subclassed to include a reference pointing to an instance of the second actor, subclassing an actor of the first actor further displaying a pointing fourth graphic object on the unit design view; and
Displaying, in the unit design view, a warning indication indicating that the second actor should be connected to the fourth graphic object;
How to develop software.
제4 항에 있어서,
상기 경고 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계는,
상기 제4 그래픽 객체에 대한 소정의 사용자 입력이 입력되면, 상기 유닛 설계 뷰에 표시된 그래픽 객체 중 타입이 액터이고 이름이 상기 제2 액터의 이름과 가장 일치하는 그래픽 객체를 슬레이브 그래픽 객체 후보로 제안하는 연결 제안 그래픽 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
5. The method of claim 4,
Displaying the warning indication on the unit design view comprises:
When a predetermined user input for the fourth graphic object is input, a graphic object whose type is an actor and whose name most closely matches the name of the second actor among graphic objects displayed in the unit design view is suggested as a slave graphic object candidate displaying a connection suggestion graphical representation in the unit design view;
How to develop software.
제4 항에 있어서,
상기 경고 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계는,
상기 경고 표시를 상기 제4 그래픽 객체의 인접 위치에 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
5. The method of claim 4,
Displaying the warning indication on the unit design view comprises:
displaying the warning indication at an adjacent position of the fourth graphic object;
How to develop software.
제4 항에 있어서,
상기 경고 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계는,
상기 제4 그래픽 객체에 상기 제2 액터가 연결되어야 하는 것을 가리키는 경고 표시에 대한 소정의 사용자 입력에 응답하여, 제거(delete) 메뉴를 디스플레이 하는 단계;
상기 제거 메뉴 선택의 사용자 입력에 응답하여, 상기 제4 그래픽 객체에 상기 제2 액터가 연결되어야 하는 것을 가리키는 경고 표시가 제거되고 상기 제1 그래픽 객체와 상기 제2 그래픽 객체의 연결 그래픽 객체가 제거되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계; 및
상기 제1 소스 개체에 자동으로 추가된 상기 제2 소스 개체에 대한 레퍼런스가 삭제되도록 소스 코드를 자동으로 수정하는 단계를 포함하는,
소프트웨어 개발 방법.
5. The method of claim 4,
Displaying the warning indication on the unit design view comprises:
displaying a delete menu in response to a predetermined user input for a warning display indicating that the second actor should be connected to the fourth graphic object;
In response to a user input of the remove menu selection, a warning mark indicating that the second actor should be connected to the fourth graphic object is removed, and the connection graphic object of the first graphic object and the second graphic object is removed. updating and displaying the unit design view; and
and automatically modifying the source code so that the reference to the second source object automatically added to the first source object is deleted.
How to develop software.
제4 항에 있어서,
상기 제1 액터는 상기 복수의 액터들 중 제3 액터를 가리키는 레퍼런스를 더 포함하도록 서브클래싱 된 것이고,
상기 경고 표시를 상기 유닛 설계 뷰에 디스플레이 하는 단계는,
상기 제2 액터 및 상기 제3 액터가 상기 제4 그래픽 객체에 연결되어야 하는 것을 가리키는 경고 표시를 디스플레이 하는 단계;
상기 제4 그래픽 객체 또는 상기 경고 표시에 대한 소정의 사용자 입력을 입력 받는 것에 응답하여, Add Members 메뉴를 디스플레이 하는 단계;
상기 Add Members 메뉴를 선택하는 사용자 입력을 입력 받는 것에 응답하여, 상기 제4 그래픽 객체에 제2 액터의 그래픽 객체와 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계; 및
상기 제2 액터에 대한 레퍼런스 및 상기 제3 액터에 대한 레퍼런스가 상기 제4 그래픽 객체의 소스 개체에 자동으로 추가되도록 소스 코드를 수정 하는 단계를 포함하는,
소프트웨어 개발 방법.
5. The method of claim 4,
The first actor is subclassed to further include a reference pointing to a third actor among the plurality of actors,
Displaying the warning indication on the unit design view comprises:
displaying a warning indication indicating that the second actor and the third actor should be connected to the fourth graphical object;
displaying an Add Members menu in response to receiving a predetermined user input for the fourth graphic object or the warning display;
in response to receiving a user input for selecting the Add Members menu, updating and displaying the unit design view so that the graphic object of the second actor and the graphic object of the third actor are connected to the fourth graphic object; and
modifying the source code so that the reference to the second actor and the reference to the third actor are automatically added to the source object of the fourth graphic object,
How to develop software.
제8 항에 있어서,
상기 제4 그래픽 객체에 제2 액터의 그래픽 객체와 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계는,
상기 제4 그래픽 객체에, 신규로 생성된 제2 액터의 그래픽 객체와 신규로 생성된 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
9. The method of claim 8,
Updating and displaying the unit design view so that the graphic object of the second actor and the graphic object of the third actor are connected to the fourth graphic object,
Updating and displaying the unit design view so that the newly created graphic object of the second actor and the newly created graphic object of the third actor are connected to the fourth graphic object,
How to develop software.
제8 항에 있어서,
상기 제4 그래픽 객체에 제2 액터의 그래픽 객체와 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계는,
상기 제4 그래픽 객체에, 상기 유닛 설계 뷰에 기 생성된 제2 액터의 그래픽 객체와 상기 유닛 설계 뷰에 기 생성된 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
9. The method of claim 8,
Updating and displaying the unit design view so that the graphic object of the second actor and the graphic object of the third actor are connected to the fourth graphic object,
Updating and displaying the unit design view so that the graphic object of the second actor previously created in the unit design view and the graphic object of the third actor previously created in the unit design view are connected to the fourth graphic object containing,
How to develop software.
제8 항에 있어서,
상기 제1 액터는 제1 타입의 제1 값 및 제2 타입의 제2 값을 포함하는 기 지정된 세트의 커널 데이터로 초기 구성된 밸류 구조체를 구현한 소스 개체에 대한 레퍼런스를 더 포함하도록 서브클래싱 된 것이고,
상기 Add Members 메뉴를 선택하는 사용자 입력을 입력 받는 것에 응답하여, 상기 제4 그래픽 객체에 제2 액터의 그래픽 객체와 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하여 디스플레이 하는 단계는,
상기 제4 그래픽 객체에, 신규로 생성된 제2 액터의 그래픽 객체와 신규로 생성된 제3 액터의 그래픽 객체가 연결되도록 상기 유닛 설계 뷰를 업데이트 하는 단계; 및
상기 제4 그래픽 객체에, 상기 유닛 설계 뷰에 기 생성된 상기 밸류 구조체를 구현한 소스 개체의 그래픽 객체가 더 연결되도록 상기 유닛 설계 뷰를 업데이트 하는 단계를 포함하는,
소프트웨어 개발 방법.
9. The method of claim 8,
The first actor is subclassed to further include a reference to a source entity implementing a value structure initially composed of a predetermined set of kernel data including a first value of a first type and a second value of a second type. will,
In response to receiving a user input for selecting the Add Members menu, updating and displaying the unit design view so that the graphic object of the second actor and the graphic object of the third actor are connected to the fourth graphic object,
updating the unit design view so that the newly created graphic object of the second actor and the newly created graphic object of the third actor are connected to the fourth graphic object; and
Updating the unit design view so that the graphic object of the source object embodying the value structure previously created in the unit design view is further connected to the fourth graphic object,
How to develop software.
제1 항에 있어서,
상기 프로그램 개발 소프트웨어는,
복수의 액터(Actor)들과 상기 복수의 액터들 사이에 송수신 되는 메시지를 구성 요소로 포함 하는 머신(machine)의 구동 프로그램 개발을 위한 통합 개발 환경(Integrated Development Environment; IDE)이고,
상기 제1 소스 개체는,
상기 복수의 액터들 중 제1 액터를 구현한 소스 개체고,
상기 제2 소스 개체는,
제1 타입의 제1 값 및 제2 타입의 제2 값을 포함하는 기 지정된 세트의 커널 데이터로 초기 구성된 밸류 구조체를 구현한 소스 개체이며,
상기 디스플레이 하는 단계는,
상기 제2 그래픽 객체를 선택하는 상기 유닛 설계 뷰에서의 사용자 입력에 응답하여, 상기 밸류 구조체에 포함되는 각각의 값, 타입 또는 변수명을 편집하기 위한 프로퍼티 뷰를 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
The method of claim 1,
The program development software,
It is an integrated development environment (IDE) for developing a driving program of a machine including a plurality of actors and messages transmitted and received between the plurality of actors as components,
The first source entity,
a source entity implementing a first actor among the plurality of actors;
The second source entity,
A source entity implementing a value structure initially composed of a predetermined set of kernel data including a first value of a first type and a second value of a second type,
The displaying step is
In response to a user input in the unit design view for selecting the second graphic object, displaying a property view for editing each value, type, or variable name included in the value structure,
How to develop software.
제1 항에 있어서,
상기 소스 코드를 자동으로 수정하는 단계는,
상기 유닛 설계 뷰에서의 사용자 입력들을 반영하기 위한 유닛 설계 저장 입력이 입력되는 것에 응답하여, 상기 소스 코드를 상기 사용자 입력들이 일괄 반영되도록 상기 소스 코드를 수정하는 단계를 포함하는,
소프트웨어 개발 방법.
The method of claim 1,
The step of automatically modifying the source code is,
In response to a unit design storage input for reflecting user inputs in the unit design view is input, modifying the source code so that the user inputs are collectively reflected,
How to develop software.
제1 항에 있어서,
상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에 대한 사용자 입력은,
상기 제1 그래픽 객체 및 상기 제2 그래픽 객체에 대한 순차적인 선택을 포함하는,
소프트웨어 개발 방법.
The method of claim 1,
The user input to the unit design view connecting the first graphic object and the second graphic object is,
including sequential selection of the first graphic object and the second graphic object,
How to develop software.
제14 항에 있어서,
상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에 대한 사용자 입력은,
상기 제1 그래픽 객체 및 상기 제2 그래픽 객체에 대한 순차적인 선택과,
상기 순차적인 선택이 완성되는 것에 응답하여 자동으로 표시되는 다이얼로그를 통한, 상기 제2 소스 개체의 레퍼런스 이름의 타이핑 입력을 포함하는,
소프트웨어 개발 방법.
15. The method of claim 14,
The user input to the unit design view connecting the first graphic object and the second graphic object is,
sequential selection of the first graphic object and the second graphic object;
and typing input of the reference name of the second source entity via a dialog that is automatically displayed in response to completion of the sequential selection.
How to develop software.
제1 항에 있어서,
상기 제1 소스 개체의 소스 코드를 표시하는 코드 뷰를 디스플레이 하는 단계를 더 포함하되,
상기 코드 뷰를 디스플레이 하는 단계는,
상기 제1 소스 개체의 소스 코드에 자동으로 추가된 상기 제2 소스 개체에 대한 레퍼런스를 사용자에 의하여 입력된 소스 코드와 시각적으로 구별되도록 디스플레이 하는 단계; 및
상기 시각적으로 구별되도록 디스플레이 된 제2 소스 개체에 대한 레퍼런스에 대한 소정의 사용자 입력에 응답하여, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 연결 그래픽 객체가 하이라이트 된 유닛 설계 뷰를 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
The method of claim 1,
Displaying a code view displaying the source code of the first source object, further comprising:
Displaying the code view comprises:
displaying a reference to the second source object automatically added to the source code of the first source object to be visually distinguished from the source code input by the user; and
In response to a predetermined user input for a reference to a second source object displayed to be visually distinct, displaying a unit design view in which a connection graphic object connecting the first graphic object and the second graphic object is highlighted. comprising steps,
How to develop software.
제1 항에 있어서,
상기 소스 코드를 자동으로 수정하는 단계는,
상기 사용자 입력에 응답하여 상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 연결 그래픽 객체를 상기 유닛 설계 뷰에 상기 제1 그래픽 객체 및 상기 제2 그래픽 객체와 함께 디스플레이 하는 단계를 포함하고,
상기 연결 그래픽 객체에 대한 소정의 사용자 입력에 응답하여, 상기 자동으로 추가된 제2 소스 개체에 대한 레퍼런스를 표시하는 코드 뷰를 디스플레이 하는 단계를 더 포함하는,
소프트웨어 개발 방법.
The method of claim 1,
The step of automatically modifying the source code is,
Displaying a connection graphic object connecting the first graphic object and the second graphic object together with the first graphic object and the second graphic object in the unit design view in response to the user input,
in response to predetermined user input to the associated graphical object, further comprising displaying a code view displaying a reference to the automatically added second source object;
How to develop software.
제1 항에 있어서,
상기 소스 코드를 자동으로 수정하는 단계는,
비활성화된 상태의 상기 제2 소스 개체에 대한 레퍼런스를 상기 제1 소스 개체에 자동으로 추가하는 단계;
상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 제1 상태의 연결 그래픽 객체를 상기 유닛 설계 뷰에 디스플레이 하는 단계;
상기 제1 상태의 연결 그래픽 객체에 대한 소정의 사용자 입력에 응답하여, 상기 비활성화된 상태의 제2 소스 개체에 대한 레퍼런스를 소스 코드 상에서 활성화 하는 단계; 및
상기 제1 상태의 연결 그래픽 객체를 제2 상태의 연결 그래픽 객체로 업데이트 하여 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
The method of claim 1,
The step of automatically modifying the source code is,
automatically adding a reference to the second source object in a deactivated state to the first source object;
displaying a connection graphic object in a first state connecting the first graphic object and the second graphic object on the unit design view;
activating a reference to a second source object in the deactivated state in source code in response to a predetermined user input for the connected graphic object in the first state; and
Including the step of updating and displaying the connected graphic object of the first state to the connected graphic object of the second state,
How to develop software.
제1 항에 있어서,
상기 소스 코드를 자동으로 수정하는 단계는,
비활성화된 상태의 상기 제2 소스 개체에 대한 레퍼런스를 상기 제1 소스 개체에 자동으로 추가하는 단계;
상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 제1 상태의 연결 그래픽 객체를 상기 유닛 설계 뷰에 디스플레이 하는 단계;
상기 제1 상태의 연결 그래픽 객체에 대한 소정의 사용자 입력에 응답하여, 상기 비활성화된 상태의 제2 소스 개체에 대한 레퍼런스를 표시하는 소스 코드 뷰를 디스플레이 하는 단계; 및
상기 소스 코드 뷰를 통한 상기 제2 소스 개체에 대한 레퍼런스 관련 소스 코드 수정을 분석하고, 상기 분석의 결과 상기 제2 소스 개체에 대한 레퍼런스가 활성화된 것으로 판단된 경우, 상기 제1 상태의 연결 그래픽 객체를 제2 상태의 연결 그래픽 객체로 업데이트 하여 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
The method of claim 1,
The step of automatically modifying the source code is,
automatically adding a reference to the second source object in a deactivated state to the first source object;
displaying a connection graphic object in a first state connecting the first graphic object and the second graphic object on the unit design view;
in response to a predetermined user input to the connected graphical object in the first state, displaying a source code view displaying a reference to a second source object in the inactive state; and
Analyze the source code modification related to the reference to the second source object through the source code view, and when it is determined that the reference to the second source object is activated as a result of the analysis, the connected graphic object in the first state Including the step of updating and displaying the connected graphic object of the second state,
How to develop software.
제1 항에 있어서,
상기 소스 코드를 자동으로 수정하는 단계는,
상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 연결 그래픽 객체를 상기 유닛 설계 뷰에 디스플레이 하는 단계를 포함하되,
상기 연결 그래픽 객체를 상기 유닛 설계 뷰에 디스플레이 하는 단계는,
상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
The method of claim 1,
The step of automatically modifying the source code is,
Displaying a connection graphic object connecting the first graphic object and the second graphic object on the unit design view,
Displaying the connection graphic object on the unit design view comprises:
Comprising the step of linearly displaying the connection graphic object in a form in which a part of the center is erased,
How to develop software.
제20 항에 있어서,
상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계는,
상기 제1 그래픽 객체의 아웃고잉(outgoing) 연결 그래픽 객체가 상기 제1 그래픽 객체에 연결되는 영역에 형성된 아웃고잉 와이어리스 영역에 대한 선택 사용자 입력에 응답하여, 상기 제1 그래픽 객체의 모든 아웃고잉 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
21. The method of claim 20,
The step of displaying the connected graphic object in a linear form in which a part of the center is erased,
In response to a selection user input for an outgoing wireless area formed in an area where the outgoing connection graphic object of the first graphic object is connected to the first graphic object, all outgoing connection graphics of the first graphic object Including the step of displaying the object linearly in a form in which a part of the center is erased,
How to develop software.
제20 항에 있어서,
상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계는,
상기 제2 그래픽 객체의 인커밍(incoming) 연결 그래픽 객체가 상기 제2 그래픽 객체에 연결되는 영역에 형성된 인커밍 와이어리스 영역에 대한 선택 사용자 입력에 응답하여, 상기 제2 그래픽 객체의 모든 인커밍 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
21. The method of claim 20,
The step of displaying the connected graphic object in a linear form in which a part of the center is erased,
In response to a selection user input for an incoming wireless region formed in a region in which the incoming connection graphic object of the second graphic object is connected to the second graphic object, all incoming connection graphics of the second graphic object Including the step of displaying the object linearly in a form in which a part of the center is erased,
How to develop software.
제20 항에 있어서,
상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계는,
상기 유닛 설계 뷰의 그래픽 객체 밀도(density)를 측정하는 단계; 및
상기 측정된 그래픽 객체 밀도에 기초하여, 상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이할지 여부를 결정하는 단계를 포함하는,
소프트웨어 개발 방법.
21. The method of claim 20,
The step of displaying the connected graphic object in a linear form in which a part of the center is erased,
measuring a graphic object density of the unit design view; and
Based on the measured graphic object density, comprising the step of determining whether to linearly display the connected graphic object in a form in which a part of the center is erased,
How to develop software.
제23 항에 있어서,
상기 그래픽 객체 밀도를 측정하는 단계는,
연결 그래픽 객체의 그래픽 객체 밀도를 측정하는 단계를 포함하는,
소프트웨어 개발 방법.
24. The method of claim 23,
Measuring the graphic object density comprises:
measuring the graphic object density of the connected graphic object;
How to develop software.
제20 항에 있어서,
상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이 하는 단계는,
상기 연결 그래픽 객체의 중심점을 기준으로 한 소정 영역에서의 그래픽 객체 밀도(density)를 측정하는 단계; 및
상기 측정된 그래픽 객체 밀도에 기초하여, 상기 연결 그래픽 객체를 가운데 일부가 지워진 형태의 선형으로 디스플레이할지 여부를 결정하는 단계를 포함하는,
소프트웨어 개발 방법.
21. The method of claim 20,
The step of displaying the connected graphic object in a linear form in which a part of the center is erased,
measuring a density of a graphic object in a predetermined area based on a central point of the connected graphic object; and
Based on the measured graphic object density, comprising the step of determining whether to linearly display the connected graphic object in a form in which a part of the center is erased,
How to develop software.
제1 항에 있어서,
하나 이상의 그래픽 객체와 상기 제1 그래픽 객체를 더 연결하는 상기 유닛 설계 뷰에서의 사용자 입력을 입력 받되, 상기 그래픽 객체 각각은 소스 개체와 일대일 대응되는 것인 단계; 및
상기 유닛 설계 뷰에 디스플레이 되는 제1 tie 그래픽 객체에 상기 제2 그래픽 객체 및 상기 하나 이상의 그래픽 객체 중 둘 이상을 삽입하는 사용자 입력을 입력 받는 것에 응답하여, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체를 상기 유닛 설계 뷰에서 제거하고, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체에 대한 정보를 상기 제1 tie 그래픽 객체 내부 또는 상기 제1 tie 그래픽 객체의 인접 위치에 디스플레이 하는 단계를 더 포함하되,
상기 소스 코드를 자동으로 수정하는 단계는,
상기 제2 소스 개체에 대한 레퍼런스 및 상기 하나 이상의 그래픽 객체에 대응되는 각각의 소스 개체에 대한 레퍼런스가 상기 제1 소스 개체에 추가되도록 소스 코드를 자동으로 수정하는 단계를 포함하는,
소프트웨어 개발 방법.
The method of claim 1,
receiving a user input in the unit design view further connecting one or more graphic objects and the first graphic object, wherein each graphic object corresponds to a source object one-to-one; and
In response to receiving a user input for inserting two or more of the second graphic object and the one or more graphic objects into the first tie graphic object displayed in the unit design view, the graphic object inserted into the first tie graphic object removing from the unit design view, and displaying information about the graphic object inserted into the first tie graphic object in the first tie graphic object or in a position adjacent to the first tie graphic object,
The step of automatically modifying the source code is,
automatically modifying the source code so that a reference to the second source object and a reference to each source object corresponding to the one or more graphic objects are added to the first source object.
How to develop software.
제26 항에 있어서,
상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체를 상기 유닛 설계 뷰에서 제거하고, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체에 대한 정보를 상기 제1 tie 그래픽 객체 내부 또는 상기 제1 tie 그래픽 객체의 인접 위치에 디스플레이 하는 단계는,
상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체의 슬레이브 그래픽 객체들 모두를 상기 유닛 설계 뷰에서 더 제거하는 단계를 포함하는,
소프트웨어 개발 방법.
27. The method of claim 26,
The graphic object inserted into the first tie graphic object is removed from the unit design view, and information on the graphic object inserted into the first tie graphic object is stored in the first tie graphic object or of the first tie graphic object. The step of displaying in an adjacent position is,
further removing all of the slave graphic objects of the graphic object inserted into the first tie graphic object from the unit design view,
How to develop software.
제26 항에 있어서,
제5 소스 개체를 가리키는 제5 그래픽 객체와 상기 제1 tie 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 사용자 입력이 입력되면, 상기 제2 소스 개체에 대한 레퍼런스 및 상기 하나 이상의 그래픽 객체에 대응되는 각각의 소스 개체에 대한 레퍼런스가 상기 제5 소스 개체에 추가되도록 소스 코드를 자동으로 수정하는 단계를 더 포함하는,
소프트웨어 개발 방법.
27. The method of claim 26,
When a user input in the unit design view connecting a fifth graphic object pointing to a fifth source object and the first tie graphic object is input, a reference to the second source entity and each corresponding to the one or more graphic objects further comprising automatically modifying the source code so that a reference to the source object of
How to develop software.
제26 항에 있어서,
상기 제1 tie 그래픽 객체를 복사하는 상기 유닛 설계 뷰에서의 사용자 입력이 입력되는 것에 응답하여, 상기 유닛 설계 뷰에 상기 제1 tie 그래픽 객체의 복제본인 제2 tie 그래픽 객체를 더 디스플레이 하는 단계;
상기 제2 tie 그래픽 객체 또는 상기 제2 tie 그래픽 객체에 포함된 그래픽 객체의 슬레이브 객체 누락을 가리키는 경고 표시에 대한 소정의 사용자 입력을 입력 받는 것에 응답하여, Add Members 메뉴를 디스플레이 하는 단계; 및
상기 Add Members 메뉴를 선택하는 사용자 입력을 입력 받는 것에 응답하여, 상기 제2 tie 그래픽 객체에 포함된 그래픽 객체 각각에 누락된 슬레이브 객체 연결을 생성하는 단계를 더 포함하되,
상기 제2 tie 그래픽 객체에 포함된 그래픽 객체 각각에 누락된 슬레이브 객체 연결을 생성하는 단계는,
각각의 슬레이브 객체를 신규 생성하고, 신규 생성된 슬레이브 객체로의 슬레이브 객체 연결을 생성하는 제1 방식, 또는 상기 유닛 설계 뷰에 기 생성된 그래픽 객체를 슬레이브 객체로서 연결하되, 누락된 슬레이브 객체 연결에 대응되는 타입의 그래픽 객체가 상기 유닛 설계 뷰에 기 생성되지 않은 경우 슬레이브 객체를 신규 생성하고 신규 생성된 슬레이브 객체로의 슬레이브 객체 연결을 생성하는 제2 방식에 의하여 수행되는 단계를 포함하는,
소프트웨어 개발 방법.
27. The method of claim 26,
in response to a user input in the unit design view copying the first tie graphic object being input, further displaying a second tie graphic object that is a duplicate of the first tie graphic object in the unit design view;
displaying an Add Members menu in response to receiving a predetermined user input for a warning display indicating omission of the slave object of the second tie graphic object or the graphic object included in the second tie graphic object; and
In response to receiving a user input for selecting the Add Members menu, further comprising the step of creating a slave object connection missing in each graphic object included in the second tie graphic object,
The step of creating a slave object connection missing in each graphic object included in the second tie graphic object,
The first method of creating each slave object and creating a slave object connection to the newly created slave object, or connecting a graphic object previously created in the unit design view as a slave object, but missing slave object connection When a graphic object of a corresponding type is not previously created in the unit design view, a step of creating a new slave object and performing a slave object connection to the newly created slave object is performed by the second method,
How to develop software.
제26 항에 있어서,
상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체를 상기 유닛 설계 뷰에서 제거하고, 상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체에 대한 정보를 상기 제1 tie 그래픽 객체 내부 또는 상기 제1 tie 그래픽 객체의 인접 위치에 디스플레이 하는 단계는,
상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체 중 둘 이상의 마스터 객체와 연결된 중복 슬레이브 그래픽 객체에 대한 tie 대상 마스터 객체를 사용자 입력에 의하여 지정 받는 단계;
상기 제1 tie 그래픽 객체에 삽입된 그래픽 객체 중 상기 중복 슬레이브 그래픽 객체를 제외한 나머지 그래픽 객체를 상기 유닛 설계 뷰에서 제거하는 단계; 및
상기 중복 슬레이브 그래픽 객체와 상기 tie 대상 마스터 객체 사이의 연결 그래픽 객체를 상기 유닛 설계 뷰에서 제거하는 단계를 포함하는,
소프트웨어 개발 방법.
27. The method of claim 26,
The graphic object inserted into the first tie graphic object is removed from the unit design view, and information on the graphic object inserted into the first tie graphic object is stored in the first tie graphic object or of the first tie graphic object. The step of displaying in an adjacent position is,
receiving, by a user input, a tie target master object for a duplicate slave graphic object connected to two or more master objects among graphic objects inserted into the first tie graphic object;
removing from the unit design view remaining graphic objects excluding the duplicate slave graphic object among graphic objects inserted into the first tie graphic object; and
removing the connection graphic object between the duplicate slave graphic object and the tie target master object from the unit design view,
How to develop software.
FSM(Finite State Machine) 방식으로 동작하는 유닛을 포함하는 프로그램을 개발하기 위하여 컴퓨팅 장치에서 수행되는 방법에 있어서,
상기 유닛의 제1 상태(state)를 가리키는 제1 그래픽 객체와 상기 유닛의 제2 상태를 가리키는 제2 그래픽 객체를 프로그램 개발 소프트웨어에 의하여 제공되는 복수의 뷰 중 FSM 뷰에 디스플레이 하는 단계; 및
상기 제1 그래픽 객체로부터 상기 제2 그래픽 객체로의 연결을 생성하는 상기 FSM 뷰에서의 사용자 입력이 입력되는 것에 응답하여, 트리거 메시지 이름과 액션 함수명을 입력 받기 위한 다이얼로그를 자동으로 디스플레이 하는 단계; 및
상기 다이얼로그를 통하여 입력된 트리거 메시지 이름 및 액션 함수명을 이용하여 상기 유닛의 소스 코드에 상기 액션 함수의 프로토타입을 자동으로 추가하는 단계를 포함하는,
소프트웨어 개발 방법.
A method performed in a computing device to develop a program including a unit operating in a Finite State Machine (FSM) method, the method comprising:
displaying a first graphic object indicating a first state of the unit and a second graphic object indicating a second state of the unit on an FSM view among a plurality of views provided by program development software; and
automatically displaying a dialog for receiving a trigger message name and an action function name in response to a user input in the FSM view for creating a connection from the first graphic object to the second graphic object; and
and automatically adding the prototype of the action function to the source code of the unit by using the trigger message name and the action function name input through the dialog.
How to develop software.
제31 항에 있어서,
상기 액션 함수의 프로토타입은 상기 제1 상태의 이름, 상기 트리거 메시지 이름을 파라미터로 포함하고, 리턴은 상기 제2 상태로 자동으로 기재된 것인,
소프트웨어 개발 방법.
32. The method of claim 31,
The prototype of the action function includes the name of the first state and the name of the trigger message as parameters, and the return is automatically described as the second state,
How to develop software.
제31 항에 있어서,
상기 트리거 메시지 이름과 액션 함수명을 입력 받기 위한 다이얼로그를 자동으로 디스플레이 하는 단계는,
상기 다이얼로그를 통하여 트리거 메시지 이름과 상기 액션 함수명이 입력 완료되는 것에 응답하여, 상기 제1 그래픽 객체와 상기 제2 그래픽 객체 사이를 연결하는 액션 함수 그래픽 객체를 추가로 디스플레이 하는 단계를 포함하는,
소프트웨어 개발 방법.
32. The method of claim 31,
The step of automatically displaying a dialog for receiving the trigger message name and action function name as input,
In response to completion of input of the trigger message name and the action function name through the dialog, additionally displaying an action function graphic object connecting between the first graphic object and the second graphic object,
How to develop software.
제33 항에 있어서,
상기 제1 그래픽 객체에서 상기 액션 함수 그래픽 객체로의 연결을 생성하는 상기 FSM 뷰에서의 사용자 입력이 입력되는 것에 응답하여, 트리거 메시지 이름을 입력 받기 위한 다이얼로그를 자동으로 디스플레이 하는 단계; 및
상기 유닛의 소스 코드의 상기 액션 함수의 프로토타입에 포함된 상기 트리거 메시지 이름을 상기 다이얼로그를 통하여 입력된 트리거 메시지 이름으로 자동으로 업데이트하는 단계를 더 포함하는,
소프트웨어 개발 방법.
34. The method of claim 33,
automatically displaying a dialog for receiving a trigger message name in response to a user input in the FSM view for creating a connection from the first graphic object to the action function graphic object; and
Further comprising the step of automatically updating the trigger message name included in the prototype of the action function in the source code of the unit to the trigger message name input through the dialog,
How to develop software.
제33 항에 있어서,
상기 액션 함수 그래픽 객체에서 상기 유닛의 제3 상태를 가리키는 제3 그래픽 객체로의 연결을 생성하는 상기 FSM 뷰에서의 사용자 입력이 입력되는 경우, 상기 액션 함수의 프로토타입에 포함된 리턴 상태를 상기 제3 상태로 자동으로 업데이트하는 단계를 더 포함하는,
소프트웨어 개발 방법.
34. The method of claim 33,
When a user input in the FSM view that creates a connection from the action function graphic object to a third graphic object indicating a third state of the unit is input, the return state included in the prototype of the action function is displayed as the second 3 further comprising the step of automatically updating to the status,
How to develop software.
복수의 액터(Actor)들을 구성 요소로 포함 하는 머신(machine)의 구동 프로그램 개발을 위한 통합 개발 환경(Integrated Development Environment; IDE)을 제공하는 컴퓨팅 장치에서 수행되는 방법에 있어서,
제1 액터 그래픽 객체에서 제2 액터 그래픽 객체로의 연결을 가리키는 사용자 입력이 입력되면, 상기 제2 액터에 대한 레퍼런스가 상기 제1 액터의 소스에 추가되도록 상기 제1 액터의 소스 코드를 자동으로 수정하는 단계;
상기 제1 액터에 대한 FSM(Finite State Machine) 편집기 진입을 가리키는 사용자 입력이 입력되면, 상기 제1 액터의 FSM 편집 뷰를 디스플레이 하는 단계; 및
상기 FSM 편집 뷰를 통해 상기 제1 액터의 제1 상태(state)를 가리키는 그래픽 객체로부터 상기 제1 액터의 제2 상태를 가리키는 그래픽 객체로의 연결을 생성하는 사용자 입력이 입력되면, 상기 제1 상태에서 상기 제2 상태로 전환(transition)될 때 수행되는 액션 함수의 프로토타입을 상기 제1 액터의 소스 코드에 자동으로 추가하는 단계를 포함하는,
소프트웨어 개발 방법.
A method performed in a computing device that provides an integrated development environment (IDE) for developing a driving program of a machine including a plurality of actors as components,
When a user input indicating a connection from a first actor graphic object to a second actor graphic object is input, the source code of the first actor is automatically modified so that a reference to the second actor is added to the source of the first actor to do;
displaying an FSM edit view of the first actor when a user input indicating entry into a finite state machine (FSM) editor for the first actor is input; and
When a user input for creating a connection from a graphic object indicating a first state of the first actor to a graphic object indicating a second state of the first actor is input through the FSM edit view, the first state automatically adding to the source code of the first actor a prototype of an action function to be executed when transitioning from
How to develop software.
컴퓨팅 장치에서 수행되는 방법에 있어서,
제1 소스 개체를 가리키는 제1 그래픽 객체와 제2 소스 개체를 가리키는 제2 그래픽 객체를 프로그램 개발 소프트웨어에 의하여 제공되는 복수의 뷰 중 유닛 설계 뷰에 디스플레이 하는 단계; 및
상기 제1 그래픽 객체와 상기 제2 그래픽 객체를 연결하는 상기 유닛 설계 뷰에서의 사용자 입력이 입력되면, 상기 제1 소스 개체가 상기 제2 소스 개체의 인스턴스를 포함하도록 상기 제1 소스 개체의 소스 코드를 자동으로 수정하는 단계를 포함하는,
소프트웨어 개발 방법.
A method performed on a computing device, comprising:
displaying the first graphic object pointing to the first source object and the second graphic object pointing to the second source object on a unit design view among a plurality of views provided by the program development software; and
When a user input in the unit design view connecting the first graphic object and the second graphic object is input, the source code of the first source object such that the first source object includes an instance of the second source object comprising the step of automatically correcting
How to develop software.
KR1020210029675A 2021-03-05 2021-03-05 Method and system for assisting software development using connection of graphic objects, each representing a software component KR102300005B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210029675A KR102300005B1 (en) 2021-03-05 2021-03-05 Method and system for assisting software development using connection of graphic objects, each representing a software component
KR1020210117092A KR20220125658A (en) 2021-03-05 2021-09-02 Method and system for assisting software development using connection of graphic objects, each representing a software component

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210029675A KR102300005B1 (en) 2021-03-05 2021-03-05 Method and system for assisting software development using connection of graphic objects, each representing a software component

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210117092A Division KR20220125658A (en) 2021-03-05 2021-09-02 Method and system for assisting software development using connection of graphic objects, each representing a software component

Publications (1)

Publication Number Publication Date
KR102300005B1 true KR102300005B1 (en) 2021-09-08

Family

ID=77787745

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210029675A KR102300005B1 (en) 2021-03-05 2021-03-05 Method and system for assisting software development using connection of graphic objects, each representing a software component
KR1020210117092A KR20220125658A (en) 2021-03-05 2021-09-02 Method and system for assisting software development using connection of graphic objects, each representing a software component

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210117092A KR20220125658A (en) 2021-03-05 2021-09-02 Method and system for assisting software development using connection of graphic objects, each representing a software component

Country Status (1)

Country Link
KR (2) KR102300005B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102567130B1 (en) * 2023-02-24 2023-08-21 정현우 Fa equipment driving software management system
KR102659150B1 (en) * 2023-08-04 2024-04-19 인스피언 주식회사 Appartus for providing application services, method thereof, and computationally-implementable storage medium for storing a program for providing application services

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090014072A (en) * 2007-08-03 2009-02-06 오봉선 Virtual factory automatoin system
US7613599B2 (en) 2000-06-02 2009-11-03 Synopsys, Inc. Method and system for virtual prototyping
KR20130086551A (en) 2012-01-25 2013-08-02 한미약품 주식회사 Self-emulsifying drug delivery system composition comprising dutasteride and method for preparing the same
KR20130116882A (en) * 2010-10-01 2013-10-24 루씨드 소프트웨어 인코포레이티드 Manipulating graphical objects
KR101588592B1 (en) * 2014-08-22 2016-02-12 (주)비원이즈 Hybrid application development system based on object relational mapping and the method thereof
KR101747424B1 (en) * 2016-02-04 2017-06-27 주식회사 제이티엘소프트 Apparatus and method for integrating design and implementation in object-oriented programming

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613599B2 (en) 2000-06-02 2009-11-03 Synopsys, Inc. Method and system for virtual prototyping
KR20090014072A (en) * 2007-08-03 2009-02-06 오봉선 Virtual factory automatoin system
KR20130116882A (en) * 2010-10-01 2013-10-24 루씨드 소프트웨어 인코포레이티드 Manipulating graphical objects
KR20130086551A (en) 2012-01-25 2013-08-02 한미약품 주식회사 Self-emulsifying drug delivery system composition comprising dutasteride and method for preparing the same
KR101588592B1 (en) * 2014-08-22 2016-02-12 (주)비원이즈 Hybrid application development system based on object relational mapping and the method thereof
KR101747424B1 (en) * 2016-02-04 2017-06-27 주식회사 제이티엘소프트 Apparatus and method for integrating design and implementation in object-oriented programming

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102567130B1 (en) * 2023-02-24 2023-08-21 정현우 Fa equipment driving software management system
KR102659150B1 (en) * 2023-08-04 2024-04-19 인스피언 주식회사 Appartus for providing application services, method thereof, and computationally-implementable storage medium for storing a program for providing application services

Also Published As

Publication number Publication date
KR20220125658A (en) 2022-09-14

Similar Documents

Publication Publication Date Title
Meinicke et al. Mastering software variability with FeatureIDE
US8656352B2 (en) System and method for synchronized workflow management
CN108351764B (en) Data processing method and system
US8296721B2 (en) Template-based software development
CN104007958B (en) Program editor and method for creating and processing the program for industrial automation arrangement
US8930879B2 (en) Application building
US8745537B1 (en) Graphical interface for managing and monitoring the status of a graphical model
US20060075352A1 (en) Property independent in-place editing
KR20100081351A (en) Logical structure design surface
US8751199B1 (en) Method of graphically linking multiple disjoint models
US20160132305A1 (en) Program graph display device, program graph display method, and program graph display program
KR102300005B1 (en) Method and system for assisting software development using connection of graphic objects, each representing a software component
US20080141179A1 (en) Navigation connection points
CN101710275B (en) Gui tool is utilized to carry out the method and system of editing stream logic and screens
KR102213815B1 (en) Gui system for ansible
CN112181483B (en) Plasma control system software development platform and method
US10222944B1 (en) Embedding user interface elements in documents containing code
CN115964042A (en) Menu generation method and device, storage medium and electronic equipment
US9361119B1 (en) Active code component identification and manipulation for preprocessor variants
JP5657183B2 (en) Method and apparatus for enabling a first computer program to execute application logic of a second computer program, for interfacing the first computer program and the second computer program And apparatus for generating computer program code for the same, a computer program, and a software interface for enabling a first computer program to execute application logic of a second computer program For providing information (computer program interface)
Yuen Mastering Windows Presentation Foundation: Build responsive UIs for desktop applications with WPF
KR20210070896A (en) Cloud system realization apparatus and method, recording medium storing program for executing the same
US20220197607A1 (en) System and method for developing user interface applications
Hand A graphical editor for GP 2
Niemistö Solution for BPMN Process Execution

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant