KR100456623B1 - Apparatus and method to support simultaneous round-trip engineering for maintaining consistency between source code and corresponding design model - Google Patents

Apparatus and method to support simultaneous round-trip engineering for maintaining consistency between source code and corresponding design model Download PDF

Info

Publication number
KR100456623B1
KR100456623B1 KR10-2002-0045735A KR20020045735A KR100456623B1 KR 100456623 B1 KR100456623 B1 KR 100456623B1 KR 20020045735 A KR20020045735 A KR 20020045735A KR 100456623 B1 KR100456623 B1 KR 100456623B1
Authority
KR
South Korea
Prior art keywords
source code
model
manager
information
uml
Prior art date
Application number
KR10-2002-0045735A
Other languages
Korean (ko)
Other versions
KR20040012250A (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 한국전자통신연구원
Priority to KR10-2002-0045735A priority Critical patent/KR100456623B1/en
Publication of KR20040012250A publication Critical patent/KR20040012250A/en
Application granted granted Critical
Publication of KR100456623B1 publication Critical patent/KR100456623B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented

Abstract

본 발명은 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 장치 및 방법에 관한 것으로, UML(Unified Modeling Language : UML) 모델을 편집할 수 있는 환경을 사용자에게 제공하는 중에, 사용자에 의해 소프트웨어 설계모델 정보가 편집될 경우, 편집되는 변경 메시지 정보를 제공하는 UML 모델 작성기; UML 모델 작성기로부터 제공되는 변경 메시지 정보를 패키징하고, 패키징된 메시지 정보를 설계모델 게이트웨이를 통해 제공하는 UML 모델 관리기; UML 모델 관리기로부터 패키징된 변경 메시지 정보를 제공받은 후, 소스코드 파서(parser)를 연동시켜 프로그램 소스코드 정보를 주석정보까지 유지할 수 있도록 문법 트리를 관리하며, 코드 모델 변경 시 주석이 포함된 문법 트리 구조를 갱신하는 소스코드 관리기; UML 모델 관리기와 소스코드 관리기간에 위치하며, 소스코드를 편집할 수 있는 환경을 제공하는 중에, 사용자에 의해 소스코드가 변경될 경우, 소스코드의 변경을 반영하기 위한 동기화 시점을 결정하면서 변경된 소스코드를 소스코드 관리기에 제공하는 소스코드 편집기를 구비한다. 따라서, 소프트웨어 설계모델과 소스코드 모델 사이의 메시지 교환절차를 제공하며, 또한, 취소/반복(Undo/Redo) 기능을 지원하기 위한 소스코드 관리기를 이용하는 방법을 제시할 수 있으며, 설계 및 구현 과정이 유기적으로 연결되어 소프트웨어 개발에서의 설계와 해당 코드 사이의 일관성이 자동적으로 유지되며, 소프트웨어 설계 및 코드의 재사용과 소프트웨어의 유지 보수를 용이하게 수행할 수 있다는 효과가 있다.The present invention relates to an apparatus and method for supporting simultaneous circular engineering by maintaining a consistency between a design model and a source code, while providing a user with an environment in which a UML model can be edited. UML model builder for providing the change message information is edited when the software design model information is edited by the; A UML model manager for packaging change message information provided from the UML model builder and providing the packaged message information through a design model gateway; After receiving the packaged change message information from the UML model manager, it manages the grammar tree to maintain program source code information up to the comment information by linking the source code parser. A source code manager for updating the structure; Located in the UML model manager and source code management period, while providing the environment for editing the source code, if the source code is changed by the user, the changed source is determined while determining the synchronization point to reflect the change of the source code. It has a source code editor that provides code to the source code manager. Therefore, it provides a message exchange procedure between the software design model and the source code model, and also suggests how to use the source code manager to support the Undo / Redo function. It is organically connected, so that the consistency between design and corresponding code in software development is automatically maintained, and software design and code reuse and software maintenance can be easily performed.

Description

설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 장치 및 방법{APPARATUS AND METHOD TO SUPPORT SIMULTANEOUS ROUND-TRIP ENGINEERING FOR MAINTAINING CONSISTENCY BETWEEN SOURCE CODE AND CORRESPONDING DESIGN MODEL}Apparatus and method for supporting concurrent cyclic engineering by maintaining design model and source code consistency {APPARATUS AND METHOD TO SUPPORT

본 발명은 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학(Simultaneous Round-trip Engineering : SRE)을 지원하기 위한 장치 및 방법에 관한 것으로, 특히 객체 지향 소프트웨어를 설계 및 구현하는 과정에서 발생되는 설계 모델과 소스코드간을 일관성 있게 관리할 수 있도록 하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and a method for supporting Simultaneous Round-trip Engineering (SRE) by maintaining a consistency between a design model and source code, and in particular, a design generated in the process of designing and implementing object-oriented software. The present invention relates to an apparatus and a method for consistently managing a model and source code.

통상적으로, 동시 순환공학(SRE)은 객체 지향 소프트웨어(software)를 설계 및 구현하기 위한 기술로서, 설계하고자 하는 모델로부터 소스코드를 생성한 후, 생성된 소스코드나 설계모델에 변경이 가해질 경우 설계자(또는, 구현자)가 직접 설계모델을 변경하는 기술이다.In general, SRE is a technology for designing and implementing object-oriented software. After generating source code from a model to be designed, the designer can change the generated source code or design model. (Or the implementor) is a technique that directly changes the design model.

즉, 객체 지향 소프트웨어를 개발할 경우, 설계 모델과 소스코드간에 불일치할 가능성이 높으며, 실질적으로 불 일치하는 경우가 발생되면, 설계 모델과 소스코드를 유지 보수하는데 상당한 어려움이 있다는 문제점이 있다.That is, when developing object-oriented software, there is a high possibility of inconsistency between the design model and the source code, and there is a problem that there is a considerable difficulty in maintaining the design model and the source code when a substantially inconsistent case occurs.

이와 같이, 객체 지향 소프트웨어(software)를 설계 및 구현하기 위해 공지된 기술로는 10-2000-0055378번으로 등록된 "패턴과 컴포넌트를 이용한 프로그램 코드 자동 생성방법"과 2000년 OOPSLA지에 게재된 "URCA Approach to Scenario-based Round-trip Engineering" 등에 개시되어 있다.As such, known techniques for designing and implementing object-oriented software include "automatic generation of program code using patterns and components" registered at 10-2000-0055378 and "URCA" published in OOPSLA in 2000. Approach to Scenario-based Round-trip Engineering. "

상술한 바와 같이 개시된 선행기술을 상세하게 설명하면, 10-2000-0055378번으로 등록된 패턴과 컴포넌트를 이용한 프로그램 코드 자동 생성방법은 생성하고자하는 프로그램의 패턴 및 그에 연결되는 컴포넌트 소스를 미리 제공하여, 선택된 패턴과 컴포넌트를 연결하고, 이미 구축된 데이터베이스 정보를 불러와 데이터베이스를 설계하며, 선택된 패턴 및 데이터베이스 기반으로 프로그램 소스를 자동 생성하는 기술이다.Referring to the prior art disclosed in detail as described above, the program code automatic generation method using the pattern and the components registered as 10-2000-0055378 is provided in advance by providing a pattern of the program to be generated and a component source connected thereto, It is a technology that connects selected patterns and components, loads database information already established, designs a database, and automatically generates program sources based on the selected patterns and databases.

다음으로, 2000년 OOPSLA지에 게재된 URCA Approach to Scenario-based Round-trip Engineering 기술은 기존의 정적인 순환공학 기법의 오버헤드를 최소화 하기 위해 시나리오 기반의 순환공학방법을 제안한 것으로, 코드로부터 초기모델을 만드는 역공학과 모델과 코드간의 양방향 일치성을 유지하기 위한 순환 공학 프로세스 내에서 행위적인 모델링 요소들의 불일치성을 제거하기 위해 포멀 컨셉(formal concept) 분석을 이용한 유즈 케이스 중심의 모델 복원 방법이다.Next, the URCA Approach to Scenario-based Round-trip Engineering technology, published in OOPSLA in 2000, proposed a scenario-based cyclic engineering method to minimize the overhead of existing static cyclic engineering techniques. It is a use case-centered model reconstruction method using formal concept analysis to remove inconsistencies of behavioral modeling elements in the cyclic engineering process to maintain reverse engineering between model and code.

즉, 코드로부터 역공학을 통해 초기 모델을 만드는 과정에서 행위적인 요소를 얻기 위해 포멀 컨셉(Formal Concept) 분석 방법을 사용하고 있으며, 이를 분석하여 얻어진 스크립트를 기반으로 유즈 케이스 중심의 모델 복원 작업을 수행하기 위한 기본 방법이며, 이러한 작업에서 유즈 케이스를 중심으로 동적인 요소들을 레이어로 그룹핑하고, 분석된 시스템 함수들을 계층 구조로 분석하여 행위적 요소들을 얻어내어 이를 순환공학에 사용하는 기술이다.In other words, the formal concept analysis method is used to obtain the behavioral elements in the process of creating the initial model through reverse engineering from the code, and the use case-oriented model restoration work is performed based on the script obtained from the analysis. In this work, dynamic elements are grouped around a use case in a layer, and analyzed system functions are analyzed in a hierarchical structure to obtain behavioral elements and use them in circular engineering.

다시 말해서, 본 논문에서 제안하는 URCA 방법은 정형적 개념 분석에 초점을 두어 분석된 시스템의 함수들을 그룹핑 하고 이를 계층화하여 공통 행위의 범주로 분류하는 방법이며, 수집된 동적 분석 데이터에 기반을 두고 문맥간의 연결관계를 구조화시키며, 함수와 각 유즈 케이스를 연결시켜 이를 순환공학 프로세스에 사용함에 따라 기존의 순환공학에서 사용되는 정적인 정보 분석뿐만 아니라 유즈 케이스 중심의 시스템의 행위 분석을 통해 행위 모델의 순환공학을 지원하기 위한 기술이다.In other words, the URCA method proposed in this paper is a method of grouping and hierarchizing functions of analyzed systems with a focus on formal conceptual analysis and classifying them into categories of common behavior. By linking functions and each use case and using them in the cyclic engineering process, the behavior model is circulated through the analysis of the use case-oriented system as well as the static information analysis used in the existing cyclic engineering. Technology to support engineering.

이와 같이, 선행 특허에 개시된 기술을 살펴보았을 때, 본 발명과 연관된 기존 특허(10-2000-0055378번)로는 패턴과 컴포넌트를 동시 순환공학의 일부 기능인 순공학에 관련된 소스코드 생성기술을 제안하고 있을 뿐, 실제 생성된 코드의 변경에 따른 설계모델의 자동 변경에 관한 내용은 포함하고 있지 않으며, 또한, 본 발명과 가장 연관된 논문(2000년 OOPSLA지에 게재된 논문)으로는 소스코드로부터 정적 모델과 동적 모델 정보를 추출하여 동적 모델 중심으로 순환공학을 지원하는 방법에 관한 기술이지만, 본 발명에서 정의하는 동시 순환공학을 지원하기 위한 메시지의 형태나 설계모델과 소스코드 모델 사이의 메시지 교환 절차 등에 관한 기술은 포함되어 있지 않다 라는 면에서 여전히 진보하지 못하다는 문제점은 여전히 남아 있다.As described above, when looking at the technology disclosed in the prior patent, the existing patent (No. 10-2000-0055378) associated with the present invention may propose a source code generation technology related to forward engineering, which is a function of simultaneous circular engineering of patterns and components. However, it does not include the automatic change of the design model according to the actual generated code change, and the most relevant paper (the paper published in OOPSLA, 2000) includes static models and dynamics from source code. A technique for supporting cyclic engineering based on dynamic model by extracting model information, but a technique regarding message format or message exchange procedure between design model and source code model for supporting cyclic engineering defined in the present invention The problem is that there is still no progress in that it is not included.

따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 객체 지향 소프트웨어를 설계 및 구현하는 과정에서 발생되는 설계 모델과 소스코드간을 일관성 있게 관리 및 유지하여 소프트웨어의 재사용과 유지보수를 용이하게 수행시켜 동시 순환공학(SRE)을 지원하기 위한 장치 및 방법을 제공함에 있다.Accordingly, the present invention has been made to solve the above-mentioned problems, the object of which is to reuse and maintain the software by consistently managing and maintaining the design model and source code generated in the process of designing and implementing the object-oriented software The present invention provides an apparatus and a method for easily performing SRE.

상술한 목적을 달성하기 위한 본 발명에서 설계 모델과 소스코드의 일관성을유지시켜 동시 순환공학(SRE)을 지원하기 위한 장치는 UML(Unified Modeling Language : UML) 모델을 편집할 수 있는 환경을 사용자에게 제공하는 중에, 사용자에 의해 소프트웨어 설계모델 정보가 편집될 경우, 편집되는 변경 메시지 정보를 제공하는 UML 모델 작성기; UML 모델 작성기로부터 제공되는 변경 메시지 정보를 패키징하고, 패키징된 메시지 정보를 설계모델 게이트웨이를 통해 제공하는 UML 모델 관리기; UML 모델 관리기로부터 패키징된 변경 메시지 정보를 제공받은 후, 소스코드 파서(parser)를 연동시켜 프로그램 소스코드 정보를 주석정보까지 유지할 수 있도록 문법 트리를 관리하며, 코드 모델 변경 시 주석이 포함된 문법 트리 구조를 갱신하는 소스코드 관리기; UML 모델 관리기와 소스코드 관리기간에 위치하며, 소스코드를 편집할 수 있는 환경을 제공하는 중에, 사용자에 의해 소스코드가 변경될 경우, 소스코드의 변경을 반영하기 위한 동기화 시점을 결정하면서 변경된 소스코드를 소스코드 관리기에 제공하는 소스코드 편집기를 포함하는 것을 특징으로 한다.In the present invention for achieving the above object to maintain the consistency of the design model and the source code to support the simultaneous circular engineering (SRE) device for an environment that can edit UML (Unified Modeling Language (UML)) model to the user During providing, a UML model builder for providing the change message information to be edited when the software design model information is edited by the user; A UML model manager for packaging change message information provided from the UML model builder and providing the packaged message information through a design model gateway; After receiving the packaged change message information from the UML model manager, it manages the grammar tree to maintain program source code information up to the comment information by linking the source code parser. A source code manager for updating the structure; Located in the UML model manager and source code management period, while providing the environment for editing the source code, if the source code is changed by the user, the changed source is determined while determining the synchronization point to reflect the change of the source code. And a source code editor for providing the code to the source code manager.

상술한 목적을 달성하기 위한 본 발명에서 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학(SRE)을 지원하기 위한 방법은 소프트웨어 설계모델이 변경되는 경우로서, UML 모델 작성기에서 UML 모델을 편집할 수 있는 환경을 사용자에게 제공하는 중에, 사용자에 의해 소프트웨어 설계모델이 변경되면, 변경되는 메시지 정보를 UML 모델 관리기에 제공하는 단계; UML 모델 작성기에 의해 변경된 메시지 정보를 제공받은 UML 모델 관리기는 변경된 메시지 정보를 패키징하고, 설계모델 게이트웨이를 통해 소스코드 관리기에 패키징된 메시지 정보를 제공하는 단계;UML 모델 관리기로부터 패키징된 변경 메시지 정보를 제공받은 소스코드 관리기는 소스코드 파서(parser)를 연동시켜 프로그램 소스코드 정보를 주석정보까지 유지할 수 있도록 문법 트리를 관리하는 단계를 포함하며,In the present invention for achieving the above object, a method for supporting simultaneous circular engineering (SRE) by maintaining the consistency of the design model and the source code is a case where the software design model is changed, and the UML model builder can edit the UML model. Providing the UML model manager with changed message information when the software design model is changed by the user while providing the user with an environment that can be used; The UML model manager provided with the changed message information by the UML model builder packages the changed message information and provides the packaged message information to the source code manager through the design model gateway; The packaged change message information is received from the UML model manager. The provided source code manager includes a step of managing a grammar tree so that the source code parser can be linked with the source code parser to maintain program source code information as well as annotation information.

소스코드가 변경되는 경우로서, 사용자에 의해 소스코드가 변경될 경우, 소스코드 편집기에서 소스코드의 변경을 반영하기 위한 동기화 시점을 결정한 후, 변경된 소스코드를 소스코드 관리기에 제공하는 단계; 소스코드 편집기로부터 변경된 소스코드를 제공받은 소스코드 관리기는 소스코드를 메시지 정보 형태로 패키징하고, 패키징된 메시지 정보를 소스코드 모델 게이트웨이를 통해 UML 모델 관리기에 제공하는 단계를 포함하는 것을 특징으로 한다.When the source code is changed, if the source code is changed by the user, after determining the synchronization time to reflect the change of the source code in the source code editor, providing the changed source code to the source code manager; The source code manager receiving the changed source code from the source code editor includes packaging the source code in the form of message information, and providing the packaged message information to the UML model manager through the source code model gateway.

도 1은 본 발명에 따른 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 장치에 대한 블록 구성도이고,1 is a block diagram of an apparatus for supporting simultaneous cyclic engineering by maintaining consistency of a design model and source code according to the present invention;

도 2는 본 발명에 따른 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법에 대하여 상세하게 설명한 도면이며,2 is a detailed description of a method for supporting simultaneous cyclic engineering by maintaining consistency between a design model and source code according to the present invention.

도 3은 본 발명에 따른 객체지향 소프트웨어에 대한 전체 설계모델과 소스코드 모델에 대하여 트리 형태로 각각 관리되는 도면이다.3 is a diagram for managing the overall design model and source code model for the object-oriented software according to the present invention in a tree form, respectively.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10 : UML 모델 작성기 20 : UML 모델 관리기10: UML Model Builder 20: UML Model Manager

30 : 설계 모델 게이트웨이 40 : 소스코드 관리기30: design model gateway 40: source code manager

50 : 소스코드 모델 게이트웨이 60 : 소스코드 파서50: source code model gateway 60: source code parser

70 : 소스코드 편집기70: source code editor

S1 : 사용자S1: user

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 장치에 대한 블록 구성도로서, UML(Unified Modeling Language : UML) 모델 작성기(10)와, UML 모델 관리기(20)와, 설계 모델 게이트웨이(30)와, 소스코드 관리기(40)와, 소스코드 모델 게이트웨이(50)와, 소스코드 파서(60)와, 소스코드 편집기(70)를 포함한다.1 is a block diagram of an apparatus for supporting simultaneous cyclic engineering by maintaining a consistency between a design model and a source code according to the present invention. The UML (Unified Modeling Language: UML) model builder 10 and a UML model manager 20, a design model gateway 30, a source code manager 40, a source code model gateway 50, a source code parser 60, and a source code editor 70.

UML 모델 작성기(10)는 UML 모델을 편집할 수 있는 환경을 사용자(S1)에게 계속적으로 제공해주는 상태에서, 사용자(S1)로부터 소프트웨어 설계모델 편집, 즉 추가하거나 삭제 혹은 변경될 경우, 편집되는 소프트웨어 설계모델에 대한 변경 메시지 정보를 UML 모델 관리기(20)에 제공한다.The UML model builder 10 continuously provides the user S1 with an environment in which the UML model can be edited, and the software is edited when the software design model is edited, ie added, deleted, or changed from the user S1. The UML model manager 20 provides change message information about the design model.

UML 모델 관리기(20)는 UML 모델 작성기(10)로부터 제공되는 변경 메시지 정보를 패키징하고, 설계모델 게이트웨이(30)를 통해 소스코드 관리기(40)에 패키징된 변경 메시지 정보를 제공한다. 여기서, 설계모델 게이트웨이(30)는 UML 모델 관리기(20)와 소스코드 관리기(40)간에 위치하여 모델 변경 메시지를 전송하는 통로의 역할을 한다.The UML model manager 20 packages the change message information provided from the UML model builder 10 and provides the change message information packaged to the source code manager 40 through the design model gateway 30. Here, the design model gateway 30 is located between the UML model manager 20 and the source code manager 40 to serve as a passage for transmitting a model change message.

이때, UML 모델 관리기(20)는 소스코드 관리기(40) 내부에 포함된 도구에 의한 변경이 아닌 다른 수단에 의해 변경이 발생될 경우, 설계 모델과 물리적인 소스코드 모델 사이에 불일치가 발생되는 문제점을 해결하기 위해 소스코드 관리기(40)에 해당 소스코드의 위치를 입력으로 하는 강제적 동기화 기능을 제공할 수 있도록 호출한다.At this time, the UML model manager 20 is a problem that inconsistency occurs between the design model and the physical source code model when the change occurs by means other than the change by the tool included in the source code manager 40 In order to solve the call to the source code manager 40 to provide a forced synchronization function to input the location of the source code.

소스코드 관리기(40)는 UML 모델 관리기(20)로부터 패키징된 변경 메시지 정보를 제공받은 후, 소스코드 파서(parser)(60)를 연동시켜 프로그램 소스코드 정보를 주석정보까지 유지할 수 있도록 문법 트리를 관리하며, 코드 모델 변경 시 주석이 포함된 문법 트리 구조를 갱신한다.The source code manager 40 receives the packaged change message information from the UML model manager 20, and then links the source code parser 60 with the grammar tree to maintain program source code information up to the annotation information. Manage and update the grammar tree structure including comments when changing the code model.

또한, 소스코드 관리기(40)는 소스코드 편집기(70)로부터 제공되는 소스코드에 대한 모든 관리기능을 수행하며, 소스코드 편집기(70)에 의해 변경된 소스코드 정보를 제공받아 패키징하고, 패키징된 정보를 소스코드 모델 게이트웨이(50)를 통해 UML 모델 관리기(20)에 제공한다. 여기서, 소스코드 모델 게이트웨이(50)는 소스코드 관리기(40)와 UML 모델 관리기(20)간에 위치하여 모델 변경 메시지를 전송하는 통로의 역할을 한다.In addition, the source code manager 40 performs all management functions for the source code provided from the source code editor 70, receives the source code information changed by the source code editor 70, and packages the packaged information. It provides to the UML model manager 20 through the source code model gateway 50. Here, the source code model gateway 50 is located between the source code manager 40 and the UML model manager 20 and serves as a path for transmitting a model change message.

소스코드 편집기(70)는 UML 모델 관리기(20)와 소스코드 관리기(40)간에 위치하며, 소스코드를 편집할 수 있는 환경을 제공하는 중에, 사용자(S1)에 의해 소스코드가 변경될 경우, 소스코드의 변경을 반영하기 위한 동기화 시점을 결정하면서 변경된 소스코드를 소스코드 관리기(40)에 제공한다. 여기서, 동기화 시점은 사용자(S1)가 UML 모델 작성기(10)를 이용하여 편집을 시작하고 소스코드를 강제적으로 저장하는 시점을 동기화 시점으로 간주한다.The source code editor 70 is located between the UML model manager 20 and the source code manager 40. When the source code is changed by the user S1 while providing an environment for editing the source code, The changed source code is provided to the source code manager 40 while the synchronization point for reflecting the change of the source code is determined. Here, the synchronization point of time regards the point of time when the user S1 starts editing using the UML model builder 10 and forcibly stores the source code as the synchronization point.

도 2a 내지 도 2b의 흐름도를 참조하면, 상술한 구성을 바탕으로, 본 발명에 따른 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법으로, 사용자(S1)에 의해 소프트웨어 설계모델이 변경되는 경우와, 소스코드가 변경되는 경우에 대하여 각각 어떤 절차로 상대 모델에 변경사항이 반영되는지를 보다 상세하게 설명한다.Referring to the flow chart of Figures 2a to 2b, based on the above-described configuration, as a method for supporting simultaneous cyclic engineering by maintaining the consistency of the design model and the source code according to the present invention, the software design by the user (S1) For each case where the model changes and the source code changes, explain in more detail how the changes are reflected in the other model.

먼저, 소프트웨어 설계모델이 변경되는 경우로서, 도 2a를 참조하면, UML 모델 작성기(10)는 기본적으로 UML 모델을 편집할 수 있는 환경을 사용자(S1)에게 계속적으로 제공해 주는 상태에서, 사용자(S1)에 의해 소프트웨어 설계모델이 변경되면, 변경되는 메시지 정보를 UML 모델 관리기(20)에 제공한다(단계 201).First, as a case where the software design model is changed, referring to FIG. 2A, the UML model builder 10 basically provides the user S1 with an environment in which the UML model can be edited. If the software design model is changed by the method, the changed message information is provided to the UML model manager 20 (step 201).

여기서, 메시지 정보 형태는 다양한 종류의 변경 정보가 가능하기 때문에 메시지 구조에 메시지의 종류를 표현하는 메시지 번호가 포함되어 있으며, 메시지 정보에 포함된 요소는 메시지 발신자 정보, 변경 종류를 표현하는 메시지 번호, 변경할 모델의 위치, 변경할 모델의 세부정보, 변경할 모델의 변경 이전/이후 정보를순서대로 나열하고 있다(단계 202).Here, the message information type includes a message number representing the type of the message in the message structure because various types of change information are possible, and the elements included in the message information include the message sender information, the message number representing the type of change, The position of the model to be changed, the details of the model to be changed, and the information before / after the change of the model to be changed are listed in order (step 202).

이중, 메시지 발신자 정보는 UML 모델 관리기(20) 또는 소스코드 관리기(40)에 의해 설정되는데, 이 메시지 발신자 정보는 소스코드 관리기(40)와 UML 모델 관리기(20) 사이에서 메시지가 무한히 반복되는 것을 방지하기 위해 필요한 정보이다. 즉, 소스코드 모델이 변경되면 항시 소프트웨어 설계모델이 동일하게 변경되며, 또한 소프트웨어 설계모델이 변경되면, 항시 소스코드 모델이 동일하게 변경될 때, 무한히 많은 메시지 정보가 교환됨에 따라 메시지 발신자 정보와 메시지 번호를 이용하여 메시지 정보의 상태를 검사하여 무한하게 교환되는 메시지를 없앨 수 있는 것이다.Of these, the message sender information is set by the UML model manager 20 or the source code manager 40. The message sender information indicates that the message is infinitely repeated between the source code manager 40 and the UML model manager 20. Information needed to prevent. That is, when the source code model changes, the software design model always changes the same. Also, when the software design model changes, when the source code model changes constantly, the message sender information and the message are exchanged as infinitely many message information are exchanged. By checking the status of the message information by using the number, it is possible to eliminate the message exchanged indefinitely.

특히, UML 모델 작성기(10)에서의 변경이 삭제와 관련된 경우, 취소/반복(Undo/Redo)을 위해 삭제 관련 정보를 미리 추출하여 UML 모델 관리기(20)가 별도 관리할 수 있도록 지원해야 한다(단계 203).In particular, if the change in the UML model builder 10 is related to deletion, the deletion-related information should be extracted in advance for undo / repeat so that the UML model manager 20 can manage separately ( Step 203).

즉, 이러한 삭제 과정에 있어서, UML 모델 관리기(20)는 삭제 직전에 삭제되는 단위가 하나의 파일로 한정될 때, 해당되는 소스코드 정보를 설계모델 게이트웨이(30)를 통해 소스코드 관리기(40)에 요청하여 미리 얻으며(단계 204), 반면에, 삭제되는 단위가 하나의 파일로 한정되지 않을 때, 해당되는 파일이나 패키지를 별도의 위치에 유지시키거나 압축시켜 데이터베이스(도시되지 않음)에 임시 저장한다(단계 205).That is, in this deletion process, when the unit to be deleted immediately before deletion is limited to one file, the UML model manager 20 transmits the corresponding source code information through the design model gateway 30 to the source code manager 40. (Step 204), on the other hand, when the unit to be deleted is not limited to one file, the file or package is kept in a separate location or compressed and temporarily stored in a database (not shown). (Step 205).

UML 모델 관리기(20)에 의해 삭제가 완료된 후, 만약 삭제 취소(Undo, 이 경우 '추가' 메시지를 의미함)가 발생했을 때, 필요한 정보를 메시지에 담아 소스코드 관리기(40)로 보낼 때, 삭제 취소가 결국 추가 메시지이기 때문에 원래 비어 있어야 할 메시지의 변경 이전 정보에 상술한 데이터베이스에 임시 저장했던 정보를 담아 소스코드 관리기(40)로 제공한다(단계 206).After the deletion is completed by the UML model manager 20, when the deletion cancellation (Undo, in this case 'addition' message) occurs, when sending the necessary information in the message to the source code manager 40, Since the undelete is eventually an additional message, the information previously stored in the above-described database is provided to the source code manager 40 in the previous information of the change message which should be empty (step 206).

소스코드 관리기(40)는 UML 모델 관리기(20)로부터 제공된 변경 이전 정보에 포함된 정보를 확인하고, 새롭게 추가된 정보가 아니라, 메시지에 포함된 정보를 이용하여 취소(Undo, 이 경우 '추가' 메시지 전송을 의미함)를 수행하여 삭제했던 부분을 복원한다(단계 207).The source code manager 40 checks the information included in the information before the change provided from the UML model manager 20 and cancels the information using the information included in the message rather than newly added information (Undo, in this case, 'add'). Mean message transmission) to restore the deleted portion (step 207).

이때, 소스코드 편집기(70)에서의 삭제에 대한 취소/반복(Undo/Redo)은 소스코드 편집기(70) 자체의 취소(Undo)가 수행되면 소스코드 관리기(40)를 거친 후, 설계 모델에 자동으로 반영되기 때문에 소프트웨어 설계모델에서의 삭제와 달리 별도의 작업 없이 수행된다.At this time, the cancellation / repeat (Undo / Redo) for the deletion in the source code editor 70 passes through the source code manager 40 after the cancellation (Undo) of the source code editor 70 itself, Because it is automatically reflected, it is executed without any separate work unlike deletion from software design model.

UML 모델 관리기(20)는 UML 모델 작성기(10)로부터 제공되는 변경된 메시지 정보를 상술한 메시지 정보 형태로 패키징하고, 설계모델 게이트웨이(30)를 통해 소스코드 관리기(40)에 패키징된 메시지 정보를 제공한다(단계 208).The UML model manager 20 packages the changed message information provided from the UML model builder 10 into the above-described message information form, and provides the packaged message information to the source code manager 40 through the design model gateway 30. (Step 208).

소스코드 관리기(40)는 UML 모델 관리기(20)로부터 패키징된 변경 메시지 정보를 제공받은 후, 소스코드 파서(parser)(60)를 연동시켜 프로그램 소스코드 정보를 주석정보까지 유지할 수 있도록 문법 트리를 관리하며, 코드 모델 변경 시 주석이 포함된 문법 트리 구조를 갱신한다(단계 209).The source code manager 40 receives the packaged change message information from the UML model manager 20, and then links the source code parser 60 with the grammar tree to maintain program source code information up to the annotation information. It manages, and updates the grammar tree structure including the comment when changing the code model (step 209).

이때, 소스코드 관리기(40) 내부에 포함된 도구에 의한 변경이 아닌 다른 수단에 의해 변경이 발생될 경우, UML 모델 관리기(20)는 설계 모델과 물리적인 소스코드 모델 사이에 불일치가 발생되는 문제점을 해결하기 위해 소스코드 관리기(40)에 해당 소스코드의 위치를 입력으로 하는 강제적 동기화 기능을 제공할 수 있도록 호출하여 설계 모델과 물리적인 소스코드 모델간을 일치하게 한다(단계 210).At this time, when the change is generated by means other than the change by the tool included in the source code manager 40, UML model manager 20 is a problem that inconsistency between the design model and the physical source code model In order to solve the problem, the source code manager 40 is called to provide a forced synchronization function of inputting the location of the corresponding source code so as to match the design model with the physical source code model (step 210).

다음으로, 소스코드가 변경되는 경우로서, 도 2b를 참조하면, 소스코드 편집기(70)는 사용자(S1)에 의해 소스코드가 변경될 경우, 소스코드의 변경을 반영하기 위한 동기화 시점을 결정해야 한다(단계 301).Next, when the source code is changed, referring to FIG. 2B, when the source code is changed by the user S1, the source code editor 70 must determine a synchronization time point to reflect the change of the source code. (Step 301).

이에, 소스코드 편집기(70)는 사용자(S1)가 UML 모델 작성기(10)를 이용하여 편집을 시작하고 소스코드를 강제적으로 저장하는 시점을 동기화 시점으로 간주하여 소스코드 관리기(40)에 변경된 소스코드를 제공한다(단계 302).Thus, the source code editor 70 regards the point of time when the user S1 starts editing using the UML model builder 10 and forcibly saves the source code as a synchronization point, and thus changes the source to the source code manager 40. Provide the code (step 302).

소스코드 관리기(40)는 소스코드 편집기(70)로부터 변경된 소스코드를 제공받아 상술한 메시지 정보 형태로 패키징하고, 패키징된 메시지 정보를 소스코드 모델 게이트웨이(50)를 통해 UML 모델 관리기(20)에 제공한다(단계 303).The source code manager 40 receives the changed source code from the source code editor 70 and packages the source code manager 70 in the form of the message information described above, and packages the packaged message information to the UML model manager 20 through the source code model gateway 50. Provide (step 303).

한편, 도 3은 본 발명에 따른 객체지향 소프트웨어에 대한 전체 설계모델과 소스코드 모델에 대하여 트리 형태로 각각 관리하는 도면으로, 구현중인 객체 지향 소프트웨어에 대한 전체 설계모델과 소스코드 모델은 트리 형태로 각각 관리되며, 각 트리 노드는 모델의 구성 단위이며, 객체지향 모델을 대상으로 한다.On the other hand, Figure 3 is a diagram for managing the overall design model and source code model of the object-oriented software according to the present invention in a tree form, respectively, the entire design model and source code model for the object-oriented software being implemented in a tree form Managed separately, each tree node is a model unit and targets an object-oriented model.

따라서, leaf 노드에는 해당 객체의 구조에 대한 객체 정보가 표현되며, Non-leaf 노드에는 모델의 패키지 정보가 표현된다. 그리고 모델 트리는 설계모델과 소스코드 모델에서 별도로 관리되지만, 그 구조와 서로 주고받는 정보는 양측에 모두 포함되어 있어야 한다.Therefore, leaf information expresses object information about the structure of the object, and non-leaf node expresses model information of the model. The model tree is managed separately from the design model and the source code model, but the structure and the information exchanged with each other must be included on both sides.

상기와 같이 설명한 본 발명은 객체 지향 소프트웨어를 설계 및 구현하는 과정에서 발생되는 설계 모델과 소스코드 모델간을 일관성 있게 관리 및 유지하여 소프트웨어의 재사용과 유지보수를 용이하게 수행시켜 동시 순환공학(SRE)을 지원함으로써, 소프트웨어 설계모델과 소스코드 모델 사이의 메시지 교환절차를 제공하며, 또한, 취소/반복(Undo/Redo) 기능을 지원하기 위한 소스코드 관리기를 이용하는 방법을 제시할 수 있으며, 설계 및 구현 과정이 유기적으로 연결되어 소프트웨어 개발에서의 설계와 해당 코드 사이의 일관성이 자동적으로 유지되며, 소프트웨어 설계 및 코드의 재사용과 소프트웨어의 유지 보수를 용이하게 수행할 수 있다는 효과가 있다.As described above, the present invention provides consistent management and maintenance between the design model and the source code model generated in the process of designing and implementing the object-oriented software, thereby facilitating reuse and maintenance of the software. It provides a message exchange procedure between the software design model and the source code model, and suggests how to use the source code manager to support the Undo / Redo function. The process is organically linked, which automatically maintains the consistency between the design and the code in software development, and facilitates software design, code reuse, and software maintenance.

Claims (18)

동시 순환공학을 지원하기 위해 설계 모델과 소스코드의 일관성을 유지시키는 장치에 있어서,In order to maintain the consistency of the design model and the source code to support concurrent circular engineering, UML(Unified Modeling Language : UML) 모델을 편집할 수 있는 환경을 사용자에게 제공하는 중에, 사용자에 의해 소프트웨어 설계모델 정보가 편집될 경우, 상기 편집되는 변경 메시지 정보를 제공하는 UML 모델 작성기;A UML model builder which provides the changed message information when the software design model information is edited by the user while providing a user with an environment capable of editing a UML model; 상기 UML 모델 작성기로부터 제공되는 변경 메시지 정보를 패키징하고, 상기 패키징된 메시지 정보를 설계모델 게이트웨이를 통해 제공하는 UML 모델 관리기;A UML model manager for packaging change message information provided from the UML model builder and providing the packaged message information through a design model gateway; 상기 UML 모델 관리기로부터 패키징된 변경 메시지 정보를 제공받은 후, 소스코드 파서(parser)를 연동시켜 프로그램 소스코드 정보를 주석정보까지 유지할 수 있도록 문법 트리를 관리하며, 코드 모델 변경 시 주석이 포함된 문법 트리 구조를 갱신하는 소스코드 관리기;After receiving the packaged change message information from the UML model manager, it manages a grammar tree to maintain program source code information up to annotation information by linking a source code parser. A source code manager for updating the tree structure; 상기 UML 모델 관리기와 소스코드 관리기간에 위치하며, 소스코드를 편집할 수 있는 환경을 제공하는 중에, 상기 사용자에 의해 소스코드가 변경될 경우, 소스코드의 변경을 반영하기 위한 동기화 시점을 결정하면서 상기 변경된 소스코드를 상기 소스코드 관리기에 제공하는 소스코드 편집기를 포함하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 장치.Located in the UML model manager and the source code management period, while providing an environment for editing the source code, when the source code is changed by the user, while determining the synchronization time to reflect the change of the source code And a source code editor for providing the modified source code to the source code manager, thereby maintaining the consistency of the design model and the source code. 제 1 항에 있어서,The method of claim 1, 상기 설계모델 게이트웨이와 소스코드 모델 게이트웨이는 상기 UML 모델 관리기와 소스코드 관리기간에 위치하여 모델 변경 메시지를 전송하는 통로의 역할을 수행하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 장치.The design model gateway and the source code model gateway are located in the UML model manager and the source code management period, and serve as a passage for transmitting a model change message. Device to support engineering. 제 1 항에 있어서,The method of claim 1, 상기 UML 모델 관리기는 상기 소스코드 관리기 내부에 포함된 도구에 의한 변경이 아닌 다른 수단에 의해 변경이 발생될 경우, 설계 모델과 물리적인 소스코드 모델 사이가 일치할 수 있도록 상기 소스코드 관리기에 해당 소스코드의 위치를 입력으로 하는 강제적 동기화 기능을 제공하도록 호출하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 장치.The UML model manager is a source corresponding to the source code manager so that when a change is made by a means other than a tool included in the source code manager, the design model and the physical source code model can be matched. Apparatus for supporting concurrent cyclic engineering by maintaining coherence with the design model and source code, characterized by calling to provide a forced synchronization function with the location of the code as an input. 제 1 항에 있어서,The method of claim 1, 상기 소스코드 관리기는 상기 소스코드 편집기로부터 제공되는 소스코드에 대한 모든 관리기능을 수행하며, 상기 소스코드 편집기에 의해 변경된 소스코드 정보를 제공받아 패키징하고, 상기 패키징된 정보를 소스코드 모델 게이트웨이를 통해 UML 모델 관리기에 제공하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 장치.The source code manager performs all management functions for the source code provided from the source code editor, receives and packages the source code information changed by the source code editor, and packages the packaged information through a source code model gateway. Device for supporting concurrent cyclic engineering by maintaining consistency of design model and source code, which is provided to UML model manager. 제 1 항에 있어서,The method of claim 1, 상기 동기화 시점은 사용자가 상기 UML 모델 작성기를 이용하여 편집을 시작하고 소스코드를 강제적으로 저장하는 시점을 상기 동기화 시점으로 간주하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 장치.The synchronization point of time is to maintain the consistency of the design model and the source code, characterized in that the user starts to edit using the UML model builder and forcibly storing the source code as the synchronization point to achieve simultaneous cyclic engineering Device to support. UML 모델 작성기, UML 모델 관리기, 소스코드 관리기, 소스코드 편집기, 소스코드 파서를 구비하는 동시 순환공학 시스템에서의 설계 모델과 소스코드의 일관성을 유지시키며, 사용자에 의해 소프트웨어 설계모델이 변경되는 경우와, 소스코드가 변경되는 경우에 대하여 각각 상대 모델에 변경사항이 반영되도록 하는 방법에 있어서,It maintains the consistency of the design model and the source code in a concurrent cyclic engineering system with a UML model builder, a UML model manager, a source code manager, a source code editor, and a source code parser. In the case where the source code is changed, the changes are reflected in the relative model, respectively. 상기 소프트웨어 설계모델이 변경되는 경우로서, 상기 UML 모델 작성기에서 UML 모델을 편집할 수 있는 환경을 사용자에게 제공하는 중에, 상기 사용자에 의해 소프트웨어 설계모델이 변경되면, 상기 변경되는 메시지 정보를 상기 UML 모델 관리기에 제공하는 단계;When the software design model is changed and the software design model is changed by the user while providing the environment in which the UML model builder can edit the UML model, the changed message information is sent to the UML model. Providing to the manager; 상기 UML 모델 작성기에 의해 변경된 메시지 정보를 제공받은 상기 UML 모델 관리기는 상기 변경된 메시지 정보를 패키징하고, 설계모델 게이트웨이를 통해 상기 소스코드 관리기에 패키징된 메시지 정보를 제공하는 단계;Receiving the changed message information by the UML model builder, packaging the changed message information and providing the packaged message information to the source code manager through a design model gateway; 상기 UML 모델 관리기로부터 패키징된 변경 메시지 정보를 제공받은 상기 소스코드 관리기는 상기 소스코드 파서(parser)를 연동시켜 프로그램 소스코드 정보를 주석정보까지 유지할 수 있도록 문법 트리를 관리하는 단계를 포함하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.The source code manager receiving the packaged change message information from the UML model manager includes managing the grammar tree to maintain program source code information up to annotation information by interworking the source code parser. A method for supporting concurrent cyclic engineering by maintaining consistency between design model and source code. 제 6 항에 있어서,The method of claim 6, 상기 소스코드가 변경되는 경우로서, 사용자에 의해 소스코드가 변경될 경우, 상기 소스코드 편집기에서 소스코드의 변경을 반영하기 위한 동기화 시점을 결정한 후, 상기 변경된 소스코드를 상기 소스코드 관리기에 제공하는 단계;When the source code is changed and the source code is changed by the user, the source code editor determines the synchronization point to reflect the change of the source code, and then provides the changed source code to the source code manager. step; 상기 소스코드 편집기로부터 변경된 소스코드를 제공받은 상기 소스코드 관리기는 소스코드를 메시지 정보 형태로 패키징하고, 상기 패키징된 메시지 정보를 소스코드 모델 게이트웨이를 통해 상기 UML 모델 관리기에 제공하는 단계를 더 포함하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.The source code manager receiving the modified source code from the source code editor further comprises packaging the source code in the form of message information and providing the packaged message information to the UML model manager through a source code model gateway. A method for supporting concurrent cyclic engineering by maintaining the consistency of the design model and the source code, characterized in that. 제 6 항에 있어서,The method of claim 6, 상기 소스코드 관리기가 구현 중인 프로그램 소스코드 정보를 주석정보까지 포함시켜 유지해야 함에 따라 해당 소스코드에 대해 주석까지 고려한 소스코드 파서(parser)를 이용하여 문법 트리를 관리하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.As the source code manager must maintain the program source code information being implemented, including the annotation information, a design model for managing a grammar tree using a source code parser that considers the comments about the corresponding source code. A way to support concurrent circular engineering by keeping source code consistent. 제 7 항에 있어서,The method of claim 7, wherein 상기 동기화 시점은 사용자가 UML 모델 작성기를 이용하여 편집을 시작하고 소스코드를 강제적으로 저장하는 시점을 동기화 시점으로 간주하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.The synchronization point of time is that the user starts editing using the UML model builder and forcibly saves the source code as a synchronization point. Way. 제 6 항에 있어서,The method of claim 6, 상기 메시지 정보 형태는 다양한 종류의 변경 정보가 가능하기 때문에 메시지 구조에 메시지의 종류를 표현하는 메시지 번호가 포함되어 있는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.Since the message information type is capable of various kinds of change information, the message structure includes a message number representing the type of the message. Way. 제 10 항에 있어서,The method of claim 10, 상기 메시지 정보에 포함된 요소는 메시지 발신자 정보, 변경 종류를 표현하는 메시지 번호, 변경할 모델의 위치, 변경할 모델의 세부정보, 변경할 모델의 변경 이전/이후 정보를 순서대로 나열하고 있는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.The element included in the message information is designed to list the message sender information, the message number representing the type of change, the location of the model to be changed, the details of the model to be changed, and the information before / after the change of the model in order. A way to support concurrent circular engineering by keeping models and source code consistent. 제 11 항에 있어서,The method of claim 11, 상기 메시지 발신자 정보는 상기 소스코드 관리기와 UML 모델 관리기 사이에서 메시지가 무한히 반복되는 것을 방지하기 위해 필요한 정보인 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.The message sender information is information required to prevent the message from repeating infinitely between the source code manager and the UML model manager. 제 6 항에 있어서,The method of claim 6, 상기 UML 모델 작성기에서의 변경이 삭제와 관련된 경우, 취소/반복(Undo/Redo)을 위해 삭제 관련 정보를 미리 추출하여 상기 UML 모델 관리기가 별도 관리할 수 있도록 지원하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.If the change in the UML model builder is related to the deletion, the design model and source, characterized in that the UML model manager can be separately managed by extracting the deletion-related information in advance for undo / repeat (Undo / Redo) A method for supporting concurrent circular engineering by keeping code consistent. 제 13 항에 있어서,The method of claim 13, 상기 삭제 과정에 있어서, 상기 UML 모델 관리기는 삭제 직전에 삭제되는 단위가 하나의 파일로 한정될 때, 해당되는 소스코드 정보를 소스코드 관리기에 요청하여 미리 얻는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.In the deleting process, when the unit to be deleted immediately before the deletion is limited to one file, the UML model manager of the design model and source code, characterized in that to obtain the corresponding source code information to the source code manager in advance A way to support co-rotational engineering by maintaining consistency. 제 13 항에 있어서,The method of claim 13, 상기 삭제 과정에 있어서, 상기 UML 모델 관리기는 삭제되는 단위가 하나의 파일로 한정되지 않을 때, 해당되는 파일이나 패키지를 별도의 위치에 유지시키거나 압축시켜 임시 저장하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.In the deleting process, when the unit to be deleted is not limited to one file, the UML model manager maintains or compresses a corresponding file or package in a separate location and temporarily stores the file or package. A method for supporting concurrent circular engineering by keeping code consistent. 제 13 항에 있어서,The method of claim 13, 상기 UML 모델 관리기에 의해 삭제가 완료된 후, 상기 삭제 취소가 발생하게 되면, 필요한 정보를 메시지에 담아 상기 소스코드 관리기로 제공할 때, 원래 비어 있어야 할 메시지의 변경 이전 정보에 임시 저장했던 정보를 담아 상기 소스코드 관리기로 제공하며, 상기 소스코드 관리기는 변경 이전 정보에 포함된 정보를 확인하고, 새롭게 추가된 정보가 아니라, 메시지에 포함된 정보를 이용하여 취소를 수행하여 삭제했던 부분을 복원하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.After the deletion is completed by the UML model manager, when the deletion cancellation occurs, when the necessary information is included in the message and provided to the source code manager, the information previously stored in the message before the change of the message to be empty should be temporarily included. Provided to the source code manager, wherein the source code manager checks the information included in the information before the change, and restores the deleted part by canceling using the information included in the message, not the newly added information. A method for supporting concurrent cyclic engineering by maintaining consistency between the design model and the source code. 제 6 항에 있어서,The method of claim 6, 상기 소스코드 관리기 내부에 포함된 도구에 의한 변경되는 것이 아닌 다른 수단에 의해 변경이 발생될 경우, 상기 UML 모델 관리기는 설계 모델과 물리적인 소스코드 모델 사이가 일치하도록 상기 소스코드 관리기에 해당 소스코드의 위치를 입력으로 하는 강제적 동기화 기능을 제공할 수 있도록 호출하여 상기 설계 모델과 물리적인 소스코드 모델간을 일치하게 하는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.When a change is generated by a means other than a tool included in the source code manager, the UML model manager corresponds to the source code manager so that the design model and the physical source code model match. To support simultaneous cyclic engineering by maintaining the consistency of the design model and the source code, by calling to provide a forced synchronization function to input the position of the to match the design model and the physical source code model Way. 제 6 항에 있어서,The method of claim 6, 상기 객체 지향 소프트웨어에 대한 전체 설계모델과 소스코드 모델은 트리형태로 각각 관리되며, 상기 트리 노드는 모델의 구성 단위이며, 객체지향 모델을 대상으로 함에 따라 leaf 노드에는 해당 객체의 구조에 대한 객체 정보가 표현되며, Non-leaf 노드에는 모델의 패키지 정보가 표현되는 것을 특징으로 하는 설계 모델과 소스코드의 일관성을 유지시켜 동시 순환공학을 지원하기 위한 방법.The entire design model and source code model for the object-oriented software are managed in tree form, and the tree node is a unit of model, and as the object-oriented model is targeted, the leaf node has object information about the structure of the object. The non-leaf node expresses the package information of the model. The method for supporting concurrent cyclic engineering by maintaining the consistency of the design model and the source code.
KR10-2002-0045735A 2002-08-02 2002-08-02 Apparatus and method to support simultaneous round-trip engineering for maintaining consistency between source code and corresponding design model KR100456623B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0045735A KR100456623B1 (en) 2002-08-02 2002-08-02 Apparatus and method to support simultaneous round-trip engineering for maintaining consistency between source code and corresponding design model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0045735A KR100456623B1 (en) 2002-08-02 2002-08-02 Apparatus and method to support simultaneous round-trip engineering for maintaining consistency between source code and corresponding design model

Publications (2)

Publication Number Publication Date
KR20040012250A KR20040012250A (en) 2004-02-11
KR100456623B1 true KR100456623B1 (en) 2004-11-10

Family

ID=37320253

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0045735A KR100456623B1 (en) 2002-08-02 2002-08-02 Apparatus and method to support simultaneous round-trip engineering for maintaining consistency between source code and corresponding design model

Country Status (1)

Country Link
KR (1) KR100456623B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904341B2 (en) 2007-04-30 2014-12-02 Hewlett-Packard Development Company, L.P. Deriving grounded model of business process suitable for automatic deployment
US20110004565A1 (en) * 2007-12-20 2011-01-06 Bryan Stephenson Modelling Computer Based Business Process For Customisation And Delivery
EP2223282A4 (en) * 2007-12-20 2011-11-16 Hewlett Packard Development Co Automated model generation for computer based business process
KR102588597B1 (en) * 2023-08-24 2023-10-12 주식회사 리얼라이즈소프트 Method for designing a program using operation logic designer as an alternative editor for uml sequence diagram and apparatus using the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018627A (en) * 1997-09-22 2000-01-25 Unisys Corp. Tool-independent system for application building in an object oriented development environment with data stored in repository in OMG compliant UML representation
US6038393A (en) * 1997-09-22 2000-03-14 Unisys Corp. Software development tool to accept object modeling data from a wide variety of other vendors and filter the format into a format that is able to be stored in OMG compliant UML representation
EP1001338A2 (en) * 1998-11-12 2000-05-17 Platinum Technology IP, Inc. Method and apparatus for round trip software engineering
US6182274B1 (en) * 1997-05-01 2001-01-30 International Business Machines Corporation Reusing code in object-oriented program development

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182274B1 (en) * 1997-05-01 2001-01-30 International Business Machines Corporation Reusing code in object-oriented program development
US6018627A (en) * 1997-09-22 2000-01-25 Unisys Corp. Tool-independent system for application building in an object oriented development environment with data stored in repository in OMG compliant UML representation
US6038393A (en) * 1997-09-22 2000-03-14 Unisys Corp. Software development tool to accept object modeling data from a wide variety of other vendors and filter the format into a format that is able to be stored in OMG compliant UML representation
EP1001338A2 (en) * 1998-11-12 2000-05-17 Platinum Technology IP, Inc. Method and apparatus for round trip software engineering

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
신문기사, ''코발트''에 관한 설명기사, 머니투데이(2002.06.07) *

Also Published As

Publication number Publication date
KR20040012250A (en) 2004-02-11

Similar Documents

Publication Publication Date Title
US8548947B2 (en) Systems and methods for file maintenance
US6782305B2 (en) Method of geometric information sharing and parametric consistency maintenance in a collaborative design environment
US20090100405A1 (en) Synchronizing an abstract model and source code
AU5937099A (en) Method and apparatus for round-trip software engineering
US6701517B1 (en) Method for synchronizing JAVA with UML in a version configuration management system
Hwan et al. Synchronizing cardinality-based feature models and their specializations
CN111427555A (en) Lightweight intelligent contract framework and contract development method
US20070198562A1 (en) Method and Apparatus for Ensuring Business Process Integration Capability for one or more Distributed Component Systems in Communication with one or more Legacy Systems
Kraemer et al. Automated encapsulation of UML activities for incremental development and verification
KR100456623B1 (en) Apparatus and method to support simultaneous round-trip engineering for maintaining consistency between source code and corresponding design model
Bordbar et al. UML and Petri nets for design and analysis of distributed systems
CN107479893A (en) A kind of automatic evolution method of formalization Petri net model of adaption demand change
JP2011515755A (en) Development method and apparatus for reserved component container base software
Appeldorn et al. Delta-driven collaborative modeling.
CN115185489B (en) Time sequence data algorithm configuration system and method
Chaves Formal methods at AT&T-an industrial usage report
Dinkloh et al. A tool for integrated design and implementation of conversations in multiagent systems
Kirchhof et al. Variant and product line co-evolution
Harbo et al. Communication oriented modeling of evolving systems of systems
Ali et al. Action-driven consistency for modular multi-language systems with perspectives
Dalibor et al. Tagging Model Properties for Flexible Communication.
Murching et al. Incremental recursive descent parsing
Svahnberg Variability in evolving software product lines
Buchmann et al. Triple graph grammars or triple graph transformation systems? a case study from software configuration management
Vanderperren Localizing crosscutting concerns in visual component based development

Legal Events

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

Payment date: 20091228

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee