KR100609240B1 - Method and apparatus for generating diagram modeling tools with user's customization requirements based on mof meta-models - Google Patents

Method and apparatus for generating diagram modeling tools with user's customization requirements based on mof meta-models Download PDF

Info

Publication number
KR100609240B1
KR100609240B1 KR1020030093667A KR20030093667A KR100609240B1 KR 100609240 B1 KR100609240 B1 KR 100609240B1 KR 1020030093667 A KR1020030093667 A KR 1020030093667A KR 20030093667 A KR20030093667 A KR 20030093667A KR 100609240 B1 KR100609240 B1 KR 100609240B1
Authority
KR
South Korea
Prior art keywords
information
modeling tool
metamodel
diagram
model
Prior art date
Application number
KR1020030093667A
Other languages
Korean (ko)
Other versions
KR20050062005A (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 KR1020030093667A priority Critical patent/KR100609240B1/en
Publication of KR20050062005A publication Critical patent/KR20050062005A/en
Application granted granted Critical
Publication of KR100609240B1 publication Critical patent/KR100609240B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Abstract

본 발명은 MOF(Meta-Object Facility) 메타 모델에 기반하여 정의된 메타 정보를 사용하여 새로운 다이어그램 모델링 도구를 지원하는 장치 및 방법에 관한 것으로, MOF에 기반하여 다양한 메타 모델을 정의할 수 있고 MOF 메타 모델에 기반하여 시각적인 다이어그램 모델링 도구를 동적으로 생성할 수 있도록 지원한다. 따라서, 빈번하게 변경 가능한 도메인에 대한 확장된 노테이션(notation)과 동작 메커니즘을 갖고 도구 사용자의 요구 사항이 동적으로 반영될 수 있는 다이어그램 모델링 도구를 생성하는 메타 CASE(Computer Aided Software Engineering) 도구를 제공한다는 특징을 갖는다. MOF 기반의 메타 모델에 기반하여 사용자의 요구 사항을 반영하는 다양한 다이어그램 모델링 도구의 생성은 다양한 도메인에 대해 서로 다른 다이어그램 모델링 도구를 구성하는 코드를 자동으로 생성할 수 있도록 지원하고 플러그인(plug-in)의 형태로 컴포넌트화하여 재사용될 수 있다. 따라서, 본 발명은 재사용 가능하고 이식성이 높은 서로 다른 다양한 다이어그램 모델링 도구를 효율적으로 생산할 수 있다는 효과가 있다.The present invention relates to an apparatus and method for supporting a new diagram modeling tool by using meta information defined based on a meta-object facility (MOF) metamodel, and to defining various metamodels based on the MOF. It allows you to dynamically generate visual diagram modeling tools based on the model. Therefore, it provides a meta computer case software tool that has extended notation and behavior mechanisms for frequently changeable domains and creates diagram modeling tools that can dynamically reflect tool user requirements. Has characteristics. The creation of various diagram modeling tools that reflect user requirements based on MOF-based metamodels enables the automatic generation of code that configures different diagram modeling tools for different domains and plug-ins. Can be reused by componentizing in the form of. Therefore, the present invention has the effect that it is possible to efficiently produce a variety of different diagram modeling tools that are highly reusable and portable.

MOF, meta-model, meta-CASE tool, diagram-modeling tool, user customizationMOF, meta-model, meta-CASE tool, diagram-modeling tool, user customization

Description

MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치 및 방법{METHOD AND APPARATUS FOR GENERATING DIAGRAM MODELING TOOLS WITH USER'S CUSTOMIZATION REQUIREMENTS BASED ON MOF META-MODELS}METHOD AND APPARATUS FOR GENERATING DIAGRAM MODELING TOOLS WITH USER'S CUSTOMIZATION REQUIREMENTS BASED ON MOF META-MODELS}

도 1은 본 발명에 따른 시스템 운영 흐름도,1 is a flowchart of a system operation according to the present invention;

도 2는 다이어그램의 기본 모델링 요소인 노드를 표현하는 메타 정보의 트리 구조를 나타낸 도면,2 is a diagram illustrating a tree structure of meta information representing a node that is a basic modeling element of a diagram;

도 3은 노드 요소를 연결하는데 사용되는 링크 요소 정보를 표현하는 메타 정보의 트리 구조를 나타낸 도면,3 is a diagram illustrating a tree structure of meta information representing link element information used to link node elements;

도 4는 본 발명에 따른 시스템 구성도,4 is a system configuration according to the present invention,

도 5는 본 발명의 시스템에서 제공하는 모델링 도구 사용자 인터페이스 화면을 예시한 도면,5 is a diagram illustrating a modeling tool user interface screen provided by the system of the present invention;

도 6은 사용자가 모델링 도구 정의기를 이용하여 생성한 모델링 도구 정보의 예제 일부를 나타낸 도면,6 is a diagram illustrating a part of an example of modeling tool information generated by a user using a modeling tool definer;

도 7은 자동 생성된 다이어그램 모델링 도구의 실행 화면을 예시한 도면.7 illustrates an execution screen of an automatically generated diagram modeling tool.

본 발명은 모델링 도구를 구성하는 구현 코드를 자동으로 생성할 수 있도록 지원하는 기술에 관한 것으로, 특히 모델링 도구를 생성할 수 있도록 메타 모델을 정의하고, 모델링 도구를 구성하는 요소 정보를 메타 모델을 기반으로 하여 입력받아 새로운 모델링 도구를 구성하기 위한 코드를 자동 생성하는 환경을 제공하며, 상기 명시된 기능을 지원하는 메타 CASE 도구로 사용자가 필요로 하는 서로 다른 모델링 도구를 자동으로 생성할 수 있는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치 및 방법에 관한 것이다.The present invention relates to a technology for automatically generating implementation code constituting a modeling tool, and in particular, to define a metamodel to generate a modeling tool, and the element information constituting the modeling tool based on the metamodel MOF metamodel that can automatically generate different modeling tools needed by users with Meta CASE tools that support the functions specified above. And apparatus and method for generating diagram modeling tools based on user requirements.

기존의 CASE 도구는 도구를 개발할 당시 확정된 기능과 구성 요소로 구성되므로 새로운 구성 요소나 기능을 갖도록 확장 될 수 없다. 그에 대한 일례로 1997년 ECOOP에서 발표된 「Application Development using a Meta-Repository based Framework」의 선행 논문에서는 사용자 어플리케이션을 개발할 때 시각적으로 모델을 편집하여 구현 코드의 일부분을 얻으며 생성된 모델 정보를 메타 모델 기반 저장소에 저장하여 사용자의 요구 사항이 변경되거나 추가될 때 저장된 모델 정보를 추출하여 추가적인 편집이 가능하도록 지원하는 프레임워크에 대해 기술하고 있다.Existing CASE tools consist of features and components that were determined at the time of tool development, so they cannot be extended to have new components or functions. For example, in the preceding paper of `` Application Development using a Meta-Repository based Framework '' published by ECOOP in 1997, when developing a user application, the model is visually edited to obtain a part of the implementation code, and the generated model information is meta-model based. It describes a framework that saves in the repository and extracts the stored model information when the user's requirements are changed or added to enable further editing.

이 선행 논문에서는 다이어그램 모델에 대한 정의를 위해서 모델링, 모델링 된 정보의 검사, 구현 코드를 생성할 수 있는 기능이 필요하고 그 기능은 부속 도구들을 이용하여 이루어진다. 사용자가 선택한 도메인이 변경되거나 사용자의 요구 사항이 변할 때 선행 논문의 환경은 사용자에게 새로운 다이어그램 모델링 도구를 자동으로 제공할 수 없다. 그러므로 새로운 도구가 필요할 때마다 새롭게 시스템을 모델링하고 동작에 필요한 코드를 개발자가 직접 코딩하여 도구를 생성해야 한다.In this paper, we need the ability to model, examine modeled information, and generate implementation code for the definition of the diagram model. When the user's chosen domain changes or the user's requirements change, the environment of the preceding paper cannot automatically provide the user with a new diagram modeling tool. Therefore, whenever a new tool is needed, a new model must be modeled and the tool must be coded by the developer to create the tool.

이러한 방법은 개발자에게 큰 부담이고 필요한 도구를 매번 새롭게 생산하는 것 자체가 비효율적이다. 따라서 새로운 다이어그램 모델링 도구를 생성할 수 있도록 효과적이고 자동화된 방법을 제공하는 메타 CASE 도구가 필요하다.This is a huge burden on developers and inefficient production of new tools every time. Therefore, there is a need for a meta CASE tool that provides an effective and automated way to create new diagram modeling tools.

통상적으로 다이어그램을 모델링 하기 위한 모델링 도구를 생성하는 기존의 메타 CASE 도구들은 저마다 다른 메타 모델링 언어를 정의하고 각각의 메타 CASE 도구에서만 인식할 수 있는 형태로 메타 모델 정보를 정의하여 모델링 도구에 관한 정보를 정의한다. 비 표준화된 메타 모델링 언어의 사용은 개별적으로 정의된 메타 모델링 언어를 이용해 정의된 메타 모델 정보를 분석하기 위한 개별 분석 엔진을 필요로 한다. 게다가 저마다 다른 메타 모델링 언어를 사용하여 정의한 메타 모델 정보들은 서로 호환되지 않는다는 단점을 갖기 때문에 표현력 좋고 호환성 높은 메타 모델 정보를 정의하는데 효율적이지 못하다.In general, existing meta-case tools that generate modeling tools for modeling diagrams define different meta-modeling languages and define meta-model information in a form that can only be recognized by each meta-case tool. define. The use of non-standardized metamodeling languages requires separate analysis engines for analyzing metamodel information defined using individually defined metamodeling languages. In addition, meta-model information defined using different meta-modeling languages is incompatible with each other, so it is not efficient to define expressive and compatible meta-model information.

또한 경우에 따라 정의된 메타 모델 정보가 특정 분야에만 적합하여 새로운 다이어그램 모델링 도구를 생성하기 위해 메타 모델 구성 요소들과 분석 엔진을 확장하는 작업에 개발자의 수고스러움이 가중될 수 있다. 이와 같은 경우 수행되는 작업은 개별적인 다이어그램 모델링 도구를 직접 구현하기 위한 작업과 별반 다를 바가 없으며 다양한 모델링 도구를 생성하는 환경을 통해 생산해 낼 수 있는 산출 결과물과 큰 차이가 존재한다.In addition, in some cases, the defined metamodel information is only suitable for a specific field, which may increase the developer's effort in extending the metamodel components and the analysis engine to create a new diagram modeling tool. In this case, the work performed is not much different from the work of directly implementing individual diagram modeling tools, and there is a big difference from the output that can be produced through the environment in which various modeling tools are generated.

그리고 현재까지 대부분의 다이어그램 모델링 도구들은 모델링을 통해 반 자동화된 구현 코드를 제공하는 CASE 도구가 대부분이고 메타 모델 기반의 도구들이 다소 나와 있는 상태이나 표준화된 메타 모델을 정의하여 자동으로 다이어그램 모 델링 도구를 생성하는 장치는 전무한 상태이다.And most of the diagram modeling tools to date are mostly CASE tools that provide semi-automated implementation code through modeling. There is no device to generate.

1997년 J. Ebert와 R. Suttenbach와 I. Uhe가 발표한 선행 논문 「Meta-CASE in Practice: a Case for KOGGE」에서는 비주얼 모델링 언어와 방법을 지원하는 모델링 도구를 생성하는 Meta-CASE 도구인 KOGGE(KOblenz Generator for Graphical design Environments)에 대해 기술하고 있다.In 1997, J. Ebert, R. Suttenbach, and I. Uhe's previous paper, Meta-CASE in Practice: a Case for KOGGE, describes KOGGE, a Meta-CASE tool that creates modeling tools that support visual modeling languages and methods. (KOblenz Generator for Graphical design Environments).

이 선행 논문에서는 도구를 생성하기 위해 자체의 도구 기술서인 EER(Extended Entity Relationship) 기술서와 GRAL(GRAph specification Language)을 기반으로 한다.This preceding paper is based on its own tool description, Extended Entity Relationship (ERE) and GRAL (GRAph specification language), to create a tool.

이러한 기술서들은 각각을 지원하는 부속 도구에 의해 작성되고 도구를 통해 작성된 정보를 이용하여 모델링 도구를 생성한다. 이러한 특징은 메타 모델의 확장을 위해 EER과 GRAL의 확장이 요구되고 이를 지원하는 도구 또한 확장을 위해 변경이 요구된다. 또한 비표준 메타 모델을 기반으로 함으로 인해 다른 Meta-CASE 도구에서 해당 메타 모델을 사용할 수 없다.These descriptions are created by the supporting tools that support each and create modeling tools using the information created by the tools. This feature requires the expansion of EER and GRAL to extend the metamodel, and the tools that support it also need to be changed to extend it. Also, because it is based on a nonstandard metamodel, the metamodel cannot be used in other Meta-CASE tools.

2001년 4월에 게시된 또 다른 선행 특허인 「모델링 도구 제작 장치 및 방법」에서는 개별적인 메타 모델 정의 언어를 사용하여 메타 정보를 구성하고 정의된 메타 모델 정보를 분석하여 새로운 모델링 도구를 생성하는 메타 CASE 도구에 관해 기술하고 있다.Another prior patent published in April 2001, Apparatus and Method for Producing Modeling Tools, uses Meta Meta Definition Language to construct meta information and analyze defined meta model information to generate new modeling tools. Describes the tool.

그러나 이 특허에서는 구성하고자 하는 도메인이 데이터베이스 시스템 분야에만 국한되어 있고 생성된 다이어그램 모델링 도구가 UMA(Universal Modeling Architecture)를 통해 객체 지향 데이터 베이스나 관계형 데이터베이스를 구성하는 객체들만을 모델링할 수 있는 모델링 도구를 생성해 낸다는 단점이 있다.However, in this patent, the domain to be configured is limited to the field of database system, and the generated modeling tool is a modeling tool that can model only the objects that make up object-oriented database or relational database through UMA (Universal Modeling Architecture). The disadvantage is that it produces.

게다가 사용되는 메타 모델 언어는 사용자가 정의한 비표준 메타 모델링 언어이므로 정의된 메타 모델 정보를 분석하기 위한 분석 엔진과 의미 분석을 위한 의미론을 확장되기 어렵다.In addition, since the meta-model language used is a user-defined non-standard meta-modeling language, it is difficult to extend the analysis engine for analyzing the defined metamodel information and the semantics for semantic analysis.

또한 다양한 도메인에 적용할 수 없게 함으로써 표준화된 메타 모델 언어와 메타 CASE 도구를 구성하기 위한 기술을 이용해서 생성되는 메타 모델 기반의 다이어그램 모델링 도구와 그 결과를 도출해 낼 수 없다.In addition, it cannot be applied to various domains, and thus it is impossible to derive meta-model-based diagram modeling tools and results generated using techniques for constructing a standardized meta-model language and meta-case tools.

모델을 다이어그램 형태로 모델링 할 수 있는 다이어그램 모델링 도구를 자동으로 생성해내는 메타 CASE 도구 구성 방법과 그 장치는 모델링을 돕기 위한 CASE 도구가 요구하는 표현력이 높아질수록 사용자 요구 기반의 세분화된 모델링 요소와 속성들을 반영하기 위해 확장되지 않을 수 없다.Meta CASE tool configuration method that automatically generates a diagram modeling tool that can model the model in the form of diagrams, and the device is characterized by the refined modeling elements and attributes based on the user's needs as the expression power required by the CASE tool to assist modeling increases It cannot be expanded to reflect them.

메타 모델링 언어와 메타 모델 정보는 한 번 정의되면 재사용 가능하고 필요에 따라 확장될 수 있어야 하므로 표준화된 방법과 표준화된 모델링 언어를 통해 정의되어야 한다는 필요성은 필수 요건이 된다. 그리고 다양한 분야의 모델을 표현하는 아키텍처 다이어그램, 구현과 관련된 클래스 다이어그램, 액티비티 다이어그램 등과 같이 다양한 다이어그램 모델을 메타 모델로 정의된 정보에 기반하여 표현할 수 있다는 점은 다양한 사용자의 커스터마이징 요구 사항에 따라 변화 가능한 다이어그램 모델링 도구를 자동으로 생성할 수 있다는 것으로, 이러한 메타 CASE 도구는 새로운 모델 편집을 위한 확장된 다이어그램 모델링 도구를 개발자의 코드 작성 작업 없이 생성하여 제공할 수 있게 된다.The metamodeling language and metamodel information, once defined, must be reusable and extensible as needed, so the need to be defined through standardized methods and standardized modeling languages is a prerequisite. In addition, it is possible to express various diagram models based on information defined by metamodels such as architecture diagrams representing various fields of models, class diagrams related to implementation, activity diagrams, etc. The ability to automatically generate modeling tools enables these meta-case tools to create and provide extended diagram modeling tools for editing new models without the need for developers to write code.

본 발명은 상술한 종래 기술의 문제를 해결하기 위해 구현한 것으로, 새로운 다이어그램을 모델링 할 수 있도록 지원하는 다이어그램 모델링 도구에 대한 코드를 직접적으로 작성하는 일 없이 다이어그램 모델링 도구를 자동으로 생성할 수 있는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치 및 방법을 제공하는데 그 목적이 있다.The present invention has been implemented to solve the above-described problems of the prior art, MOF that can automatically generate a diagram modeling tool without having to directly write code for a diagram modeling tool that supports modeling a new diagram The purpose is to provide an apparatus and method for generating diagram modeling tools based on metamodels and user requirements.

상기 목적을 달성하기 위해 본 발명은 다양한 영역의 시스템을 개발할 수 있도록 영역에 맞는 MOF 기반의 메타 모델을 정의하도록 지원하는데 특징이 있다.In order to achieve the above object, the present invention is characterized in that it supports to define a MOF-based metamodel suitable for an area so as to develop a system of various areas.

상기 목적을 달성하기 위해 본 발명은 메타 모델에 기반하여 정의된 사용자의 요구 사항을 이용하여 시각적 모델링을 지원하는 다이어그램 모델링 도구를 자동으로 생성하는데 특징이 있다.In order to achieve the above object, the present invention is characterized by automatically generating a diagram modeling tool that supports visual modeling using a user's requirements defined based on a metamodel.

상기 목적을 달성하기 위해 본 발명은 생성된 다이어그램 모델링 도구의 구현 코드는 플러그인의 형태로 컴포넌트화되어 기존의 통합 개발 환경에 통합되어 사용할 수 있다는데 특징이 있다.In order to achieve the above object, the present invention is characterized in that the implementation code of the generated diagram modeling tool is componentized in the form of a plug-in and can be integrated and used in an existing integrated development environment.

이를 위해 본 발명의 일 실시예에 따르면, MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치로서, 사용자가 MOF 메타 모델을 MOF 클래스 모델링 컨스트럭트를 이용하여 정의할 수 있도록 지원하는 메타 모델 편집기 및 상기 메타 모델 편집기에서 정의된 메타 모델이 MOF 정의 규칙에 맞는지 검증하는 메타 모델 검증기로 구성되며, 사용자에 의해 모델링 도구 생성에 필요한 정보가 입력 및 선택되면 MOF에 기반한 메타 모델을 정의하고 편집하기 위한 메타 모델 정의기와, 사용자가 정의한 MOF 메타 모델 정보를 분석하는 메타 모델 분석기, 상기 메타 모델 분석기를 통한 메타 모델 분석 정보를 이용하여 모델 관리 API를 자동 생성하는 모델 관리 API 생성기, 모델링 도구간의 중간 매개 역할을 하는 모델 관리 랩퍼 API를 생성하는 모델 관리 랩퍼 API 생성기로 구성되며, MOF에 기반한 메타 모델을 분석하고 모델 관리 구조 및 모델 정의 정보에 접근하기 위한 코드를 일관된 형태로 생성하는 모델 관리기와, 다이어그램의 기본 모델링 요소인 노드 정보를 정의하는 노드 정보 작성기 및 상기 노드 정보 작성기를 통해 정의된 다이어그램의 노드를 노드들의 관계에 따라 연결하는 역할을 하는 링크 정보를 정의하는 링크 정보 작성기로 구성되며, 생성하고자 하는 모델링 도구의 구성 정보를 정의하는 모델링 도구 정의기와, 상기 모델링 도구 정의기에서 정의된 모델링 도구 정보를 분석하여 다이어그램 모델링 도구를 구성하는 구현 코드를 생성하고 생성된 모델링 도구를 플러그인 형태의 컴포넌트로 생성하여 통합 개발 환경과 연동하는 다이어그램 모델링 도구 생성기와, 상기 메타 모델 정의기, 모델 관리기, 모델링 도구 정의기, 다이어그램 모델링 도구 생성기로부터 생성되는 산출물을 저장하기 위한 산출물 저장소를 포함하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치를 제공한다..To this end, according to an embodiment of the present invention, as an apparatus for generating a diagram modeling tool based on a MOF metamodel and user requirements, a metamodel that enables a user to define a MOF metamodel using a MOF class modeling construct It consists of an editor and a metamodel validator that verifies that the metamodel defined in the metamodel editor conforms to the MOF definition rules, and defines and edits a metamodel based on the MOF when the information required to generate the modeling tool is input and selected by the user. Intermediate mediation between the meta model definer, a meta model analyzer that analyzes user-defined MOF meta model information, a model management API generator that automatically generates a model management API using meta model analysis information through the meta model analyzer, and a modeling tool. The module that generates the model management wrapper API that acts. It consists of the Dell Management Wrapper API Generator, which is a model manager that analyzes the MOF-based metamodel and generates code to access model management structure and model definition information in a consistent form, and defines node information, which is the basic modeling element of the diagram. It consists of a node information builder and a link information builder that defines link information that serves to connect the nodes of the diagram defined by the node information builder according to the relationship of the nodes, modeling to define the configuration information of the modeling tool to create Analyze the tool definer and the modeling tool information defined in the modeling tool definer to generate implementation code constituting the diagram modeling tool, and generate the modeling tool as a plug-in component to connect with the integrated development environment. Generator and the meta mod Provides a modeling tool generating device based on MOF metamodel and user requirements including a product repository for storing outputs generated from Dell definer, model manager, modeling tool definer, and diagram modeling tool generator.

또한, 본 발명의 다른 실시예에 따르면, MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 방법으로서, 사용자에 의해 모델링 도구 생성에 필요한 정보가 입력 및 선택되면 상기 입력 정보에 기반한 다이어그램 모델링 도구를 생성할 수 있는 모델링 도구 정보와 상기 모델링 도구 정보에 반영된 메타 모델 정보를 분석하는 단계와, 상기 분석되는 모델링 도구 정보와 메타 모델 정보를 바탕으로 다이어그램 모델링 도구의 코드를 생성하는 단계와, 상기 분석되는 메타 모델 정보를 바탕으로 다이어그램 모델링 도구에서 작성되는 모델을 관리하기 위한 모델 관리 API 코드를 생성하는 단계와, 상기 모델링 도구의 코드와 상기 모델 관리 API 코드 간의 중간 매개 역할을 하는 모델 관리 랩퍼 API를 생성하는 단계와, 상기 생성된 다이어그램 모델링 도구와 모델 관리 API 코드에 대해 플러그인을 생성하는 단계와, 상기 생성된 모델링 도구의 플러그인을 저장소에 저장하는 단계를 포함하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 방법을 제공한다.In addition, according to another embodiment of the present invention, as a method for generating a diagram modeling tool based on a MOF metamodel and user requirements, when a user inputs and selects information necessary for generating a modeling tool, the diagram modeling tool based on the input information is used. Analyzing the modeling tool information that can be generated and the meta model information reflected in the modeling tool information, generating code of the diagram modeling tool based on the analyzed modeling tool information and the meta model information; Generating model management API code for managing a model created by a diagram modeling tool based on the meta model information, and generating a model management wrapper API serving as an intermediate between the modeling tool code and the model management API code. And the generated diamond Provides a method of generating a diagram modeling tool based on the MOF metamodel and user requirements including generating a plug-in for the RAM modeling tool and model management API code, and storing the generated plug-in of the modeling tool in a repository. .

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

설명에 앞서, 본 발명은 다양한 다이어그램 모델링 도구를 생성하는데 필요한 노테이션, 제약 사항, 규칙, 기능, 메뉴, 아이콘과 관련된 사용자 요구 사항을 MOF 메타 모델에 기반한 메타 정보로 정의함으로써 개발자가 원하는 다이어그램 모델링 도구를 획득할 수 있다는 것으로, 새로운 다이어그램 모델링 도구를 생성하기 위해 개발자가 코드를 전혀 구현할 필요가 없다.Prior to the description, the present invention defines a diagram modeling tool desired by a developer by defining user requirements related to the notation, constraints, rules, functions, menus, and icons required to generate various diagram modeling tools as meta information based on the MOF metamodel. With that in mind, developers don't have to implement any code to create new diagram modeling tools.

또한, 본 발명은 MOF 메타 모델에 기반하여 정의된 다이어그램 모델링 도구 생성을 위한 정보는 업계 표준이자 메타 모델을 표현하는 표준화된 수단인 MOF에 기반하여 모델링 하려는 도메인이 다양화되더라도 이식성 있고 다양하게 확장 가능한 메타 모델을 정의할 수 있다. 그리고 본 발명에서 확장성 있는 메타 모델 정보는 다이어그램 모델을 편집할 수 있는 도구를 생성하는데 기본 자료가 되는데 이 점에 있어 MOF에 기반하여 정의된 메타 모델은 모델링 능력이 우수한 다이어그램 모델링 도구를 생성할 수 있다는 점을 시사한다.In addition, the present invention is portable and scalable even if the domain to be modeled based on the MOF, which is an industry standard and a standardized means of expressing the metamodel, for information for generating a diagram modeling tool defined based on the MOF metamodel. You can define metamodels. In the present invention, scalable metamodel information is a basic data for generating a tool for editing a diagram model. In this regard, a metamodel defined based on MOF can generate a diagram modeling tool with excellent modeling ability. Imply that there is.

본 발명에서 다이어그램 모델링 도구를 생성하기 위한 메타 모델 정보는 전 세계적으로 업계 표준인 MOF에 기반하여 정의되고 정의된 메타 모델 정보를 이용하여 다양한 다이어그램을 모델링 할 수 있는 표현력 좋은 도구를 코드 구현 작업 없이 자동으로 생성하여 도구 사용자에게 제공한다. MOF에 기반한 메타 모델 정보 정의는 메타 모델 정보가 확장될 필요가 있을 때 정보를 확장할 수 있도록 확장성을 제공하고, MOF 기반으로 정의된 메타 모델을 분석하는 분석 엔진의 분석력과 분석 용이성을 얻을 수 있도록 하고, MOF에 기반하여 정의된 외부의 다른 메타 모델 정보를 통해 새로운 기능과 특징을 갖는 다양한 다이어그램 모델링 도구들을 플러그인의 형태로 컴포넌트화하여 얻을 수 있다는 효과가 있다.In the present invention, meta-model information for generating a diagram modeling tool is a representational tool that can be used to model various diagrams using meta-model information defined and defined based on the industry standard MOF worldwide, without any code implementation. Create it and provide it to the tool user. Defining metamodel information based on MOF provides extensibility to expand information when metamodel information needs to be expanded, and provides the analysis power and ease of analysis of the analysis engine that analyzes metamodels defined based on MOF. In addition, various diagram modeling tools having new functions and features can be obtained by componentizing them in the form of plug-ins through external meta model information defined based on MOF.

본 발명에서 제시하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구의 자동 생성 장치와 그 방법은 새로운 다이어그램 모델링 도구를 생성하고 확장시키는 데 존재할 법한 제한 사항을 최소화하고 자동화한다는 점에 기존의 다른 메타 CASE 도구와 차별성을 갖는다. 그리고 다이어그램 모델링 도구 생성을 위해 필요한 메타 모델의 확장을 용이하게 하고, 외부에서 정의된 메타 모델 정보를 가져와 사용하는데 있어 호환성을 유지시키고, MOF 이외의 기타 UML(Unified Modeling Language), XML(eXtended Markup Language), XMI(XML Metadata Interchange), JMI(Java Metadata Interface)와 같은 표준과 상호 운용할 수 있게 할 수 있다는 차별성을 가져온다.The automatic generation apparatus and method of the diagram modeling tool based on the MOF metamodel and the user requirements presented in the present invention minimize and automate the restrictions that may exist in creating and extending a new diagram modeling tool. Differentiate from the CASE tool. It also facilitates the extension of metamodels needed to create diagram modeling tools, maintains compatibility in importing and using externally defined metamodel information, and Unified Modeling Language (UML) and XML (eXtended Markup Language) other than MOF. ), Which makes it interoperable with standards such as XML Metadata Interchange (XMI) and Java Metadata Interface (JMI).

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;

도 1은 본 발명의 시스템 동작 과정을 설명하는 흐름도이다.1 is a flowchart illustrating a system operation process of the present invention.

먼저, 단계(S101)에서와 같이 본 시스템의 사용자가 요구하는 다이어그램 모델링 도구가 생성될 수 있도록 다이어그램 모델링 도구의 생성을 요청한다.First, as shown in step S101, a request is made to create a diagram modeling tool so that a diagram modeling tool required by a user of the present system can be generated.

단계(S102)에서는 다이어그램 모델링 도구의 구성 요소를 정의하기 위해 산출물 저장소에 저장되어 있는 다이어그램 모델링 도구 정의 정보를 입력하거나 기본 메타 모델 정보를 선택한다.In step S102, to define the components of the diagram modeling tool, input diagram modeling tool definition information stored in the output repository or select basic metamodel information.

단계(S103)에서는 모델링 도구에서 지원하는 기본 모델링 요소인 노드 정보를 사용자가 편집할 수 있도록 지원하고, 단계(S104)에서는 노드간의 연결을 위한 요소인 링크에 대한 정보를 편집하도록 지원한다. 즉, 단계(S103)와 단계(S104)에서는 사용자가 원하는 메타 모델 정보를 이용하여 다이어그램 모델링 도구를 생성할 수 있는 모델링 도구 정보를 정의하도록 지원한다.In step S103, a user supports editing of node information, which is a basic modeling element supported by a modeling tool, and in step S104, editing information about a link, which is an element for connection between nodes, is supported. That is, in step S103 and step S104, the user may define modeling tool information for generating a diagram modeling tool using meta-model information desired by the user.

작성된 모델링 도구 정보와 모델링 도구 정보에 반영된 메타 모델 정보에 대해 단계(S105)에서는 모델링 도구 정보를 분석하고, 단계(S106)에서는 모델링 도구 정보에 적용된 메타 모델 정보를 분석한다.The modeling tool information is analyzed in step S105 with respect to the generated modeling tool information and the metamodel information reflected in the modeling tool information. In step S106, the metamodel information applied to the modeling tool information is analyzed.

단계(S107)에서는 분석된 모델링 도구 정보와 메타 모델 정보를 바탕으로 다이어그램 모델링 도구의 코드를 생성한다.In step S107, the code of the diagram modeling tool is generated based on the analyzed modeling tool information and the metamodel information.

단계(S108)에서는 분석된 메타 모델 정보를 바탕으로 다이어그램 모델링 도구에서 작성되는 모델을 관리하기 위한 코드인 모델 관리 API(Application Programming Interface)를 자동 생성한다.In step S108, a model management API (Application Programming Interface), which is code for managing a model created in the diagram modeling tool, is automatically generated based on the analyzed metamodel information.

단계(S109)에서는 모델링 도구의 코드와 모델 관리 API간의 중간 매개 역할을 하는 모델 관리 랩퍼 API를 자동 생성한다. In step S109, a model management wrapper API is automatically generated that serves as an intermediate between the code of the modeling tool and the model management API.

단계(S110)에서는 생성된 다이어그램 모델링 도구와 모델 관리 API 코드에 대해 플러그인을 자동 생성한다.In step S110, a plug-in is automatically generated for the generated diagram modeling tool and model management API code.

단계(S111)에서는 생성된 모델링 도구의 플러그인을 산출물 저장소의 모델링 도구 플러그인 저장소에 저장하여 사용자가 시스템을 모델링 하고자 할 때 생성된 다이어그램 모델링 도구를 이용할 수 있게 지원한다.In step S111, the plug-in of the generated modeling tool is stored in the modeling tool plug-in repository of the output repository, so that the user can use the generated diagram modeling tool when modeling the system.

메타 정보에 기반하여 다이어그램 모델링 도구를 생성하는 환경은 사용자의 요구 사항에 맞춰진 새로운 다이어그램 모델링 도구를 생성할 수 있도록 다음과 같은 요구 사항들을 만족해야 한다.Environments that create diagram modeling tools based on meta information must meet the following requirements to create new diagram modeling tools tailored to the user's requirements.

첫째, 다이어그램 모델링 도구를 생성하기 위한 MOF 메타 모델을 편집하거나 입력받을 수 있어야 한다.First, it must be able to edit or receive the MOF metamodel for generating diagram modeling tools.

둘째, 메타 모델 정보 외에도 다이어그램 모델링 도구의 정의 정보로 다이어그램 모델링 도구에서 사용될 추가 속성 및 노테이션 정보를 정의할 수 있어야 한다.Second, in addition to the meta model information, the definition information of the diagram modeling tool should be able to define additional attribute and notation information to be used in the diagram modeling tool.

셋째, 다이어그램 모델링 도구 생성기에서 MOF 메타 모델에 기반하여 다이어그램 모델링 도구를 생성하기 위한 정보를 정의할 수 있어야 한다.Third, the diagram modeling tool generator should be able to define the information to create the diagram modeling tool based on the MOF metamodel.

넷째, 다이어그램 모델링 도구 생성기에서 모델링 도구의 정의 정보로 모델링 도구를 생성하기 위한 정보로 이용할 수 있어야 한다.Fourth, the diagram modeling tool generator should be available as information for creating modeling tools as definition information of modeling tools.

다섯째, MOF 메타 모델의 모델 요소와 각 모델 요소의 인스턴스간의 관계를 관리할 수 있는 모델 관리 메커니즘이 있어야 한다.Fifth, there must be a model management mechanism that can manage the relationship between the model elements of the MOF metamodel and the instances of each model element.

여섯째, 모델을 접근하는 인터페이스는 다이어그램 모델링 도구 생성기에서 예상할 수 있는 일관된 네이밍(naming) 규칙을 갖도록 생성되어야 한다.Sixth, the interface to access the model should be created with consistent naming rules that can be expected in the diagram modeling tool generator.

일곱째, 다이어그램 모델링 도구 생성기는 MOF 메타 모델 정보와 모델링 도구를 생성하기 위한 정의 정보를 이용하여 모델링 도구를 구성하는 구현 코드를 자동 생성할 수 있어야 한다.Seventh, the diagram modeling tool generator should be able to automatically generate the implementation code constituting the modeling tool using the MOF metamodel information and the definition information for generating the modeling tool.

도 2와 도 3은 다이어그램 모델링 도구를 자동 생성하기 위해 사용자가 입력하는 메타 정보를 나타낸다.2 and 3 illustrate meta information input by a user for automatically generating a diagram modeling tool.

사용자 정의 메타 정보는 다이어그램 모델링 도구에서 모델링 하고자 하는 다이어그램 요소들의 추상적인 문법을 표현하기 위해 정의된 정보이다. 다이어그램 모델링 도구를 자동 생성하기 위해 사용자가 입력해야 하는 기본 정보에는 각 모델 요소 별 노테이션, 사용자 정의 속성, 노테이션과 모델 요소들의 관계, 모델 요소 별 메뉴 액션과 같은 행위 정보가 포함된다.User-defined meta information is information defined to express abstract grammar of diagram elements to be modeled in diagram modeling tool. The basic information that the user must enter to automatically generate the diagram modeling tool includes behavior information such as notation for each model element, user-defined attributes, relationship between notation and model elements, and menu action for each model element.

노테이션 정보는 모델링 요소의 그래픽 심볼과 아이콘 정보를 표현한다.Notation information represents graphical symbol and icon information of the modeling element.

사용자 정의 속성 정보는 MOF 메타 모델에 정의된 속성들 중에서 사용자가 선택한 속성 정보와 각 속성에 대해 사용자가 추가적으로 정의한 의미 정보를 포함한다.The user-defined attribute information includes attribute information selected by the user among the attributes defined in the MOF metamodel and semantic information additionally defined by the user for each attribute.

노테이션과 모델 요소간의 관계 정보는 모델 요소들과 노테이션이 어떻게 맵핑(mapping)되는 지를 표현한다.The relationship information between the notation and the model element expresses how the model elements and the notation are mapped.

행위 정보는 각 모델링 요소에 대해 수행되도록 맵핑되어 있는 사용자가 정의한 메뉴 액션과 모델 관리 랩퍼 API 정보로 표현된다.Behavior information is represented by user-defined menu actions and model management wrapper API information that are mapped to be performed on each modeling element.

도 2는 다이어그램의 기본 모델링 요소인 노드를 표현하는데 사용되는 메타 정보를 나타낸다. 이는 각 노드, 다이어그램에서 노드와 관련된 다이어그램 모델링 도구의 기능을 지정하기 위해 태그를 사용하여 나타낸다. 사용자는 각 노드에 대응되는 태그에 원하는 값을 할당하여 노드 정보를 정의할 수 있다.2 illustrates meta information used to represent a node, which is a basic modeling element of a diagram. This is represented using tags to specify the functionality of the diagram modeling tool associated with the node in each node, diagram. The user can define node information by assigning a desired value to a tag corresponding to each node.

'<node>' 태그는 크게 'node type', 'paletteicon', 'metamodelname', 'description'과 같은 4개의 속성으로 구성된다. 'node type'은 노드 타입 정보를 표현하고 'paletteicon'은 아이콘 파일의 이름을 표현한다. 'metamodelname'은 메타 모델에서 해당 노드에 대응되는 모델 요소의 패키지명(package name)을 나타내고 'description'은 노드의 설명을 기술한다.The '<node>' tag consists of four attributes: 'node type', 'paletteicon', 'metamodelname', and 'description'. 'node type' represents node type information and 'paletteicon' represents the name of the icon file. 'metamodelname' represents the package name of the model element corresponding to the node in the metamodel, and 'description' describes the node description.

'<node>' 태그는 '<notation>', '<property>', '<actions>' 의 3개의 태그를 종속 태그로 포함한다. '<notation>' 태그는 노테이션에 대한 정보를 표현하고 노테이션 타입을 나타내는 'type', 노테이션 크기 조절 가능 여부를 나타내는 'isResizable', 노테이션의 색 정보를 나타내는 'color', 각 노테이션들이 서로 겹쳐질 수 있는지 여부를 나타내는 'isOverlay' 정보를 부가적인 속성으로 기술한다. 그리고 '<notation>' 태그는 각 노테이션의 세부 영역에 대한 모델 정보를 맵핑하는 '<label model>', '<attribute model>', '<operation model>'과 같은 태그를 종속 태그로 포함한다.The '<node>' tag includes three tags, '<notation>', '<property>' and '<actions>' as dependent tags. '<notation>' tag indicates information about the notation, 'type' indicating the type of the notation, 'isResizable' indicating whether the notation is resizable, 'color' indicating the color information of the notation, and each notation can overlap. 'IsOverlay' information indicating whether there is an additional attribute is described. In addition, the '<notation>' tag includes tags such as '<label model>', '<attribute model>', and '<operation model>' that map model information of the detailed area of each notation as a dependent tag.

'<property>' 태그는 각 요소의 속성을 표현하고 'name'으로 모델 요소와의 맵핑 요소명을, 'type'으로 속성의 타입을 나타내며, 속성 모델 정보를 설정하고 얻어가는데 필요한 'setter/getter' 메소드명을 속성으로 기술한다.The '<property>' tag represents the attribute of each element, 'name' represents the mapping element name with the model element, 'type' represents the type of the attribute, and 'setter / getter' is required to set and get attribute model information. 'Describe the method name as an attribute.

'<action>' 태그는 모델링 요소의 메뉴 액션과 모델 관리 액션을 표현하고 각 액션명과 행위 정보인 메소드명을 기술한다.The '<action>' tag represents the menu action and model management action of the modeling element and describes each action name and method name, which is the action information.

도 3은 노드 요소를 연결하는데 사용되는 링크 요소 정보를 표현하는데 사용되는 메타 정보를 나타낸다. '<link>' 태그는 '<node>' 요소를 연결하기 위해 사용되는 다이어그램 요소를 나타내고 노드 타입의 속성처럼 'type', 'paletteicon', 'metamodelname', 'description'의 속성 정보를 가진다. 3 shows meta information used to represent link element information used to link node elements. The '<link>' tag represents a diagram element used to link the '<node>' element and has attribute information of 'type', 'paletteicon', 'metamodelname' and 'description' like the node type attribute.

'<link>' 태그는 '<notation>', '<connecting elements>', '<action>' 태그와 같은 종속 태그를 포함한다.The '<link>' tag includes dependent tags such as '<notation>', '<connecting elements>', and '<action>' tags.

'<notation>' 태그는 노드의 노테이션 정보와 같이 링크의 형태 정보를 표현하고 'type'과 'color' 정보를 기술한다. 링크의 세부적인 모델 정보를 맵핑하도록 '<label model>', '<attribute model>' 태그를 종속 태그로 포함한다. '<connecting elements>' 태그는 링크에 연결될 요소의 종류를 표현하도록 '<element model>' 태그를 종속 태그로 포함한다.'<notation>' tag expresses link type information like node notation information and describes 'type' and 'color' information. Include the '<label model>' and '<attribute model>' tags as dependent tags to map detailed model information for the link. The '<connecting elements>' tag includes a '<element model>' tag as a dependent tag to represent the kind of element to be connected to the link.

도 4는 본 발명의 시스템 구성도로서, MOF 메타 모델에 기반한 다이어그램 모델링 도구를 생성하기 위한 메타 CASE 도구로서 위에서 기술한 차별성을 갖도록 4개의 부속 장치와 1개의 산출물 저장소로 구성된다.4 is a system configuration diagram of the present invention, which is a meta CASE tool for generating a diagram modeling tool based on a MOF metamodel, and includes four accessory devices and one output repository to have the above-described differences.

즉, 본 시스템(400)은 MOF 메타 모델을 정의하고 편집하기 위한 메타 모델 정의기(410), MOF에 기반한 메타 모델을 분석하고 모델 관리 구조 및 모델 정의 정보에 접근하기 위한 코드를 일관된 형태로 생성하는 모델 관리기(450), 생성하고자 하는 모델링 도구의 구성 요소, 속성, 기능을 정의하는 모델링 도구 정의기(470), 다이어그램 모델링 도구를 구성하는 구현 코드를 자동으로 생성하고 플러그인 형태의 컴포넌트로 생성하는 다이어그램 모델링 도구 생성기(490), 위의 4개의 부속 장치로부터 생성되는 각종 산출물을 저장하기 위한 산출물 저장소(430)로 구성되는 것을 특징으로 한다.That is, the system 400 generates a metamodel definer 410 for defining and editing a MOF metamodel, a code for analyzing a metamodel based on the MOF, and accessing model management structure and model definition information in a consistent form. Model manager 450 to automatically create, modeling tool definer 470 that defines the components, properties, functions of the modeling tool to create, the implementation code constituting the diagram modeling tool automatically generates a plug-in component The diagram modeling tool generator 490 is characterized in that it is composed of a product storage 430 for storing the various products generated from the above four accessories.

메타 모델 정의기(410)는 사용자가 MOF 메타 모델을 정의할 수 있도록 지원하는 메타 모델 편집기(412)와 MOF 정의 규칙에 따라 정의된 메타 모델을 검증하는 메타 모델 검증기(414)로 구성된다.The metamodel definer 410 is comprised of a metamodel editor 412 that allows a user to define a MOF metamodel and a metamodel verifier 414 that verifies a metamodel defined according to MOF definition rules.

산출물 저장소(430)는 메타 모델 정의기(410)에서 작성한 메타 모델을 저장하는 메타 모델 저장소(432)와 모델링 도구 정의기(470)에서 정의한 정보를 저장하는 모델링 도구 정보 저장소(434)와 다이어그램 모델링 도구 생성기(490)에서 생성한 모델링 도구의 플러그인을 저장하는 모델링 도구 플러그인 저장소(436)와 모델링 도구를 이용해 사용자가 작성하는 다이어그램 모델을 저장하는 모델 저장소(438)로 구성된다.The output repository 430 includes a metamodel repository 432 for storing metamodels created by the metamodel definer 410, a modeling tool information repository 434 for storing information defined by the modeling tool definer 470, and diagram modeling. The model generator includes a modeling tool plug-in repository 436 for storing plug-ins of the modeling tool generated by the tool generator 490 and a model repository 438 for storing diagram models created by a user using the modeling tool.

모델 관리기(450)는 사용자가 정의한 메타 모델 정보를 분석하는 메타 모델 분석기(452)와 메타 모델 분석 정보를 이용하여 모델 관리 API를 자동 생성하는 모델 관리 API 생성기(454)와 모델 관리 API와 모델링 도구간의 중간 매개 역할을 하는 모델 관리 랩퍼 API를 생성하는 모델 관리 랩퍼 API 생성기(456)로 구성된다.The model manager 450 may include a meta model analyzer 452 that analyzes user-defined meta model information, a model management API generator 454 that automatically generates a model management API using meta model analysis information, a model management API, and a modeling tool. It consists of a model management wrapper API generator 456 that generates a model management wrapper API that acts as an intermediate intermediary.

모델링 도구 정의기(470)는 다이어그램의 주요 모델링 요소인 노드 정보를 정의하는 노드 정보 작성기(472)와 다이어그램의 노드를 노드들의 관계에 따라 연결하는 역할을 하는 링크 정보를 정의하는 링크 정보 작성기(474)로 구성된다.The modeling tool definer 470 defines a node information builder 472 that defines node information that is a main modeling element of the diagram, and a link information builder 474 that defines link information that serves to connect the nodes of the diagram according to the relationship between the nodes. It is composed of

다이어그램 모델링 도구 생성기(490)는 모델링 도구 정의기(470)에서 정의한 모델링 도구 정보를 분석하는 모델링 도구 정보 분석기(492)와 분석된 모델링 도구 정보를 바탕으로 모델링 도구의 코드를 자동 생성하는 모델링 도구 생성기(494)와 생성된 모델링 도구를 플러그인 형태의 컴포넌트로 자동 생성하여 통합 개발 환경과 연동하는 플러그인 생성기(496)로 구성된다.The diagram modeling tool generator 490 is a modeling tool generator that automatically generates modeling tool code based on the modeling tool information analyzer 492 and the analyzed modeling tool information. And a plug-in generator 496 that automatically generates the generated modeling tool as a plug-in type component and works with the integrated development environment.

메타 모델 정의기(410)는 다양한 메타 모델을 정의할 수 있도록 MOF를 이용하여 UML 메타 모델을 정의한다. MOF가 지원하는 UML 클래스 모델링 컨스트럭트를 이용하여 메타 모델을 정의할 수 있도록 지원한다.The metamodel definer 410 defines a UML metamodel using the MOF to define various metamodels. The meta model can be defined using the UML class modeling construct supported by MOF.

모델 관리기(450)는 MOF-Java 맵핑인 JMI를 통해 모델 정보를 접근하는 모델 관리 API를 생성한다. 모델 관리 API는 다이어그램 모델링 도구의 모델 코드에서 모델을 접근하기 위해 필요한 API이므로 다이어그램 모델링 도구에서는 모델 관리 API를 호출하는 코드가 생성되어야 한다. 이러한 모델 관리 API를 실제 호출하기 위해서는 메타 모델 정보를 이해할 필요가 있다. 따라서 다이어그램 모델링 도구의 자동 생성을 위해 메타 모델 정보가 없어도 모델 정보를 용이하게 활용할 수 있도 록 모델 관리 랩퍼 API를 생성한다. 모델 관리 랩퍼 API는 메타 모델에 독립적으로 일관된 규칙을 가진 형태로 정의되고 생성되는 다이어그램 편집기에서는 모델 관리 랩퍼 API 정의 규칙에 따라 해당 랩퍼 API를 호출하여 모델 정보에 접근할 수 있다.The model manager 450 generates a model management API for accessing model information through JMI, which is a MOF-Java mapping. The model management API is required to access the model in the model code of the diagram modeling tool, so the code for calling the model management API must be generated in the diagram modeling tool. To actually call these model management APIs, you need to understand the metamodel information. Therefore, the model management wrapper API is created so that the model information can be easily utilized without the meta model information for the automatic generation of the diagram modeling tool. The model management wrapper API is defined and generated in a form with consistent rules independent of the metamodel. In the diagram editor, model information can be accessed by calling the corresponding wrapper API according to the model management wrapper API definition rules.

모델링 도구 정의기(470)는 메타 모델 정보 이외에 원하는 다이어그램을 편집할 수 있도록 다이어그램 모델링 도구 생성을 위해 필요한 추가 정보를 정의하도록 지원한다. 다이어그램을 구성하기 위한 모델링 요소를 정의하고 메타 모델에 정의된 요소와의 맵핑을 정의한 후 각 모델링 요소가 가지고 있는 속성 정보를 정의한다. 속성 정보로 메타 모델에 포함된 모델 정보를 이용할 수 있고 메타 모델에 포함되지 않은 정보를 속성으로 추가적으로 정의할 수 있다. 각 요소들의 모델 관련 정보를 설정한 후 모델링 요소를 다이어그램 상에서 어떻게 표현할 지 노테이션 모양을 정의한다. 정의한 노테이션 형태에 따라 세부적인 모델 정보의 맵핑을 정의하고 각 모델링 요소가 가지는 메뉴 액션 및 모델 관리 액션 정보를 정의한다.The modeling tool definer 470 supports defining additional information necessary for generating a diagram modeling tool so that the desired diagram can be edited in addition to the meta model information. After defining the modeling elements to compose the diagram, defining mapping with the elements defined in the metamodel, and defining the attribute information of each modeling element. Model information included in the metamodel may be used as the attribute information, and information not included in the metamodel may be additionally defined as an attribute. After setting the model-related information of each element, define the notation shape how modeling elements will be represented on the diagram. Defines mapping of detailed model information according to defined notation type and defines menu action and model management action information which each modeling element has.

모델링 도구 생성기(494)는 모델링 도구에 대한 분석 정보를 입력으로 받아서 MVC(Model-View-Control) 패턴을 적용하여 모델, 뷰, 컨트롤러로 나누어 다이어그램 모델링 도구의 코드를 생성한다. 다이어그램 모델링 도구에서 생성된 모델링 정보를 구성하는 정보는 메타 모델의 모델 인스턴스와 메타 모델에 나타나지 않는 다이어그램의 뷰와 속성 정보를 저장하기 위한 두 가지의 모델로 분류된다. 메타 모델의 모델 인스턴스에 대한 접근은 모델 관리 API 생성기에 의해 생성된 모델 관리 API를 통해 이루어진다. 만약 모델 관리 API를 직접 이용하려면 모델링 도구에 서 메타 모델의 구조에 대한 정보가 요구된다. 그러나 모델링 도구 생성기에서는 메타 모델의 구조 정보를 파악하기 어려우므로 이를 위해 모델 관리 API를 통해 접근하는 인터페이스를 직접 사용하지 않고 모델 관리 랩퍼 API 생성기에서 생성된 모델 관리 랩퍼 API를 통해 모델을 관리하도록 다이어그램 모델링 도구의 모델 코드가 생성된다. 다이어그램 모델링 도구의 뷰 정보는 모델링 도구 정의기에서 정의하고자 하는 각 모델링 요소들에 대해 사용자가 입력한 노테이션의 형태 정보와 속성 정보, 노테이션의 형태에 따른 메타 모델과 연결에 대한 맵핑 정보를 이용해 각 모델링 요소의 뷰 코드로 생성된다. 다이어그램 모델링 도구의 컨트롤러 정보는 다이어그램 모델링 도구의 기본 컨트롤 액션, 기본 편집 액션을 코드로 생성하고 모델링 도구 정의기에서 사용자가 입력한 각 모델링 요소의 추가 액션 정보를 액션 코드로 생성된다. 생성되는 다이어그램 모델링 도구가 통합되어 사용되는 환경은 통합 개발 환경으로 통합 개발 환경은 플러그인들의 집합으로 구성되며, 통합되는 도구도 하나 이상의 플러그인들로 구성된다. 각 플러그인은 자바 바이너리 코드와 통합 관련 정보를 명시하는 플러그인 XML 파일로 구성된다. 따라서 플러그인 생성기(496)는 다이어그램 모델링 도구를 플러그인으로 실행할 수 있도록 지원하기 위해 생성된 다이어그램 모델링 도구를 플러그인으로 자동 생성해 주는 기능을 수행한다.The modeling tool generator 494 receives analysis information about the modeling tool as an input, and applies code of a model-view-control (MVC) pattern to divide the model, view, and controller to generate code of the diagram modeling tool. The information constituting the modeling information generated by the diagram modeling tool is classified into two models for storing model information of the metamodel and views and attribute information of the diagram that do not appear in the metamodel. Access to the model instance of the metamodel is through the model management API generated by the model management API generator. If the model management API is to be used directly, the modeling tool requires information about the structure of the metamodel. However, because the modeling tool generator is difficult to understand the structural information of the metamodel, for this purpose, instead of directly using the interface accessed through the model management API, diagram modeling to manage the model through the model management wrapper API generated by the model management wrapper API generator. The model code of the tool is generated. The view information of the diagram modeling tool is modeled by using the type information and notation information of the notation inputted by the user for each modeling element to be defined in the modeling tool definer, and mapping information about the metamodel and connection according to the type of notation. Generated by the view code of the element. Controller information of the diagram modeling tool generates code of the basic control action and basic editing action of the diagram modeling tool, and additional action information of each modeling element entered by the user in the modeling tool definer is generated as action code. The environment in which the generated diagram modeling tool is integrated and used is the integrated development environment. The integrated development environment consists of a set of plug-ins, and the integrated tool is composed of one or more plug-ins. Each plug-in consists of a plug-in XML file that specifies Java binary code and integration-related information. Therefore, the plug-in generator 496 performs a function of automatically generating the generated diagram modeling tool as a plug-in to support executing the diagram modeling tool as a plug-in.

도 5는 사용자가 모델링 도구의 정보를 정의할 수 있도록 제공하는 모델링 도구 정의기(470)의 사용자 인터페이스 화면을 나타낸 것이다. 참조 번호 500과 520은 노드/링크의 기본 정보를 편집할 수 있도록 제공하는 화면이다. 참조 번호 500에서 노드나 링크 정보를 추가하기 위해 Add 버튼(참조 번호 502)을 클릭하면 참조 번호 520 화면이 나타난다. 참조 번호 520 화면에서 각 노드/링크에 대해 참조 번호 522의 입력 필드에 각 노드명 또는 링크명을 입력하고 참조 번호 524의 입력 필드에 노드 또는 링크에 맵핑되는 메타 모델 요소를 입력한다. 참조 번호 526의 입력 필드에 노드나 링크를 다이어그램 내에서 시각적으로 표현하기 위해 사용되는 UML노테이션 모양을 지정하고 참조번호 528의 입력 필드에 노드 또는 링크의 아이콘 파일 경로를 지정한다.5 illustrates a user interface screen of the modeling tool definer 470 that provides a user to define information of the modeling tool. Reference numerals 500 and 520 denote screens for editing the basic information of the node / link. If you click the Add button (reference number 502) to add node or link information at reference number 500, a reference number 520 screen appears. For each node / link on the screen 520, each node name or link name is input in an input field of reference number 522, and a metamodel element mapped to a node or link is input in an input field of reference number 524. In the input field at 526, specify the UMLnotation shape used to visually represent the node or link in the diagram, and specify the node or link's icon file path in the input field at 528.

참조 번호 540과 560은 각 노드/링크에 대한 속성 정보를 편집할 수 있도록 제공하는 화면이다. 참조 번호 540에서 노드나 링크에 대한 속성 정보를 추가하기 위해 Add 버튼(참조 번호 542)을 클릭하면 참조 번호 560 화면이 나타난다. 참조 번호 560 화면에서 각 노드/링크의 속성에 대해 참조 번호 562의 입력 필드에 각 속성명을 입력하고 참조 번호 564의 입력 필드에 해당 속성이 지정될 노드 또는 링크명을 입력한다. 참조 번호 566의 입력 필드에 해당 속성의 대응되는 모델 요소를 접근하기 위한 메타 모델 접근 API를 지정한다.Reference numerals 540 and 560 are screens provided for editing the attribute information for each node / link. Clicking the Add button (reference number 542) to add attribute information for the node or link at reference number 540 displays a reference number 560 screen. On the screen 560, for each attribute of each node / link, enter each attribute name in the input field of reference number 562, and enter the node or link name to which the attribute is to be assigned in the input field of reference number 564. Specifies the metamodel access API for accessing the corresponding model element of the attribute in the input field of reference number 566.

도 6은 모델링 도구 정의기(470)를 이용하여 사용자가 정의하여 생성되는 모델링 도구 정보의 예제 일부를 나타낸다. 도 6에서는 UML profile for EDOC의 Component Collaboration Architecture(CCA) 명세와 엔터티(Entity) 명세에 대한 메타 모델을 기반으로 다이어그램 모델링 도구의 정보를 정의한 것이다. CCA 명세는 프로세스 컴포넌트, 프로토콜, 포트의 요소로 구성된다. 프로세스 컴포넌트는 기능을 수행하는 컴포넌트이고 다른 프로세스 컴포넌트와 포트를 통해 상호작용하 고 상호작용은 프로토콜로 표시된다. 포트는 여러 타입의 인터페이스를 나타낸다. 엔터티 명세의 주요 구성요소는 엔터티로 시스템내의 데이터 정보를 모델링 하는데 사용된다. 생성하고자 하는 예제 모델링 도구는 프로세스 컴포넌트, 프로토콜, 포트, 엔터티를 모델링 요소로 가지고 이러한 요소들을 이용하여 프로세스 컴포넌트, 엔터티 같은 컴포넌트간의 상호작용을 기술하는 시스템 아키텍처를 모델링 할 수 있도록 한다. 이를 위해 참조 번호 602에서는 각 노드나 링크에 대해 모델링 도구의 팔레트에서 보여질 아이콘을 위한 아이콘 경로 정보와 대응되는 메타 모델 요소 정보를 포함한다.6 illustrates an example of modeling tool information generated by a user by using the modeling tool definer 470. In FIG. 6, information of a diagram modeling tool is defined based on a metamodel of a Component Collaboration Architecture (CCA) specification and an entity specification of a UML profile for EDOC. The CCA specification consists of elements of process components, protocols and ports. Process components are components that perform functions and interact with other process components through ports, and the interactions are represented by protocols. Ports represent different types of interfaces. The main component of an entity specification is an entity, which is used to model the data information in the system. The example modeling tool you want to create takes process components, protocols, ports, and entities as modeling elements and allows you to model system architectures that describe the interactions between components such as process components and entities. To this end, reference numeral 602 includes meta-model element information corresponding to icon path information for an icon to be displayed in the modeling tool palette for each node or link.

참조 번호 604에서는 노테이션의 모양과 노테이션의 세부 영역에 대한 메타 모델 요소와의 맵핑 정보를 포함한다. 참조 번호 606에서는 속성명과 속성 타입, 속성 정보를 얻어오고 설정하는 모델 관리 랩퍼 API 정보를 포함한다.Reference numeral 604 includes mapping information of the shape of the notation and metamodel elements for the detail region of the notation. Reference numeral 606 includes model management wrapper API information for getting and setting attribute names, attribute types, and attribute information.

참조 번호 608에서는 각 모델링 요소의 모델 인스턴스 생성 및 삭제 등의 모델 관리 액션을 위한 모델 관리 랩퍼 API 정보와 추가적인 사용자 정의 액션 정보를 포함한다.Reference numeral 608 includes model management wrapper API information and additional user-defined action information for model management actions such as model instance creation and deletion of each modeling element.

도 7은 사용자가 정의한 모델링 도구 정보를 이용하여 자동 생성된 다이어그램 모델링 도구의 실행 화면을 나타낸다. 참조 번호 702는 생성된 다이어그램 모델링 도구를 띄운 화면이고 참조 번호 704는 생성된 다이어그램 모델링 도구의 팔레트를 나타낸다. 참조 번호 706은 통합 개발 환경의 플러그인 구조에 생성된 다이어그램 모델링 도구가 플러그인으로 포함되어 보여지는 화면을 나타낸다.7 illustrates an execution screen of a diagram modeling tool that is automatically generated by using user-defined modeling tool information. Reference numeral 702 denotes a screen displaying the generated diagram modeling tool and reference numeral 704 denotes a palette of the generated diagram modeling tool. Reference numeral 706 denotes a screen in which the diagram modeling tool generated in the plug-in structure of the integrated development environment is included as a plug-in.

상기한 바와 같이, 본 발명은 사용자가 요구하는 다이어그램 모델링 도구를 MOF 메타 모델을 기반으로 사용자가 입력한 모델링 도구 정보를 이용하여 복잡한 구현 과정 없이 자동으로 생성한다.As described above, the present invention automatically generates a diagram modeling tool required by a user without complicated implementation process using modeling tool information input by the user based on the MOF metamodel.

상술한 바와 같이 본 발명에 따른 「MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구의 자동 생성 장치와 그 방법」은 MOF 메타 모델에 기반하여 다이어그램 모델링 도구를 자동으로 생성하는데 필요한 메타 정보를 정의하여 여러 분야에 대한 다양한 다이어그램 모델을 생성할 수 있다. 본 장치 및 방법은 모델링 도구에 대한 사용자의 요구 사항이 변경될 때마다 표준화된 메타 모델 정보에 기인하여 표현력이 좋은 다이어그램 모델링 도구를 생성하고 외부에서 정의된 MOF 표준에 따르는 메타 모델 정보를 가져와 새로운 다이어그램 모델링 도구를 생성할 수 있는 상호 호환성을 제공한다. 생성된 다이어그램 모델링 도구는 플러그인 형태로 컴포넌트화되어 재사용의 편의를 제공한다는 효과를 갖는다.As described above, the "automatic generation apparatus and method of diagram modeling tool based on MOF metamodel and user requirements" according to the present invention defines meta information necessary for automatically generating diagram modeling tool based on MOF metamodel. You can create different diagram models for different disciplines. Whenever the user's requirements for the modeling tool change, the apparatus and method generates a highly expressive diagram modeling tool based on standardized metamodel information, and imports metamodel information according to the MOF standard defined externally. Provides interoperability to create modeling tools. The generated diagram modeling tool is componentized in the form of a plug-in to provide convenience of reuse.

이상, 본 발명을 실시예에 근거하여 구체적으로 설명하였지만, 본 발명은 이러한 실시예에 한정되는 것이 아니라, 그 요지를 벗어나지 않는 범위 내에서 여러 가지 변형이 가능한 것은 물론이다.As mentioned above, although this invention was demonstrated concretely based on the Example, this invention is not limited to this Example, Of course, various changes are possible within the range which does not deviate from the summary.

Claims (13)

MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치로서,A device for generating diagram modeling tools based on MOF metamodels and user requirements. 사용자가 MOF 메타 모델을 MOF 클래스 모델링 컨스트럭트를 이용하여 정의할 수 있도록 지원하는 메타 모델 편집기 및 상기 메타 모델 편집기에서 정의된 메타 모델이 MOF 정의 규칙에 맞는지 검증하는 메타 모델 검증기로 구성되며, 사용자에 의해 모델링 도구 생성에 필요한 정보가 입력 및 선택되면 MOF에 기반한 메타 모델을 정의하고 편집하기 위한 메타 모델 정의기와,It consists of a metamodel editor that allows the user to define the MOF metamodel using the MOF class modeling construct, and a metamodel verifier that verifies that the metamodel defined in the metamodel editor conforms to the MOF definition rules. A metamodel definer for defining and editing a MOF-based metamodel once input and selection of 사용자가 정의한 MOF 메타 모델 정보를 분석하는 메타 모델 분석기, 상기 메타 모델 분석기를 통한 메타 모델 분석 정보를 이용하여 모델 관리 API를 자동 생성하는 모델 관리 API 생성기, 모델링 도구간의 중간 매개 역할을 하는 모델 관리 랩퍼 API를 생성하는 모델 관리 랩퍼 API 생성기로 구성되며, MOF에 기반한 메타 모델을 분석하고 모델 관리 구조 및 모델 정의 정보에 접근하기 위한 코드를 일관된 형태로 생성하는 모델 관리기와,A meta-model analyzer that analyzes user-defined MOF meta-model information, a model management API generator that automatically generates a model management API using the meta-model analysis information through the meta-model analyzer, and a model management wrapper that acts as an intermediate between modeling tools. It consists of a model management wrapper API generator that generates an API, a model manager that analyzes the MOF-based metamodel and generates a consistent form of code for accessing model management structure and model definition information. 다이어그램의 기본 모델링 요소인 노드 정보를 정의하는 노드 정보 작성기 및 상기 노드 정보 작성기를 통해 정의된 다이어그램의 노드를 노드들의 관계에 따라 연결하는 역할을 하는 링크 정보를 정의하는 링크 정보 작성기로 구성되며, 생성하고자 하는 모델링 도구의 구성 정보를 정의하는 모델링 도구 정의기와,It consists of a node information builder that defines node information, which is a basic modeling element of the diagram, and a link information builder that defines link information that serves to connect nodes of the diagram defined by the node information builder according to the relationship of the nodes. A modeling tool definer defining configuration information of a modeling tool to be designed; 상기 모델링 도구 정의기에서 정의된 모델링 도구 정보를 분석하여 다이어그램 모델링 도구를 구성하는 구현 코드를 생성하고 생성된 모델링 도구를 플러그인 형태의 컴포넌트로 생성하여 통합 개발 환경과 연동하는 다이어그램 모델링 도구 생성기와,A diagram modeling tool generator for generating an implementation code constituting a diagram modeling tool by analyzing the modeling tool information defined in the modeling tool definer, and generating the generated modeling tool as a plug-in component and interworking with an integrated development environment; 상기 메타 모델 정의기, 모델 관리기, 모델링 도구 정의기, 다이어그램 모델링 도구 생성기로부터 생성되는 산출물을 저장하기 위한 산출물 저장소Output storage for storing outputs generated from the meta model definer, model manager, modeling tool definer, diagram modeling tool generator 를 포함하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치.MOF metamodel including and diagramming tool generation device based on user requirements. 삭제delete 삭제delete 삭제delete 제 1 항에 있어서,The method of claim 1, 상기 다이어그램 모델링 도구 생성기는,The diagram modeling tool generator, 상기 모델링 도구 정의기에서 정의한 모델링 도구 정보를 분석하는 모델링 도구 정보 분석기와,A modeling tool information analyzer for analyzing modeling tool information defined by the modeling tool definer; 상기 모델링 도구 정보 분석기를 통해 분석된 모델링 도구 정보를 바탕으로 모델링 도구의 코드를 자동 생성하는 모델링 도구 생성기와,A modeling tool generator for automatically generating code of a modeling tool based on the modeling tool information analyzed by the modeling tool information analyzer; 상기 모델링 도구 생성기를 통해 생성된 모델링 도구를 플러그인으로 자동 생성하여 통합 개발 환경과 결합하여 사용될 수 있도록 하는 플러그인 생성기Plug-in generator that automatically generates the modeling tool generated by the modeling tool generator as a plug-in to be used in combination with the integrated development environment. 를 포함하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치.MOF metamodel including and diagramming tool generation device based on user requirements. 제 1 항에 있어서,The method of claim 1, 상기 산출물 저장소는,The output store, 상기 메타 모델 정의기에서 작성한 MOF 메타 모델을 저장하는 메타 모델 저장소와,A metamodel repository for storing the MOF metamodel created by the metamodel definer; 상기 모델링 도구 정의기에서 정의한 모델링 도구 정보를 저장하는 모델링 도구 정보 저장소와,A modeling tool information store for storing modeling tool information defined in the modeling tool definer; 상기 다이어그램 모델링 도구 생성기에서 생성한 모델링 도구 플러그인을 저장하는 모델링 도구 플러그인 저장소와,A modeling tool plug-in repository for storing modeling tool plug-ins generated by the diagram modeling tool generator; 상기 모델링 도구를 이용하여 사용자가 작성하는 다이어그램 모델을 저장하는 모델 저장소Model repository for storing diagram models created by the user using the modeling tool 를 포함하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치.MOF metamodel including and diagramming tool generation device based on user requirements. 제 1 항에 있어서,The method of claim 1, 상기 모델 관리 랩퍼 API 생성기는,The model management wrapper API generator, 메타 모델에 대해 독립적으로 일관된 규칙을 가진 형태로 정의되는 모델 관리 랩퍼 API를 생성하고, 생성되는 다이어그램 편집기에서 모델 관리 랩퍼 API 정의 규칙에 따라 해당 랩퍼 API를 호출하여 모델 정보에 접근할 수 있도록 지원하는 것을 특징으로 하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치.Creates a model management wrapper API that is defined in a form with consistent rules independently for the metamodel, and calls the corresponding wrapper API according to the model management wrapper API definition rules in the generated diagram editor to provide access to model information. Apparatus for generating diagram modeling tools based on MOF metamodels and user requirements. 제 1 항에 있어서, The method of claim 1, 상기 노드 정보 작성기는,The node information builder, 다이어그램을 구성하기 위한 기본 모델링 요소인 노드의 기본 정보, 노테이션 정보, 속성 정보와 액션 정보를 정의할 수 있도록 지원하되,It supports to define basic information of node, notation information, property information and action information, which are basic modeling elements for constructing diagram. 상기 기본 정보에는 노드의 타입, 아이콘 파일 이름, 메타 모델에 정의된 요소와의 맵핑, 노드에 대한 설명 정보가 포함되고,The basic information includes a node type, an icon file name, a mapping with an element defined in a metamodel, and description information about the node. 상기 노테이션 정보에는 UML(Unified Modeling Language) 노테이션 타입, 노테이션 크기 조절 가능 여부 정보, 노테이션의 색 정보, 노테이션이 겹쳐질 수 있는지 여부 정보, 각 노테이션의 세부 영역에 대한 모델 요소 맵핑 정보가 포함되며,The notation information includes a UML (Unified Modeling Language) notation type, information on whether the notation can be adjusted, color information of the notation, information on whether the notation can be overlapped, and model element mapping information on detailed regions of each notation. 상기 속성 정보에는 속성 타입, 메타 모델에 정의된 요소와의 맵핑 정보, 속성 모델 정보를 접근하는 메소드 정보가 포함되고,The attribute information includes attribute type, mapping information with elements defined in the metamodel, and method information for accessing attribute model information. 상기 액션 정보에는 각 노드의 메뉴 액션과 모델 관리 액션에 대한 액션명과 메소드 정보가 포함됨으로써, 상기 정보들을 정의할 수 있도록 지원하는 것을 특징으로 하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치.The action information includes an action name and method information for a menu action and a model management action of each node, so that the information can be defined so that the diagram modeling tool generation device based on the MOF metamodel and user requirements is provided. . 제 1 항에 있어서, The method of claim 1, 상기 링크 정보 작성기는,The link information creator, 상기 노드간의 연결을 위해 필요한 링크의 기본 정보, 노테이션 정보, 속성 정보, 액션 정보를 노드 정보의 경우처럼 정의할 수 있도록 지원하고 링크에 연결될 수 있는 노드 정보를 정의할 수 있도록 지원하는 것을 특징으로 하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치.The basic information, notation information, attribute information, and action information of the link necessary for the connection between the nodes can be defined as in the case of the node information, and the node information that can be connected to the link can be defined. Device for generating diagram modeling tools based on MOF metamodels and user requirements. 제 5 항에 있어서,The method of claim 5, 상기 모델링 도구 정보 분석기는,The modeling tool information analyzer, 상기 모델링 도구 정의기에서 정의한 모델링 도구 정보 XML(eXtended Markup Language) 문서를 분석하여 모델링 도구 생성기에서 요구하는 모델링 도구 정보를 구성하는 것을 특징으로 하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치.An apparatus for generating a diagram modeling tool based on a MOF metamodel and a user requirement characterized by analyzing modeling tool information XML (eXtended Markup Language) document defined in the modeling tool definer to configure modeling tool information required by the modeling tool generator. . 제 5 항에 있어서, The method of claim 5, 상기 모델링 도구 생성기는 모델링 도구 정보 분석기에서 생성한 편집기 분석 정보를 이용하여 모델링 도구를 구성하는 모델, 뷰, 컨트롤러 코드를 사용자의 개입 없이 자동 생성하는 것을 특징으로 하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치.The modeling tool generator uses the editor analysis information generated by the modeling tool information analyzer to automatically generate models, views, and controller codes constituting the modeling tool without user intervention. Diagram modeling tool generation device. 제 5 항에 있어서,The method of claim 5, 상기 플러그인 생성기는 모델링 도구 생성기에서 생성한 모델링 도구의 코드를 통합 개발 환경에서 플러그인으로 사용될 수 있도록 상기 모델링 도구 정의기에서 작성된 모델링 도구 정보를 바탕으로 플러그인 정보를 추출하여 플러그인으로 패키징하여 통합 개발 환경에서 독립적인 모델링 도구로 사용될 수 있도록 지원하는 것을 특징으로 하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치.The plug-in generator extracts the plug-in information based on the modeling tool information created in the modeling tool definer so that the code of the modeling tool generated by the modeling tool generator can be used as a plug-in in the integrated development environment. A device for generating diagram modeling tools based on MOF metamodels and user requirements, which can be used as an independent modeling tool. MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 방법으로서,How to create a diagram modeling tool based on the MOF metamodel and user requirements. 사용자에 의해 모델링 도구 생성에 필요한 정보가 입력 및 선택되면 상기 입력 정보에 기반한 다이어그램 모델링 도구를 생성할 수 있는 모델링 도구 정보와 상기 모델링 도구 정보에 반영된 메타 모델 정보를 분석하는 단계와,Analyzing modeling tool information for generating a diagram modeling tool based on the input information and metamodel information reflected in the modeling tool information when information necessary for generating a modeling tool is input and selected by a user; 상기 분석되는 모델링 도구 정보와 메타 모델 정보를 바탕으로 다이어그램 모델링 도구의 코드를 생성하는 단계와,Generating code of a diagram modeling tool based on the analyzed modeling tool information and metamodel information; 상기 분석되는 메타 모델 정보를 바탕으로 다이어그램 모델링 도구에서 작성되는 모델을 관리하기 위한 모델 관리 API 코드를 생성하는 단계와,Generating model management API code for managing a model created by a diagram modeling tool based on the analyzed metamodel information; 상기 모델링 도구의 코드와 상기 모델 관리 API 코드 간의 중간 매개 역할을 하는 모델 관리 랩퍼 API를 생성하는 단계와,Generating a model management wrapper API that serves as an intermediate between the code of the modeling tool and the model management API code; 상기 생성된 다이어그램 모델링 도구와 모델 관리 API 코드에 대해 플러그인을 생성하는 단계와,Generating a plug-in for the generated diagram modeling tool and model management API code; 상기 생성된 모델링 도구의 플러그인을 저장소에 저장하는 단계Storing the plug-in of the generated modeling tool in a repository; 를 포함하는 MOF 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 방법.How to create a diagram modeling tool based on the MOF metamodel and user requirements.
KR1020030093667A 2003-12-19 2003-12-19 Method and apparatus for generating diagram modeling tools with user's customization requirements based on mof meta-models KR100609240B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030093667A KR100609240B1 (en) 2003-12-19 2003-12-19 Method and apparatus for generating diagram modeling tools with user's customization requirements based on mof meta-models

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030093667A KR100609240B1 (en) 2003-12-19 2003-12-19 Method and apparatus for generating diagram modeling tools with user's customization requirements based on mof meta-models

Publications (2)

Publication Number Publication Date
KR20050062005A KR20050062005A (en) 2005-06-23
KR100609240B1 true KR100609240B1 (en) 2006-08-04

Family

ID=37254268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030093667A KR100609240B1 (en) 2003-12-19 2003-12-19 Method and apparatus for generating diagram modeling tools with user's customization requirements based on mof meta-models

Country Status (1)

Country Link
KR (1) KR100609240B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101065270B1 (en) 2009-07-07 2011-09-16 비티에스테크놀로지스(주) Method of transfering timing diagram to stateflow
KR101178626B1 (en) 2010-12-29 2012-08-30 비티에스테크놀로지스(주) Timimg diagram description method and method of transfering timing diagram to stateflow

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484110B2 (en) 2006-03-16 2009-01-27 Microsoft Corporation Adaptive power management
CN116414376B (en) * 2023-03-01 2023-09-15 杭州华望系统科技有限公司 Domain meta-model construction method based on general modeling language

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101065270B1 (en) 2009-07-07 2011-09-16 비티에스테크놀로지스(주) Method of transfering timing diagram to stateflow
KR101178626B1 (en) 2010-12-29 2012-08-30 비티에스테크놀로지스(주) Timimg diagram description method and method of transfering timing diagram to stateflow

Also Published As

Publication number Publication date
KR20050062005A (en) 2005-06-23

Similar Documents

Publication Publication Date Title
Kolovos et al. The epsilon object language (EOL)
US6769095B1 (en) Hierarchically structured control information editor
Brown et al. Introduction: Models, modeling, and model-driven architecture (MDA)
US8566782B2 (en) Generating application data editors
Mens et al. Automating support for software evolution in UML
Pescador et al. Pattern-based development of domain-specific modelling languages
US20020120784A1 (en) Pluggable notations and semantics for visual modeling elements
Buchmann et al. Valkyrie: A UML-based Model-driven Environment for Model-driven Software Engineering.
Lumertz et al. User interfaces metamodel based on graphs
Wimmer et al. On the integration of web modeling languages: Preliminary results and future challenges
Jelinek et al. GUI generation from annotated source code
KR100609240B1 (en) Method and apparatus for generating diagram modeling tools with user&#39;s customization requirements based on mof meta-models
JP2007011507A (en) Display method of program tree and program generation system
Kalnins et al. Metamodel specialization for graphical language support
Rivero et al. Improving user involvement through a model-driven requirements approach
Åkesson et al. Jatte: A tunable tree editor for integrated DSLs
Fard et al. Visual and persistence behavior modeling for DEVS in CoSMoS.
Driessen UML class models as first-class citizen: Metadata at design-time and run-time
Hauptmann et al. Supporting derivation and customization of user interfaces in software product lines using the example of web applications
Naujokat Cinco User’s Manual
Barzdins et al. Metamodel Specialization for Graphical Language and Editor Definition.
WO2001008002A2 (en) Hierarchically structured control information editor
Liang et al. Compact and efficient modeling of GUI, events and behavior using UML and extended OCL
Rath et al. Declarative specification of domain specific visual languages
Dembri et al. Towards a Simplified Evaluation of Graphical DSL Workbenches

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
LAPS Lapse due to unpaid annual fee