KR101149655B1 - Program design apparatus and method - Google Patents

Program design apparatus and method Download PDF

Info

Publication number
KR101149655B1
KR101149655B1 KR1020100083307A KR20100083307A KR101149655B1 KR 101149655 B1 KR101149655 B1 KR 101149655B1 KR 1020100083307 A KR1020100083307 A KR 1020100083307A KR 20100083307 A KR20100083307 A KR 20100083307A KR 101149655 B1 KR101149655 B1 KR 101149655B1
Authority
KR
South Korea
Prior art keywords
input
template
authoring tool
tool screen
program
Prior art date
Application number
KR1020100083307A
Other languages
Korean (ko)
Other versions
KR20120005358A (en
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 동국대학교 산학협력단
Publication of KR20120005358A publication Critical patent/KR20120005358A/en
Application granted granted Critical
Publication of KR101149655B1 publication Critical patent/KR101149655B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/333Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Stored Programmes (AREA)

Abstract

프로그램 디자인 장치 및 그 방법이 개시된다. 본 발명의 실시예에 따른 프로그램 디자인 장치는, 프로그램 개발 언어에서 사용하는 다수의 기능에 대한 매서드(method) 마다 대응되는 템플릿 박스(Template Box)를 구비한 템플릿 모듈; 빌딩 블록(Building Block) 방식을 이용하여, 상기 다수의 템플릿 박스 중 사용자에 의해 선택된 템플릿 박스들에 대한 저작도구 화면에서의 배치 및 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결을 수행하고, 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 저장하는 템플릿 박스 배치부; 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 이용하여 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 대한 오류 여부를 검열하는 프로그램 흐름 검열부; 및 사용자에 의해서 선택된 프로그램 언어를 이용하여, 상기 프로그램 흐름 검열부의 검열 결과 입출력 연결의 흐름에 오류가 없는 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 상응하는 소스코드를 생성하는 프로그램 코드 생성부를 포함한다.Disclosed are a program design apparatus and a method thereof. A program design apparatus according to an embodiment of the present invention includes a template module having a template box corresponding to each method for a plurality of functions used in a program development language; By using a building block method, the layout of the template boxes selected by the user among the plurality of template boxes is performed on the authoring tool screen and the input / output connection between the template boxes arranged on the authoring tool screen is performed. A template box arrangement unit for storing input / output connection information between template boxes arranged on an authoring tool screen; A program flow inspecting unit for inspecting whether or not there is an error in the flow of input / output connections between the arranged template boxes by using the input / output connection information between the template boxes arranged on the authoring tool screen; And a program code generation unit for generating source code corresponding to the flow of the input / output connection between the arranged template boxes in which the flow of the input / output connection of the program flow inspecting unit is not detected by using the program language selected by the user. .

Description

프로그램 디자인 장치 및 그 방법{PROGRAM DESIGN APPARATUS AND METHOD}Program design device and its method {PROGRAM DESIGN APPARATUS AND METHOD}

본 발명은 프로그램 디자인 장치 및 그 방법에 관한 것으로, 더욱 자세하게는 소비적인 코딩을 최소화하고 프로그램 전문가 이외의 사용자도 쉽게 프로그램을 디자인하고 원하는 소스를 생성할 수 있도록 하는 기술에 관한 것이다.
The present invention relates to a program design apparatus and a method thereof, and more particularly, to a technique that minimizes the costly coding and makes it easy for users other than program experts to design programs and generate desired sources.

프로그램 언어는 C 언어를 필두로 하여 비약적으로 발전해 왔으며, 최근 사용되고 있는 프로그램 언어에는 C, API, C++, MFC, C#, Java 등이 있으며, 프로그램 언어의 범위를 웹 개발과 모바일까지 확장하면 프로그램 언어의 개수는 폭발적으로 증가하게 된다.The programming language has developed remarkably, starting with the C language, and recently used programming languages include C, API, C ++, MFC, C #, Java, and the like. The number increases explosively.

프로그램 언어는 종류마다 특징이 분명하고 명령어의 사용방식과 설계 방식도 다양하다. 이에 프로그램 개발자는 각 언어의 특징을 학습하여 실제 사용을 하는데 적지 않은 학습시간 및 노력을 할애한다.Programming languages have distinct characteristics and vary in how they are used and designed. Therefore, program developers devote a lot of time and effort to learning the characteristics of each language and using it for actual use.

또한 프로그램 개발은 최종 결과물 구현과 매서드(method)를 조합하여 문법적 오류를 최소화하는데 많은 시간과 노력이 요구되는 작업이다. 언어의 다양화로 개발의 한계가 사라지고 있으나 반복적인 코딩과 설계 로직의 문법적 오류를 최소화하는데 많이 시간과 노력이 소비되는 되는 것이 현실이다. Program development is also a task that requires a lot of time and effort to minimize grammatical errors by combining the final output implementation and methods. Although the limitations of development are disappearing due to the diversification of languages, the reality is that it takes much time and effort to minimize grammatical errors in repetitive coding and design logic.

즉, 시간과 노동력의 중요성이 대두 되고 있는 시대에 많은 프로그램 언어의 학습과 개발과정의 문법적 오류를 최소화하는 작업은 시간 낭비와 생산성 저하의 원인으로 작용하고 있다.
In other words, in the times when the importance of time and labor is on the rise, the task of minimizing the grammatical errors in the learning and development process of many programming languages has been a cause of waste of time and productivity.

소비적인 코딩을 최소화하고 컴퓨터 지식이 있는 프로그램 전문가뿐만 아니라 일반 사용자도 프로그램을 쉽게 설계하고 원하는 프로그램 소스를 생성할 수 있는 프로그램 디자인 장치 및 그 방법이 제안된다.A program design apparatus and method for minimizing consuming coding and allowing general users as well as program experts with computer knowledge to easily design programs and generate desired program sources are proposed.

본 발명의 일 양상에 따른 프로그램 디자인 장치는, 프로그램 개발 언어에서 사용하는 다수의 기능에 대한 매서드(method) 마다 대응되는 템플릿 박스(Template Box)를 구비한 템플릿 모듈; 빌딩 블록(Building Block) 방식을 이용하여, 상기 다수의 템플릿 박스 중 사용자에 의해 선택된 템플릿 박스들에 대한 저작도구 화면에서의 배치 및 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결을 수행하고, 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 저장하는 템플릿 박스 배치부; 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 이용하여 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 대한 오류 여부를 검열하는 프로그램 흐름 검열부; 및 사용자에 의해서 선택된 프로그램 언어를 이용하여, 상기 프로그램 흐름 검열부의 검열 결과 입출력 연결의 흐름에 오류가 없는 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 상응하는 소스코드를 생성하는 프로그램 코드 생성부를 포함한다. According to an aspect of the present invention, there is provided a program design apparatus, including: a template module having a template box corresponding to a method for a plurality of functions used in a program development language; By using a building block method, the layout of the template boxes selected by the user among the plurality of template boxes is performed on the authoring tool screen and the input / output connection between the template boxes arranged on the authoring tool screen is performed. A template box arrangement unit for storing input / output connection information between template boxes arranged on an authoring tool screen; A program flow inspecting unit for inspecting whether or not there is an error in the flow of input / output connections between the arranged template boxes by using the input / output connection information between the template boxes arranged on the authoring tool screen; And a program code generation unit for generating source code corresponding to the flow of the input / output connection between the arranged template boxes in which the flow of the input / output connection of the program flow inspecting unit is not detected by using the program language selected by the user. .

상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보는, 상기 저작도구 화면에 배치된 템플릿 박스들 각각의 입출력단자 타입정보, 상기 저작도구 화면에 배치된 템플릿 박스들 간 입출력 단자 연결정보 및 상기 입출력 단자를 통해 연결된 템플릿 박스들 간 연결방향정보를 포함할 수 있다.Input / output connection information between the template boxes arranged on the authoring tool screen includes input / output terminal type information of each of the template boxes arranged on the authoring tool screen, input / output terminal connection information between the template boxes arranged on the authoring tool screen, and the input / output information. It may include connection direction information between the template boxes connected via the terminal.

상기 프로그램 코드 생성부는, 상기 저작도구 화면에 배치된 템플릿 박스들의 매서드를 파악해 함수를 생성하고 상기 입출력 단자 연결정보 및 연결방향정보에 따라 상기 생성된 함수 간 호출이 자동으로 이루어지도록 소스코드를 생성할 수 있다.The program code generation unit may generate a function by grasping the methods of the template boxes arranged on the authoring tool screen, and generate source code to automatically call the generated functions according to the input / output terminal connection information and the connection direction information. Can be.

본 발명의 다른 양상에 따른 프로그램 디자인 방법은, 프로그램 개발 언어에서 사용하는 다수의 기능에 대한 매서드(method) 마다 대응되는 템플릿 박스(Template Box) 중 임의의 프로그램 소스코드를 생성하기 위해 필요한 템플릿 박스들의 선택을 입력받는 단계; 빌딩 블록(Building Block) 방식을 이용하여, 상기 선택된 템플릿 박스들에 대한 저작도구 화면에서의 배치 및 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결을 수행하고, 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 저장하는 단계; 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 이용하여 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 대한 오류 여부를 검열하는 단계; 및 사용자에 의해서 선택된 프로그램 언어를 이용하여, 입출력 연결의 흐름에 오류가 없는 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 상응하는 소스코드를 생성하는 단계를 포함한다.The program design method according to another aspect of the present invention is a template box for generating any program source code of a template box corresponding to a method for a plurality of functions used in a program development language. Receiving a selection; By using a building block method, the layout of the selected template boxes on the authoring tool screen and the input / output connection between the template boxes arranged on the authoring tool screen are performed, and the template box disposed on the authoring tool screen Storing input / output connection information between them; Censoring an error of a flow of input / output connections between the arranged template boxes by using input / output connection information between the template boxes arranged on the authoring tool screen; And generating a source code corresponding to the flow of the input / output connection between the arranged template boxes in which the flow of the input / output connection is error free, using the programming language selected by the user.

상기 사용자에 의해서 선택된 프로그램 언어를 이용하여, 입출력 연결의 흐름에 오류가 없는 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 상응하는 소스코드를 생성하는 단계는, 상기 저작도구 화면에 배치된 템플릿 박스들의 매서드를 파악해 함수를 생성하고 상기 입출력 단자 연결정보 및 연결방향정보에 따라 상기 생성된 함수 간 호출이 자동으로 이루어지도록 소스코드를 생성할 수 있다.
Using the program language selected by the user, generating source code corresponding to the flow of the input / output connection between the arranged template boxes without error in the flow of the input / output connection may include: A function may be generated by grasping a method, and source code may be generated to automatically make a call between the generated functions according to the input / output terminal connection information and the connection direction information.

본 발명의 실시예에 따른 프로그램 디자인 시스템 및 그 방법에 따르면, 프로그램 언어에서 사용하는 컴퓨터 명령어를 속성별로 템플릿 박스(Template Box) 형식으로 구조화하여 사용자가 원하는 기능을 가진 템플릿을 선택해 마우스로 드래그 앤 드롭하여 작업 창에 끌어다가 놓고 하고자하는 연산의 방향으로 연결하는 것만으로 프로그램 코딩이 자동으로 생성되게 함으로써, 프로그램 개발자에게는 생산력과 시간의 우월함을 제공하고 프로그램 언어의 지식이 없는 사용자에게는 간단한 흐름도 디자인만으로 프로그램의 코드를 생성할 수 있게 해준다.According to the program design system and method thereof according to an embodiment of the present invention, a computer box used in a programming language is structured in the form of a template box for each property to select a template having a function desired by a user, and drag and drop the mouse with a mouse. The program coding is automatically generated by simply dragging it to the work window and connecting it in the direction of the operation to be provided. This gives the program developer the productivity and the superiority of time. Allows you to generate code for

도 1은 본 발명의 실시예에 따른 프로그램 디자인 장치의 구성을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 템플릿 박스 이미지를 예시한 도면이다.
도 3은 본 발명의 실시예에 따른 템플릿 박스 간 연결을 예시한 도면이다.
도 4는 본 발명의 실시예에 따른 저작도구 화면을 예시한 도면이다.
도 5는 본 발명의 실시예에 따른 프로그램 디자인 방법에 대한 플로차트를 나타낸 도면이다.
1 is a diagram showing the configuration of a program design apparatus according to an embodiment of the present invention.
2 is a diagram illustrating a template box image according to an embodiment of the present invention.
3 is a diagram illustrating a connection between template boxes according to an embodiment of the present invention.
4 is a diagram illustrating an authoring tool screen according to an embodiment of the present invention.
5 is a flowchart illustrating a program design method according to an embodiment of the present invention.

이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 본 발명의 실시예를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification.

도 1은 본 발명의 실시예에 따른 프로그램 디자인 장치에 대한 구성을 나타낸 도면이다.1 is a diagram showing the configuration of a program design apparatus according to an embodiment of the present invention.

도시된 바와 같이 본 발명의 실시예에 따른 프로그램 디자인 장치는, 템플릿 모듈(10), 템플릿 박스 배치부(20), 프로그램 흐름 검열부(30) 및 프로그램 코드 생성부(40)를 포함한다.
As shown, the program design apparatus according to the embodiment of the present invention includes a template module 10, a template box arranging unit 20, a program flow inspecting unit 30, and a program code generating unit 40.

템플릿 모듈(10)은 프로그램 개발 언어에서 사용되는 다수의 기능에 대한 매서드(method) 마다 대응되는 템플릿 박스(Template Box)를 구비한다. 즉, 템플릿 모듈(10)은 프로그램 개발 언어에서 사용되는 다수의 기능에 대한 매서드를 저장한 프로그램 언어 기능 정리부(11)를 포함하며, 이 다수의 매서드 마다 대응되는 템플릿 박스를 구비한다. 이러한 템플릿 박스를 통하여 사용자는 반복적인 코딩을 최소화할 수 있으며 원하는 기능을 코딩 없이 템플릿 박스의 배치와 연결만으로 코딩을 대체할 수 있게 된다. 이때, 템플릿 박스는 기능에 대한 매서드를 포함하며, 매서드와 함께 템플릿 내부에서 사용할 변수와 로직을 입력받을 수 있다.The template module 10 includes a template box corresponding to each method for a plurality of functions used in a program development language. That is, the template module 10 includes a program language function organizer 11 that stores methods for a plurality of functions used in a program development language, and includes a template box corresponding to each of these methods. Through such a template box, a user can minimize repetitive coding and replace coding by simply placing and connecting a template box without coding a desired function. In this case, the template box includes a method for a function and may receive variables and logic to be used in the template together with the method.

템플릿 박스 배치부(30)는 빌딩 블록(Building Block) 방식을 이용하여, 다수의 템플릿 박스 중 사용자에 의해 선택된 템플릿 박스들에 대한 저작도구 화면에서의 배치 및 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결을 수행하고, 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 저장한다. 이때, 템플릿 박스에 대한 이미지가 도 2에 도시되어 있다. 도시된 바와 같이 템플릿 박스는 템플릿 박스들간 입출력 연결을 위한 입출력 단자(Input, Output)가 구비되어 있으며, 이러한 템플릿 박스들의 입출력 단자들을 통한 연결에 대한 예시가 도 3에 도시되어 있다. 또한 저작도구 화면에 사용자에 의해 선택된 템플릿 박들의 배치 및 입출력 연결관계에 대한 예시가 도 4에 도시되어 있다.
The template box arranging unit 30 uses a building block method to arrange the template boxes selected by the user among the plurality of template boxes on the authoring tool screen and between the template boxes arranged on the authoring tool screen. Performs I / O connection and stores I / O connection information between template boxes arranged on the authoring tool screen. At this time, the image for the template box is shown in FIG. As shown, the template box is provided with input and output terminals (Input, Output) for input and output connection between the template boxes, an example of the connection through the input and output terminals of these template boxes is shown in FIG. 4 illustrates an example of arrangement and input / output connection of template foils selected by a user on an authoring tool screen.

프로그램 흐름 검열부(30)는 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 이용하여 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 대한 오류 여부를 검열한다. 이때, 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보는, 저작도구 화면에 배치된 템플릿 박스들 각각의 입출력단자 타입정보, 상기 저작도구 화면에 배치된 템플릿 박스들 간 입출력 단자 연결정보 및 상기 입출력 단자를 통해 연결된 템플릿 박스들 간 연결방향정보를 포함할 수 있다. 즉, 프로그램 흐름 검열부(30)는 저작도구 화면에 배치된 템플릿 박스들 각각의 입출력단자 타입정보, 상기 저작도구 화면에 배치된 템플릿 박스들 간 입출력 단자 연결정보 및 상기 입출력 단자를 통해 연결된 템플릿 박스들 간 연결방향정보를 이용하여, 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 대한 오류 여부를 검열할 수 있다.
The program flow detector 30 detects an error in the flow of the input / output connection between the arranged template boxes by using the input / output connection information between the template boxes arranged on the authoring tool screen. In this case, the input / output connection information between the template boxes arranged on the authoring tool screen includes input / output terminal type information of each of the template boxes arranged on the authoring tool screen, input / output terminal connection information between the template boxes arranged on the authoring tool screen, and the input / output information. It may include connection direction information between the template boxes connected via the terminal. That is, the program flow detector 30 may input / output terminal type information of each of the template boxes arranged on the authoring tool screen, input / output terminal connection information between the template boxes arranged on the authoring tool screen, and a template box connected through the input / output terminal. By using the connection direction information between them, it is possible to inspect whether there is an error in the flow of input and output connection between the arranged template boxes.

프로그램 코드 생성부(40)는 사용자에 의해서 선택된 프로그램 언어를 이용하여, 프로그램 흐름 검열부(30)의 검열 결과 입출력 연결의 흐름에 오류가 없는 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 상응하는 소스코드를 생성한다. 즉, 프로그램 코드 생성부(40)는, 저작도구 화면에 배치된 템플릿 박스들의 매서드를 파악해 함수를 생성하고 상기 입출력 단자 연결정보 및 연결방향정보에 따라 상기 생성된 함수 간 호출이 자동으로 이루어지도록 소스코드를 생성할 수 있다.
The program code generation unit 40 uses a program language selected by a user, and the source corresponding to the flow of the input / output connection between the arranged template boxes without error in the flow of the I / O connection as a result of the inspection of the program flow detector 30. Generate the code. That is, the program code generation unit 40 grasps the methods of the template boxes arranged on the authoring tool screen, generates a function, and automatically calls the generated functions between the generated functions according to the input / output terminal connection information and the connection direction information. You can generate code.

도 5는 본 발명의 실시예에 따른 프로그램 디자인 방법에 대한 플로차트를 나타낸 도면이다.5 is a flowchart illustrating a program design method according to an embodiment of the present invention.

도 5에 도시된 프로그램 디자인 방법의 수행은 도 1에 도시된 프로그램 디자인 장치에 의해서 수행될 수 있다.The program design method illustrated in FIG. 5 may be performed by the program design apparatus illustrated in FIG. 1.

이에 따라 본 발명의 실시예에 따른 프로그램 디자인 방법은 도 1의 구성요소를 이용하여 설명하기로 한다.Accordingly, the program design method according to the embodiment of the present invention will be described using the components of FIG. 1.

템블릿 박스 배치부(20)는 프로그램 개발 언어에서 사용하는 다수의 기능에 대한 매서드(method) 마다 대응되는 템플릿 박스(Template Box) 중 임의의 프로그램 소스코드를 생성하기 위해 필요한 템플릿 박스들의 선택을 입력받는다(S1).The template box arranging unit 20 inputs a selection of template boxes required to generate an arbitrary program source code among template boxes corresponding to methods for a plurality of functions used in a program development language. Receive (S1).

이후 템플릿 박스 배치부(20)는 빌딩 블록(Building Block) 방식을 이용하여, 상기 선택된 템플릿 박스들에 대한 저작도구 화면에서의 배치 및 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결을 수행하고, 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 저장한다(S2). 이때, 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보는, 저작도구 화면에 배치된 템플릿 박스들 각각의 입출력단자 타입정보, 상기 저작도구 화면에 배치된 템플릿 박스들 간 입출력 단자 연결정보 및 상기 입출력 단자를 통해 연결된 템플릿 박스들 간 연결방향정보를 포함할 수 있다.Thereafter, the template box arranging unit 20 performs an arrangement on the authoring tool screen for the selected template boxes and input / output connection between the template boxes arranged on the authoring tool screen by using a building block method. Input / output connection information between template boxes arranged on the authoring tool screen is stored (S2). In this case, the input / output connection information between the template boxes arranged on the authoring tool screen includes input / output terminal type information of each of the template boxes arranged on the authoring tool screen, input / output terminal connection information between the template boxes arranged on the authoring tool screen, and the input / output information. It may include connection direction information between the template boxes connected via the terminal.

프로그램 흐름 검열부(30)는 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 이용하여 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 대한 오류 여부를 검열한다(S3). The program flow detector 30 detects an error of the flow of the input / output connection between the arranged template boxes by using the input / output connection information between the template boxes arranged on the authoring tool screen (S3).

프로그램 코드 생성부(40)는 사용자에 의해서 선택된 프로그램 언어를 이용하여, 입출력 연결의 흐름에 오류가 없는 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 상응하는 소스코드를 생성한다(S4). 이때, 프로그램 코드 생성부(40)는, 저작도구 화면에 배치된 템플릿 박스들의 매서드를 파악해 함수를 생성하고 상기 입출력 단자 연결정보 및 연결방향정보에 따라 상기 생성된 함수 간 호출이 자동으로 이루어지도록 소스코드를 생성할 수 있다.
The program code generation unit 40 generates a source code corresponding to the flow of the input / output connection between the arranged template boxes without an error in the flow of the input / output connection using the program language selected by the user (S4). At this time, the program code generation unit 40 grasps the methods of the template boxes arranged on the authoring tool screen, generates a function, and automatically makes a call between the generated functions according to the input / output terminal connection information and the connection direction information. You can generate code.

상술한 바와 같이 본 발명의 실시예에 따른 프로그램 디자인 장치 및 방법은, 프로그램 코딩의 새로운 방법을 제시한 것으로서 컴퓨터 지식이 있는 개발자 이외에도 프로그램 언어에 대한 지식이 없는 일반 사용자도 마치 벽돌을 쌓아가듯이 빌딩 블록 방식의 GUI를 통해 간단한 마우스 조작만으로도 쉽게 프로그램을 코딩할 수 있으며 개발자에게는 반복적인 코딩을 최소화할 수 있게 해준다.
As described above, the apparatus and method for designing a program according to an embodiment of the present invention provides a new method of program coding. In addition to a developer with computer knowledge, a general user who does not have knowledge of a programming language builds a building as if building a brick. Block-based GUIs make it easy to code programs with a simple mouse operation, allowing developers to minimize repetitive coding.

이제까지 본 발명에 대하여 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 따라서 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허청구범위에 기재된 내용 및 그와 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.
So far, the present invention has been described with reference to the embodiments. Those skilled in the art will understand that the present invention may be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. Therefore, the scope of the present invention should not be construed as being limited to the above-described examples, but should be construed to include various embodiments within the scope of the claims and equivalents thereof.

Claims (6)

프로그램 개발 언어에서 사용하는 다수의 기능에 대한 매서드(method) 마다 대응되는 템플릿 박스(Template Box)를 구비한 템플릿 모듈;
빌딩 블록(Building Block) 방식을 이용하여, 상기 다수의 템플릿 박스 중 사용자에 의해 선택된 템플릿 박스들에 대한 저작도구 화면에서의 배치 및 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결을 수행하고, 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 저장하는 템플릿 박스 배치부;
상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 이용하여 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 대한 오류 여부를 검열하는 프로그램 흐름 검열부; 및
사용자에 의해서 선택된 프로그램 언어를 이용하여, 상기 프로그램 흐름 검열부의 검열 결과 입출력 연결의 흐름에 오류가 없는 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 상응하는 소스코드를 생성하는 프로그램 코드 생성부를 포함하되,
상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보는, 상기 저작도구 화면에 배치된 템플릿 박스들 각각의 입출력단자 타입정보, 상기 저작도구 화면에 배치된 템플릿 박스들 간 입출력 단자 연결정보 및 상기 입출력 단자를 통해 연결된 템플릿 박스들 간 연결방향정보를 포함하는, 프로그램 디자인 장치.
A template module having a template box corresponding to each method for a plurality of functions used in a program development language;
By using a building block method, the layout of the template boxes selected by the user among the plurality of template boxes is performed on the authoring tool screen and the input / output connection between the template boxes arranged on the authoring tool screen is performed. A template box arrangement unit for storing input / output connection information between template boxes arranged on an authoring tool screen;
A program flow inspecting unit for inspecting whether or not there is an error in the flow of input / output connections between the arranged template boxes by using the input / output connection information between the template boxes arranged on the authoring tool screen; And
Including a program code generation unit for generating a source code corresponding to the flow of the input and output connection between the arranged template boxes without error in the flow of the I / O connection result as a result of the inspection of the program flow detector by using a program language selected by the user,
Input / output connection information between the template boxes arranged on the authoring tool screen includes input / output terminal type information of each of the template boxes arranged on the authoring tool screen, input / output terminal connection information between the template boxes arranged on the authoring tool screen, and the input / output information. Program design device comprising connection direction information between the template boxes connected via the terminal.
삭제delete 제 1 항에 있어서,
상기 프로그램 코드 생성부는,
상기 저작도구 화면에 배치된 템플릿 박스들의 매서드를 파악해 함수를 생성하고 상기 입출력 단자 연결정보 및 연결방향정보에 따라 상기 생성된 함수 간 호출이 자동으로 이루어지도록 소스코드를 생성하는, 프로그램 디자인 장치.
The method of claim 1,
The program code generation unit,
And a method for generating a function by grasping methods of template boxes arranged on the authoring tool screen, and generating source code to automatically make a call between the generated functions according to the input / output terminal connection information and connection direction information.
프로그램 개발 언어에서 사용하는 다수의 기능에 대한 매서드(method) 마다 대응되는 템플릿 박스(Template Box) 중 임의의 프로그램 소스코드를 생성하기 위해 필요한 템플릿 박스들의 선택을 입력받는 단계;
빌딩 블록(Building Block) 방식을 이용하여, 상기 선택된 템플릿 박스들에 대한 저작도구 화면에서의 배치 및 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결을 수행하고, 상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 저장하는 단계;
상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보를 이용하여 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 대한 오류 여부를 검열하는 단계; 및
사용자에 의해서 선택된 프로그램 언어를 이용하여, 입출력 연결의 흐름에 오류가 없는 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 상응하는 소스코드를 생성하는 단계를 포함하되,
상기 저작도구 화면에 배치된 템플릿 박스들간 입출력 연결정보는, 상기 저작도구 화면에 배치된 템플릿 박스들 각각의 입출력단자 타입정보, 상기 저작도구 화면에 배치된 템플릿 박스들 간 입출력 단자 연결정보 및 상기 입출력 단자를 통해 연결된 템플릿 박스들 간 연결방향정보를 포함하는, 프로그램 디자인 방법.
Receiving a selection of template boxes required to generate an arbitrary program source code among template boxes corresponding to a method for a plurality of functions used in a program development language;
By using a building block method, the layout of the selected template boxes on the authoring tool screen and the input / output connection between the template boxes arranged on the authoring tool screen are performed, and the template box disposed on the authoring tool screen Storing input / output connection information between them;
Censoring an error of a flow of input / output connections between the arranged template boxes by using input / output connection information between the template boxes arranged on the authoring tool screen; And
Generating source code corresponding to the flow of the input / output connection between the arranged template boxes without error in the flow of the input / output connection by using the programming language selected by the user,
Input / output connection information between the template boxes arranged on the authoring tool screen includes input / output terminal type information of each of the template boxes arranged on the authoring tool screen, input / output terminal connection information between the template boxes arranged on the authoring tool screen, and the input / output information. Program design method comprising the connection direction information between the template boxes connected via the terminal.
삭제delete 제 4 항에 있어서,
상기 사용자에 의해서 선택된 프로그램 언어를 이용하여, 입출력 연결의 흐름에 오류가 없는 상기 배치된 템플릿 박스들간 입출력 연결의 흐름에 상응하는 소스코드를 생성하는 단계는,
상기 저작도구 화면에 배치된 템플릿 박스들의 매서드를 파악해 함수를 생성하고 상기 입출력 단자 연결정보 및 연결방향정보에 따라 상기 생성된 함수 간 호출이 자동으로 이루어지도록 소스코드를 생성하는, 프로그램 디자인 방법.
The method of claim 4, wherein
By using the programming language selected by the user, generating a source code corresponding to the flow of the input and output connection between the arranged template boxes without error in the flow of the input and output connection,
Grasping the methods of the template boxes arranged on the authoring tool screen, generating a function, and generating source code to automatically make a call between the generated functions according to the input / output terminal connection information and the connection direction information.
KR1020100083307A 2010-07-08 2010-08-27 Program design apparatus and method KR101149655B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20100065687 2010-07-08
KR1020100065687 2010-07-08

Publications (2)

Publication Number Publication Date
KR20120005358A KR20120005358A (en) 2012-01-16
KR101149655B1 true KR101149655B1 (en) 2012-05-25

Family

ID=45611558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100083307A KR101149655B1 (en) 2010-07-08 2010-08-27 Program design apparatus and method

Country Status (1)

Country Link
KR (1) KR101149655B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101408280B1 (en) * 2012-03-08 2014-06-17 주식회사 청호컴넷 Apparatus and method for logic creation of development tools, and storage medium recording program for implementing method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060079690A (en) * 2005-01-03 2006-07-06 아토정보기술 주식회사 Component-based programming automation process using templates and patterns

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060079690A (en) * 2005-01-03 2006-07-06 아토정보기술 주식회사 Component-based programming automation process using templates and patterns

Also Published As

Publication number Publication date
KR20120005358A (en) 2012-01-16

Similar Documents

Publication Publication Date Title
KR100860963B1 (en) Apparatus and method for developing software based on component
US9921946B2 (en) Method and system to display and browse program trace using source code decoration
JP2008191963A (en) Source code verification system, source code verification method and source code verification program
JP2018041373A (en) Executable program creation device, executable program creation method, and executable program creation program
JP2009104342A (en) Data flow analysis apparatus, data flow analysis method and data flow analyzing program
De Boeck et al. High-level modeling of multimodal interaction techniques using nimmit
JP2009193181A (en) Software development support system and method, and program for the method
KR101149655B1 (en) Program design apparatus and method
US20100275183A1 (en) Source code auditor with a customized rules builder
JP6506108B2 (en) PROGRAM DISPLAY DEVICE, PROGRAM DISPLAY SYSTEM, PROGRAM DISPLAY METHOD, AND PROGRAM DISPLAY PROGRAM
Spönemann et al. Port constraints in hierarchical layout of data flow diagrams
CN114237557B (en) Method for debugging logic system design, electronic equipment and storage medium
Zhao Control-flow analysis and representation for aspect-oriented programs
JP2023553535A (en) System and method for developing user interface applications
JP2007122187A (en) Program code generation device
CN109656556B (en) Method and device for generating self-adaptive page
JP2013235508A (en) Object-oriented program generation device, method therefor, and program
De Lucia et al. Coconut: Code comprehension nurturant using traceability
JP2015148925A (en) Program generation device and method
CN111382021A (en) Processor testing method, related device and equipment
US11740882B2 (en) Modular software integration tools and systems
JP5755103B2 (en) Block diagram processing apparatus and block diagram processing method
JP2014532223A (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)
JP2012150740A (en) Program generating device and method
KR101974804B1 (en) Flow diagram generation method and apparatus performing the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150506

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160513

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170517

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180503

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190513

Year of fee payment: 8