KR20060074676A - Object method auto generation system - Google Patents
Object method auto generation system Download PDFInfo
- Publication number
- KR20060074676A KR20060074676A KR1020040113486A KR20040113486A KR20060074676A KR 20060074676 A KR20060074676 A KR 20060074676A KR 1020040113486 A KR1020040113486 A KR 1020040113486A KR 20040113486 A KR20040113486 A KR 20040113486A KR 20060074676 A KR20060074676 A KR 20060074676A
- Authority
- KR
- South Korea
- Prior art keywords
- source code
- activity
- input
- development tool
- output
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 개발자가 개발도구상에서 객체지향 언어의 소스코드를 자동적으로 생성시킬 수 있는 방법에 관한 것으로서, 객체지향 방식으로 프로그램을 개발할 경우 기존의 RAD도구등의 외부개발툴에 일종의 플러그인(Plug-in)형태로 추가되어 메서드의 소스코드를 시각적으로 자동화해서 생성하는 개발도구를 제공하는데 있다. The present invention relates to a method in which a developer can automatically generate source code of an object-oriented language on a development tool. When developing a program in an object-oriented method, a kind of plug-in is used for an external development tool such as an existing RAD tool. In addition to providing a development tool for visually automating the method source code.
메서드 입출력기에 소스코드 생성을 요청하면, 메서드 입출력기가 새 메서드를 만들거나 저장된 메서드를 로딩하는 (a) 단계와, 액티비티 컨트롤을 선택해서 메서드 디자이너에 그리고 액티비티의 속성을 설정하는 (b) 단계와, 액티비티의 속성에 맞는 소스코드 규칙을 참조해서 소스코드를 생성하는 (c) 단계와, 소스코드 편집기에서 필요한 경우 사용자정의 소스코드를 추가하고 디버깅을 하는 (d) 단계와, 메서드 입출력기를 통해서 종료시 메서드 정보를 저장하고 생성된 소스코드를 반환하는 (e) 단계를 구비하는 것을 특징으로 한다. 이를 통해 개발언어에 관계없이 소스코드를 자동으로 생성시킴으로서, 종래에 여러명의 개발자가 중복해서 개발하던 로직을 표준화된 함수로 만들고 초보수준의 개발자도 쉽게 객체지향 프로그램을 작성할 수 있게 된다. 이를 통하여 대규모 프로그램이나 복잡한 프로그램이 표준화되고 가독성이 높아짐으로써 진정한 의미의 컴포넌트 재사용성이 높아지게 된다.When the source code is requested to the method input / output, (a) the method input / output creates a new method or loads the stored method, selects the activity control, sets the property of the activity in the method designer, and (b) (C) generating source code referring to the source code rules for the properties of the activity, adding (d) and debugging the user-defined source code if necessary in the source code editor, and exiting through the method input / output method. (E) storing the information and returning the generated source code. Through this, the source code is automatically generated regardless of the development language, so the logic that has been developed by several developers in the past can be made into a standardized function, and even a novice developer can easily write an object-oriented program. This increases the reusability of true components by standardizing large programs and complex programs and increasing readability.
메서드, 함수, 펑션, 소스, 코드Method, function, function, source, code
Description
도1 은 본 발명에 의한 개발도구 자동화 방법을 설명하기 위한 시스템 구성도이다.1 is a system configuration for explaining a development tool automation method according to the present invention.
도2 는 도 1에 명시된 메서드 입출력기의 동작방법을 설명하는 플로우차트이다.FIG. 2 is a flowchart for explaining a method of operating a method input / output device shown in FIG. 1.
도3 은 도 1에 명시된 메서드 디자이너의 동작방법을 설명하는 플로우차트이다.3 is a flowchart illustrating a method of operating the method designer shown in FIG.
본 발명은 개발자가 프로그램을 객체지향언어를 사용해서 개발할 경우 개발도구상에서 소스코드를 자동적으로 생성시킬 수 있는 방법에 관한 것으로, 특히 시각적인 자동화 방법을 통해 객체의 메서드(Method, 또는 함수, Function)의 소스코드를 자동으로 생성하고 이를 저장, 보관하는 방법에 관한 것이다.The present invention relates to a method for automatically generating source code on a development tool when a developer develops a program using an object-oriented language. In particular, a method (method or function) of an object through a visual automation method is provided. To automatically generate, store, and store source code for
종래의 RAD(Rapid Application Development) 소프트웨어 개발도구에서는 객체지향 소프트웨어의 객체생성과 객체의 속성설정은 시각적이고 자동화된 방법을 제공하였다. 그러나 객체가 처리하는 동작을 정의하는 메서드는 일반적으로 하드코딩(Hard-Coding)방식으로 개발자가 직접 작성하였다. 이러한 방식은 개발후 소스코드가 매우 복잡해지고, 소스코드가 표준화되지 않을 위험이 매우 크다. 대규모 소프트웨어를 개발할 경우 여러명의 개발자가 자기만의 스타일과 방식으로 메서드를 작성하게 되고, 이는 같은 로직을 처리하는데 개발자별로 각기 다른 소스코드가 나오게 될 확률이 높게 된다. 또 해당 소스코드를 다른 개발자가 이해하기가 어렵기 때문에 유지보수시 메서드의 로직의 추가나 변경이 매우 어렵게 된다. 또한 메서드는 해당하는 객체지향 언어를 능숙하게 다루는 고수준의 개발자만이 다룰 수 있게 되어 개발이나 유지보수의 생산성이 비효율적인 문제점을 가지고 있었다.In the conventional RAD (Rapid Application Development) software development tool, object creation and object property setting of object-oriented software provided a visual and automated method. However, methods that define the behaviors handled by an object are usually written by the developer in a hard-coding manner. In this way, the source code becomes very complicated after development, and there is a great risk that the source code will not be standardized. When developing large software, several developers write methods in their own styles and ways, which makes it more likely that different developers will have different source code. Also, because the source code is difficult for other developers to understand, it is very difficult to add or change the logic of the method during maintenance. In addition, methods can only be handled by high-level developers who are proficient in dealing with the object-oriented language, which leads to inefficient development and maintenance productivity.
본 발명이 이루고자 하는 기술적 과제는, 객체지향 방식으로 프로그램을 개발할 경우 기존의 RAD도구등의 외부개발툴에 일종의 플러그인(Plug-in)형태로 추가되어 메서드의 소스코드를 시각적으로 자동화해서 생성하는 개발도구를 제공하는 데 있다.The technical problem to be achieved by the present invention, when developing a program in an object-oriented manner, is to add to the external development tools such as RAD tools in the form of a plug-in (Plug-in) to develop the source code of the method visually automated development To provide the tools.
상기 과제를 이루기 위한 본 발명에 의한 소프트웨어 개발도구의 자동화 방법은, 메서드 입출력기에 소스코드 생성을 요청하면, 메서드 입출력기가 새 메서드를 만들거나 저장된 메서드를 로딩하는 (a) 단계와, 액티비티 컨트롤을 선택해서 메서드 디자이너에 그리고 액티비티의 속성을 설정하는 (b) 단계와, 액티비티의 속성에 맞는 소스코드 규칙을 참조해서 소스코드를 생성하는 (c) 단계와, 소스코드 편집기에서 필요한 경우 사용자정의 소스코드를 추가하고 디버깅을 하는 (d) 단계와, 메서드 입출력기를 통해서 종료시 메서드 정보를 저장하고 생성된 소스코드를 반환하는 (e) 단계로 이루어 지는 것이 바람직하다.In order to achieve the above object, the method for automating a software development tool according to the present invention comprises the steps of (a) creating a new method or loading a stored method when the method input / output is requested from the method input / output device, and selecting activity control. (B) setting the property of the activity in the method designer, referencing the source code rules for the activity property, and (c) generating the source code, and custom source code if needed in the source code editor. (D) adding and debugging, and (e) storing the method information upon exit through the method input and output and returning the generated source code.
도 1은 본 발명에 의한 소프트웨어 개발도구의 자동화 방법을 설명하기 위한 시스템 구성도이다. 본 발명에서의 자동화 방법은 일반적으로 외부의 IDE(Integrated Development Environment)라고 불리우는 통합 개발툴의 부가적인 요소로 동작하게 되며, IDE등의 외부 개발도구와 본 발명시스템과의 상호작용을 담당하는 역할을 메서드 입출력기(1)가 담당한다. 즉, 외부에서 메서드 입출력기(2)에게 메서드의 생성이나 기존 메서드의 수정을 요청하면 메서드 입출력기가 이 요청을 받아서 메서드 저장소(5)에서 이를 로딩한다. 메서드 입출력기(2)는 로딩후 메서드 디자이너(2)를 호출하고 메서드 디자이너에서 실제 소스코드의 자동생성작업이 이루어진다. 개발자는 액티비티 탐색기(4)와 속성설정기(3), 소스코드 편집기(7)를 이용해서 액티비티 디자이너(2)에 메서드의 제어로직을 다이어그램형태의 시각적 형태로 작성한다. 메서드 디자이너(2)는 소스코드 규칙 저장소(6)와 디버깅 처리기(8)를 이용해 메서드의 해당하는 언어별로 소스코드를 자동으로 생성하고 소스코드의 해당언어의 디버깅엔진을 호출해서 디버깅작업을 수행할 수 있다. 소스코드 생성이 끝나고 개발자가 저장을 누르게 되면 메서드 입출력기(1)는 메서드 저장소(5)에 메서드 정보를 저장하고 소스코드를 외부요청자에게 반환한다.1 is a system configuration for explaining the automation method of the software development tool according to the present invention. The automation method in the present invention operates as an additional element of an integrated development tool, generally called an external integrated development environment (IDE), and plays a role of interacting with an external development tool such as an IDE and the present system. The method input / output unit (1) is in charge. That is, when an external method requests the method input /
도 2는 본 발명에 의한 소프트웨어 개발도구의 자동화 방법을 설명하기 위한 도 1에 명시된 메서드 입출력기의 동작방법을 상세하게 설명하기 위한 플로우차트이다. IDE등의 외부에서 메서드 입출력기(2)에게 메서드의 소스코드 생성이나 기존 메서드의 소스코드 수정을 요청하면 메서드 입출력기가 이 요청을 받는다(9). 이 때 외부에서 메서드 입출력기(2)에 요청하는 메서드의 고유한 식별방법은 일반적으로 객체지향 언어에서 표기하는 네임스페이스(Namespace)의 방식을 사용한다. 예를 들어 MyBank.MyPackage.MyClass.MyMethod 라는 형태로 요청하게 되면 중복되지 않게 메서드를 식별할 수 있다. 요청된 메서드를 메서드 입출력기(2)는 메서드 저장소(5)에서 해당하는 메서드를 검색하며, 해당하는 메서드가 존재하면 기존 메서드라고 판단하고 존재하지 않으면 새로운 메서드라고 판단한다(10). 새 메서드일 경우에는 메서드 저장소(5)에 새로운 메서드를 추가하며(11), 기존 메서드일 경우 메서드를 로딩한다(12). 메서드 저장소(5)에 저장되어 있는 메서드 정보는 메서드의 네임스페이스와 메서드명, 작성되는 개발언어, 버전, 최초작성일, 최근 수정일, 코멘트등의 일반정보와 메서드 디자이너가 사용하는 액티비티 속성정보들이 저장되어있으며 메서드를 추가하거나 로딩하는 작업은 이러한 메서드 정보를 추가하거나 로딩한다는 의미이다. 이렇게 메서드를 추가하거나 로딩한후 메서드 디자이너를 호출한다(13). 호출하면서 추가되거나 로딩된 메서드의 정보를 메서드 디자이너에 전달하는데 메서드 디자이너(2)에는 새로운 메서드이면 비어있는 화면으로, 로딩된 메서드이면 로딩된 액티비티정보에 맞는 다이어그램을 표시한 화면으로 열린다. 메서드 디자이너(2)에서 소스생성작업이 완료되면 개발자는 메서드 입출력기에서 메서드 저장단계를 메뉴호출등의 방법으로 시작한다(14). 메서드 저장시에는 변경된 메서드 일반정보와 액티비티정보가 메서드 저장소(5)에 저장된다. 그리고 외부의 메서드 소스코드 요청자에게 생성결과와 생성된 소스코드를 반환한다(15).FIG. 2 is a flowchart for explaining in detail an operation method of a method input / output device specified in FIG. 1 for explaining an automation method of a software development tool according to the present invention. The method input / output device receives this request when the method input / output device (2) requests the method source code generation or modification of the existing method source code from outside the IDE (9). At this time, a unique identification method of a method that requests the method input /
도 3은 본 발명에 의한 소프트웨어 개발도구의 자동화 방법을 설명하기 위한 도 1에 명시된 메서드 디자이너의 동작방법을 상세하게 설명하기 위한 플로우차트이다. 개발자는 메서드 입출력기(1)에서 호출된 메서드 디자이너(2) 화면에 액티비티 탐색기(4)에서 액티비티 컨트롤을 선택해서 디자이너 화면에 그린다(23). 그려진 액티비티에 대해서 속성 설정기(3)를 통해서 속성을 설정한다(24). 예를 들어 메서드 호출 컨트롤 (18)의 속성을 설정할 경우 해당하는 액티비티 단계에서 호출될 메서드의 이름을 속성에 입력하면 된다. 또, 조건 컨트롤(19)의 경우에는 조건의 갯수만큼 속성설정기에서 조건아이템을 추가하고 각 조건아이템에 조건식을 입력한다. 그리고 메서드 호출 컨트롤(18)은 메서드 저장소에 저장된 메서드들을 네임스페이스의 계층구조로 표현하고 메서드의 사용법이나 주석등을 검색할 수 있는 속성을 제공함으로써 이미 작성된 메서드의 재사용성을 극대화한다. 그려진 액티비티의 속성설정이 완료되면 요청된 개발언어와 액티비티 유형에 맞는 소스코드 생성 규칙을 소스코드 규칙 저장소(6)에서 읽어오고 해당하는 규칙에서 속성이 들어갈 부분에 설정된 속성을 자동으로 입력하는 방식으로 소스코드틀 자동생성한다(25). 이렇게 하나의 액티비티에 대한 소스코드 자동생성이 끝나고 사용자가 추가 액티비티를 그리게 되면 반복되어 작업을 하고 그렇지 않으면 자동생성작업은 종료된다(26). 자동생성된 소스코드는 소스코드 편집기(7)를 호출해서 볼 수 있으며, 사용자가 원하는 코드를 추가적으로 작성할 수 있다(27). 그리고 작성된 메서드의 소스코드의 오 류나 문제점을 개선하기 위해서 디버깅 처리기(8)를 이요해서 디버깅을 수행한다(28). 디버깅 처리기(8)는 언어별로 동작되는 외부의 디버깅 엔진을 호출하고 결과값을 소스코드 편집기에 표시해주는 역할을 수행한다. 디버깅 작업이 끝나면 최종적으로 작성된 소스코드와 액티비티 정보를 메서드 입출력기로 반환한다.3 is a flowchart for explaining in detail the operation method of the method designer specified in FIG. 1 for explaining a method for automating a software development tool according to the present invention. The developer selects an activity control from the activity explorer (4) on the screen of the method designer (2) called from the method input / output (1) and draws it on the designer screen (23). The property is set via the
이상에서 설명한 바와 같이, 본 발명에 의한 개발도구의 메서드 생성 자동화 방법및 시스템은 기존 개발도구에서 직접 소스코드로 작업하던 부분을 시각적인 다이어그램형태로 제어하고 개발언어에 관계없이 소스코드를 자동으로 생성시킴으로서, 종래에 여러명의 개발자가 중복해서 개발하던 로직을 표준화된 함수로 만들어서 이를 액티비티로 처리할 수 있다. 또한 개발언어를 고수준으로 이해하지 않은 개발자들도 개발도구에서 제공하는 다이어그램을 조작함으로서 쉽게 객체지향 프로그램을 작성할 수 있게 된다. 이를 통하여 대규모 프로그램이나 복잡한 프로그램이 표준화되고 가독성이 높아짐으로써 진정한 의미의 컴포넌트 재사용성이 높아지게 된다.As described above, the method and system for automating the method generation of the development tool according to the present invention controls the portion of the existing development tool that was used as the source code directly in the form of a visual diagram and automatically generates the source code regardless of the development language. By doing so, you can make logic that has been developed by multiple developers in a standardized function and process it as an activity. Also, developers who do not have a high level understanding of development language can easily write object-oriented programs by manipulating diagrams provided by development tools. This increases the reusability of true components by standardizing large programs and complex programs and increasing readability.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040113486A KR20060074676A (en) | 2004-12-28 | 2004-12-28 | Object method auto generation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040113486A KR20060074676A (en) | 2004-12-28 | 2004-12-28 | Object method auto generation system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060074676A true KR20060074676A (en) | 2006-07-03 |
Family
ID=37167415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040113486A KR20060074676A (en) | 2004-12-28 | 2004-12-28 | Object method auto generation system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060074676A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100716171B1 (en) * | 2005-05-13 | 2007-05-10 | 삼성전자주식회사 | Apparatus and method for pooling the object of distributed system |
KR100871563B1 (en) * | 2007-02-14 | 2008-12-02 | 삼성전자주식회사 | Apparatus and method for developing software based on component |
KR101040010B1 (en) * | 2008-10-14 | 2011-06-08 | 현대자동차주식회사 | Diagnosis information message automatic generating system for genterating diagnosis program for automobile and method thereof |
-
2004
- 2004-12-28 KR KR1020040113486A patent/KR20060074676A/en not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100716171B1 (en) * | 2005-05-13 | 2007-05-10 | 삼성전자주식회사 | Apparatus and method for pooling the object of distributed system |
KR100871563B1 (en) * | 2007-02-14 | 2008-12-02 | 삼성전자주식회사 | Apparatus and method for developing software based on component |
KR101040010B1 (en) * | 2008-10-14 | 2011-06-08 | 현대자동차주식회사 | Diagnosis information message automatic generating system for genterating diagnosis program for automobile and method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7810069B2 (en) | Methods and systems for relating data structures and object-oriented elements for distributed computing | |
KR101307711B1 (en) | A consistent method system and computer program for developing software asset based solutions | |
US7975233B2 (en) | Automatic conversion of a textual language into a graphical program representation | |
US7954059B2 (en) | Automatic conversion of text-based code having function overloading and dynamic types into a graphical program for compiled execution | |
US6571247B1 (en) | Object oriented technology analysis and design supporting method | |
US7171646B2 (en) | Generating source code for object oriented elements with language neutral transient meta model and correlating display of names, symbols and code | |
US9037595B2 (en) | Creating graphical models representing control flow of a program manipulating data resources | |
US10437574B2 (en) | System and method for providing code completion features for code modules | |
EP2287808A2 (en) | Parameterized graphs with conditional components | |
US8291372B2 (en) | Creating graphical models representing control flow of a program manipulating data resources | |
Freeman | Essential TypeScript 5 | |
Naujokat et al. | Domain-specific code generator modeling: a case study for multi-faceted concurrent systems | |
CN112799718A (en) | Enumerated document generation method and device, electronic equipment and storage medium | |
Jelinek et al. | GUI generation from annotated source code | |
CN117215556A (en) | Modularized page rapid construction method, system, equipment and medium | |
CN112631585A (en) | XML-based rapid parameter interface configuration method | |
CN116909553A (en) | Page online development and local compiling operation system | |
KR20060074676A (en) | Object method auto generation system | |
CN111930387B (en) | Integration method and device of integration package, electronic equipment and storage medium | |
JP3516843B2 (en) | Database access method | |
EP4261678A1 (en) | Generation of a technical instruction | |
CN116627390B (en) | ICD file substitution method and device in aviation software development | |
EP4336348A1 (en) | Iterative and interactive method for code conversion | |
Delva et al. | Semantic-based shader generation using shader shaker | |
JP2007094453A (en) | Program development support system, program development support method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |