KR100576941B1 - Metamodel-based model transformation apparatus - Google Patents

Metamodel-based model transformation apparatus Download PDF

Info

Publication number
KR100576941B1
KR100576941B1 KR1020030094804A KR20030094804A KR100576941B1 KR 100576941 B1 KR100576941 B1 KR 100576941B1 KR 1020030094804 A KR1020030094804 A KR 1020030094804A KR 20030094804 A KR20030094804 A KR 20030094804A KR 100576941 B1 KR100576941 B1 KR 100576941B1
Authority
KR
South Korea
Prior art keywords
model
transformation
metamodel
rule
conversion
Prior art date
Application number
KR1020030094804A
Other languages
Korean (ko)
Other versions
KR20050063404A (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 KR1020030094804A priority Critical patent/KR100576941B1/en
Publication of KR20050063404A publication Critical patent/KR20050063404A/en
Application granted granted Critical
Publication of KR100576941B1 publication Critical patent/KR100576941B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 소프트웨어 시스템의 모델 기반 개발(Model-Driven Development: MDD)을 원활히 지원하기 위하여 플랫폼에 독립적으로 설계된 모델을 원하는 플랫폼에 종속적인 모델로 변환하는 기법 및 시스템에 관한 것이다. The present invention relates to a technique and system for converting a model that is designed independently of a platform into a model-dependent model in order to smoothly support model-driven development (MDD) of a software system.

즉, 본 발명은 플랫폼에 독립적인 모델(Platform Independent Model: PIM)을 다양한 플랫폼 종속 모델(Platform Specific Model: PSM)로 자동 변환하기 위하여 메타모델 기반의 모델 변환 규칙 정의방법과, 모델 변환의 전체 프로세스와, 정의된 변환 규칙 메타모델과 변환 프로세스를 지원하여 플랫폼 종속 모델을 생성하는 모델 변환 시스템의 구조를 제공한다. 이에 따라 개발자는 플랫폼에 독립적인 모델을 원하는 플랫폼에 맞게 변환될 수 있도록 변환 규칙 메타모델을 기반으로 변환 규칙 인스턴스를 비쥬얼하게 정의할 수 있으며, 모델 변환 시스템을 이용하여 개발자가 정의한 변환 규칙 인스턴스에 맞게 플랫폼에 종속적인 모델을 자동 생성할 수 있다. That is, the present invention provides a method of defining a model transformation rule based on metamodels and an overall process of model transformation in order to automatically convert a platform independent model (PIM) into various platform specific models (PSM). And, it supports the defined transformation rule metamodel and transformation process to provide the structure of model transformation system to generate platform dependent model. This allows the developer to visually define transformation rule instances based on the transformation rule metamodel so that the platform-independent model can be transformed to suit the desired platform. Automatically generate platform-dependent models.

모델 변환, 모델 기반 개발, 플랫폼 독립적인 모델, 플랫폼 종속적인 모델, 메타모델Model transformation, model based development, platform independent model, platform dependent model, metamodel

Description

메타모델에 기반한 모델 변환 지원 시스템{METAMODEL-BASED MODEL TRANSFORMATION APPARATUS}Model transformation support system based on metamodels {METAMODEL-BASED MODEL TRANSFORMATION APPARATUS}

도 1은 본 발명의 실시 예에 따른 MOF 메타데이터 구조도,1 is a structure diagram of a MOF metadata according to an embodiment of the present invention;

도 2는 본 발명의 실시 예에 따른 모델 변환 처리 개념도,2 is a conceptual diagram of model transformation processing according to an embodiment of the present invention;

도 3은 본 발명의 실시 예에 따른 변환 규칙을 이용하여 PIM을 PSM으로 변환하는 처리 흐름도,3 is a flowchart illustrating a process of converting a PIM into a PSM using a conversion rule according to an embodiment of the present invention;

도 4는 본 발명의 실시 예에 따른 M2레벨의 변환 규칙 메타모델 구조도,4 is a structural diagram of a transformation rule metamodel of an M2 level according to an embodiment of the present invention;

도 5는 본 발명의 실시 예에 따른 변환규칙의 메타모델과 변환프로세스를 지원하는 변환 시스템 구성도.5 is a configuration diagram of a conversion system supporting a metamodel and a conversion process of a conversion rule according to an embodiment of the present invention.

본 발명은 모델 기반의 소프트웨어 시스템에 관한 것으로, 특히 소프트웨어 시스템의 모델 기반 개발(Model-Driven Development: MDD)을 원활히 지원하기 위하여 플랫폼에 독립적으로 설계된 모델을 원하는 플랫폼에 종속적인 모델로 변환하는 시스템 및 방법에 관한 것이다. The present invention relates to a model-based software system, and in particular, a system for converting a model that is designed independent of the platform to a model-dependent model to smoothly support model-driven development (MDD) of the software system; It is about a method.

소프트웨어 시스템을 개발함에 있어 시스템 통합과 개발 기술간의 상호 운용 성(Interoperability)은 다양한 미들웨어 플랫폼의 사용과 단일 인터페이스 사용의 부재로 인하여 여전히 어려움을 겪고 있다. 한편, 모델 기반의 개발에서는 소프트웨어 시스템을 플랫폼에 독립적인 모델(Platform Independent Model: PIM)과 플랫폼에 종속적인 모델(Platform Specific Model: PSM)로 나누어 개발함으로써 이를 해결한다. In developing software systems, interoperability between system integration and development technologies still suffers from the use of various middleware platforms and the absence of a single interface. In the model-based development, the software system is solved by dividing the software system into a platform independent model (PIM) and a platform specific model (PSM).

상기 모델 기반 소프트웨어 시스템에서는 시스템의 설계와 명세를 플랫폼과 분리하여 기술하고, 실제 구현과 관련된 모델은 매핑을 통해서 얻어내는 방법을 사용함으로써, 플랫폼에 독립적인 모델을 다양한 플랫폼에 맞게 재 사용할 수 있도록 한다. 즉, 분석정보로부터 설계된 플랫폼 독립적인 모델은 특정 플랫폼(예: J2EE, .Net, CORBA)의 정보를 가지고 있지 않기 때문에 플랫폼에 상관없이 시스템을 모델링하는데 재 사용될 수 있다. In the model-based software system, the design and specification of the system are described separately from the platform, and the model related to the actual implementation is obtained through mapping, so that the platform-independent model can be reused for various platforms. . In other words, the platform-independent model designed from the analysis information can be reused to model the system regardless of platform because it does not have the information of a specific platform (eg J2EE, .Net, CORBA).

이러한 기술은 PIM과 PSM간의 모델 변환 기법(Model Transformation Method)을 통하여 실현되는데 하나의 PIM을 여러 개의 PSM으로 변환시키기 위해서는 특정 플랫폼에 맞는 정보를 표현하는 PSM을 생성하는 모델 변환 기능이 필요하다. 기존의 소프트웨어 시스템 개발에서는 설계단계부터 특정 플랫폼에 맞게 모델을 설계하고 이를 코드로 생성하였으나, 모델 기반의 개발에서는 PIM을 PSM으로 변환하는 모델 변환 시스템을 통하여 입력으로 들어온 모델에 대하여 원하는 플랫폼의 출력 모델을 생성하고 이를 바탕으로 코드를 생성함으로써 설계 모델의 재사용을 가능하게 한다. 즉, 모델 기반의 소프트웨어 시스템 개발은 설계 모델에 대한 재 사용성을 증대시켜, 이를 다양한 플랫폼에 맞는 구현으로 코드를 자동 생성하는 것을 목표로 한다. 이를 위해서는 다양한 모델들의 기본 구조를 마련하는 메타모델이 정의되어 있어야 하고, 이를 기반으로 설계 모델 및 플랫폼 모델이 확장 정의되어야 한다.Such a technique is realized through a model transformation method between PIM and PSM. In order to convert one PIM into several PSMs, a model transformation function for generating a PSM representing information for a specific platform is required. In the existing software system development, a model was designed for a specific platform from the design stage and generated as a code.However, in model-based development, an output model of a desired platform for a model inputted through a model conversion system converting a PIM into a PSM. By creating the code and generating the code based on it, the design model can be reused. That is, model-based software system development aims to increase the reusability of the design model, and to automatically generate code with implementations for various platforms. To this end, a metamodel that defines the basic structure of various models should be defined, and the design model and platform model should be extended and defined based on this.

소프트웨어 시스템 개발의 분석 및 설계 시에 많이 사용되고 있는 UML(Unified Modeling Language)은 MOF(Meta Object Facility)를 기본으로 일반적인 모델링을 지원하는 메타모델 구조를 갖는다. MOF는 OMG(Object Management Group)에서 제안한 것으로 가장 기본적인 모델 구조를 제안한 것이다. 이를 이용하여 UML 메타모델이나 다양한 기술들을 표현하는 메타모델의 확장 정의가 가능하고 정의된 메타모델들 사이의 상호 동작 및 접근이 가능하다. MOF에 기반한 메타모델들은 MOF 저장소에서 관리되며 모델의 접근을 용이하게 하는 인터페이스를 생성한다. 모델 기반의 개발에서는 PIM이나 PSM 설계를 위한 메타모델 구조를 MOF 기반으로 정의하고, 이들을 관리하는 저장소의 접근 및 상호동작이 가능하므로, 모델간의 매핑 규칙 정의를 통하여 원하는 플랫폼 모델을 얻어낼 수 있다. UML (Unified Modeling Language), which is widely used in analysis and design of software system development, has a metamodel structure that supports general modeling based on the Meta Object Facility (MOF). MOF was proposed by the OMG (Object Management Group) and suggested the most basic model structure. By using this, the UML metamodel or metamodel that expresses various technologies can be defined and extended, and the interaction and access between the defined metamodels is possible. Metamodels based on MOF are managed in the MOF repository and create interfaces that facilitate model access. In model-based development, the metamodel structure for PIM or PSM design can be defined based on MOF, and the repository that manages them can be accessed and interacted with. Therefore, the desired platform model can be obtained by defining mapping rules between models.

이때 모든 소프트웨어 시스템 모델을 메타모델에 기반하여 모델링 하듯이, 모델의 변환 규칙 또한 메타모델, 즉 변환 규칙에 대한 추상화된 구조의 표현을 기반으로 정의할 수 있다. 메타모델에 기반하여 정의된 변환 규칙 또한 MOF저장소에 저장되어 관리되면 다른 메타모델들과 상호 동작할 수 있게 되어 모델변환을 쉽게 지원할 수 있다. 또한, 추상화된 구조를 가지고 변환 규칙을 정의하면, 변환 규칙의 정형화된 명세를 가질 수 있어 변환 규칙을 쉽게 검증할 수 있고, 단순한 변환 규칙뿐 만 아니라 복잡한 규칙을 정의하기 위한 확장이 용이하다. 그러나 지금까지 MOF를 기반으로 소프트웨어 시스템 모델을 표현하는 표준은 많이 제안되었으나, 모 델 기반 개발의 가장 중요한 요소인 모델 변환 규칙과 관련된 메타모델은 아직까지 연구가 활발히 진행되지 못했다. In this case, as all software system models are modeled based on the metamodel, the transformation rules of the model can be defined based on the metamodel, that is, the abstract structure of the transformation rules. Conversion rules defined based on metamodels are also stored and managed in the MOF repository so that they can easily interact with other metamodels to support model transformation. In addition, by defining transformation rules with an abstracted structure, you can have a formal specification of the transformation rules so that you can easily verify the transformation rules and extend them to define complex rules as well as simple transformation rules. However, many standards have been proposed to express software system models based on MOF. However, metamodels related to model transformation rules, the most important element of model-based development, have not been actively studied.

즉, 지금까지의 소프트웨어 개발은 모델의 재사용보다는 코드의 재사용에 초점을 맞추어 연구가 진행되었기 때문에 데이터나 코드의 구조를 통일하려는 노력은 있었으나 설계 모델의 구조를 재사용하기 위하여 모델의 메타모델을 통일하고 이들간의 변환 규칙을 메타모델에 기반하여 표현하여 모델을 변환하는 노력은 거의 없었으며, 모델 기반의 개발을 지원하기 위한 변환 메타모델의 정의방법에 대한 연구는 현재 진행 중에 있다. In other words, until now, software development has been focused on code reuse rather than model reuse. Therefore, efforts have been made to unify the structure of data and code. There has been little effort to transform models by expressing the transformation rules between them based on metamodels, and research on how to define transform metamodels to support model-based development is currently underway.

한편, 이미 OMG에서 제안한 CWM(Common Warehouse Metamodel)은 Transformation이란 명세를 정의하고 있으나, 간단한 모델에 대한 변환규칙만을 규정하도록 정의되어 있고, 상세한 정의정보에 대해서는 언급이 없으며, 실제 개발자들이 변환규칙을 적용하여 변환을 수행할 때 따르는 모델 변환의 절차(Process)와 이를 지원하는 시스템의 구조에 대한 연구결과가 거의 없다. On the other hand, the Common Warehouse Metamodel (CWM), already proposed by OMG, defines a specification called Transformation, but it is defined to define only transformation rules for simple models, and there is no mention of detailed definition information, and actual developers apply transformation rules. There is little research on the process of model transformation and the structure of the system that supports it.

따라서 모델 기반 개발에 의한 소프트웨어 시스템 개발을 지원하기 위해서는 PIM을 다양한 PSM으로 변환하는 변환규칙에 대한 메타모델의 정의와 이를 바탕으로 한 변환규칙의 정의방법, PIM에서 PSM을 자동 생성할 수 있는 프로세스 및 지원 시스템에 대한 정의가 필요하였다. Therefore, in order to support software system development by model-based development, it is necessary to define the metamodel of the conversion rule that converts PIM into various PSMs, the method of defining the conversion rule based on this method, the process of automatically generating PSM from PIM, and A definition of the support system was needed.

또한 종래 기술은 모델의 재사용보다는 데이터나 코드의 재사용에 초점을 맞추어 데이터를 추상구조를 생성하고 이를 따르는 다양한 포멧으로 실제 데이터를 생성하는 연구가 많았다. 그러나, 데이터나 코드뿐 만 아니라, 시스템 설계시 사용 되었던 모델을 재사용하기 위해서는 설계하는 모델에 대한 강력한 메타모델이 정의되어 있어야 하고, 모델들간의 변환을 지원하는 변환규칙의 메타모델 또한 필요하다. 변환 규칙에 대한 메타모델을 정의할 때에는 이것이 도구로 개발되었을 때 사용성(Usability)를 높일 수 있고 변환 규칙의 표현이 강력하도록 정의해야 한다. In addition, the prior art has focused on the reuse of data or code rather than the reuse of models to generate abstract data and to generate actual data in various formats. However, in order to reuse not only data or code but also the model used in system design, a powerful metamodel for the model to be designed must be defined, and a metamodel of transformation rules to support the conversion between models is also required. When defining metamodels for transformation rules, they should be defined so that they can increase usability when developed as a tool, and the representation of transformation rules is strong.

Biju Appukuttan, Tony Clark, Sreedhar Reddy, Laurence Tratt, and R. Venkatesh의 논문, A model driven approach to building implementable model transformations은 모델 기반의 개발을 지원하기 위하여 패턴매칭을 지원하는 MTL(Model Transformation Language)를 이용한 모델 조작과 변환 기법을 제안하였다. 상기 MTL은 모델 요소들이 메타모델의 패턴을 기반으로 매칭되는 것을 지원하며, Relation과 Mapping을 정의하여 변환을 수행하도록 한다. 또한 Mapping은 Action 부분을 가지고 있어서 변환의 실제 구현을 담고 있다. 그러나 MTL로 정의한 변환 규칙은 소스 모델의 각 해당 요소에 대한 변환 규칙은 표현하고 있으나, 두 개 이상의 소스 모델 요소들의 관계에 대한 목적 모델로의 변환은 지원하지 않는다. 또한 하나의 소스 모델 요소가 여러 개의 목적 모델 요소들로 변환될 때, 그것들 사이의 관계가 명시적으로 정의되지 않는다. MTL이 모델 변환 규칙을 정의하는 표현 능력은 뛰어나나 규칙을 정의할 때 복잡해질 수도 있으므로 MTL을 이용한 변환 규칙 정의는 많은 노력을 필요로 한다. A paper by Biju Appukuttan, Tony Clark, Sreedhar Reddy, Laurence Tratt, and R. Venkatesh, A model driven approach to building implementable model transformations uses MTL (Model Transformation Language) to support pattern matching to support model-based development. We proposed a model manipulation and transformation technique. The MTL supports model elements to be matched based on the metamodel pattern, and defines relation and mapping to perform transformation. Mapping also has an Action part, which contains the actual implementation of the transformation. However, the conversion rule defined by MTL expresses the conversion rule for each corresponding element of the source model, but does not support conversion to the destination model for the relationship between two or more source model elements. In addition, when a source model element is converted into several object model elements, the relationship between them is not explicitly defined. MTL has a good expressive ability to define model transformation rules, but it can be complicated when defining rules.

따라서, 본 발명의 목적은 모델 기반의 개발시 가장 중요한 기술인 모델간의 자동변환을 지원하기 위하여 변환 규칙을 정의할 수 있는 메타모델을 정의하고, 이 를 이용할 수 있는 시스템의 구조와 개발 절차를 제공함에 있다.Accordingly, an object of the present invention is to define a metamodel that can define a conversion rule in order to support automatic conversion between models, which is the most important technology in model-based development, and to provide a system structure and a development procedure that can use the same. have.

또한 본 발명의 다른 목적은 이러한 어려움을 극복하기 위하여, MOF 기반의 변환 메타모델을 정의하며, 모델 요소들간의 1:1 의 단순한 모델 매핑 뿐만 아니라, 1:N의 다중 매핑도 지원하고, 모델 요소들 간의 관계도 명시적으로 매핑할 수 있는 변환 구조를 제공함에 있다. In addition, another object of the present invention, to overcome this difficulty, to define a transform metamodel based on the MOF, and to support 1: N multiple mapping as well as simple model mapping between model elements, model elements The relationship between them is also provided to provide a transformation structure that can be explicitly mapped.

또한 본 발명의 다른 목적은 메타모델간의 매핑만을 고려하면 구현 코드와 거의 1:1 매핑될 수 있는 PSM모델의 표현요소들이 누락될 수 있으므로, 완벽한 PSM이 나오도록 메타모델을 기반으로 정의된 모델 인스턴스까지 고려하여 매핑하는 템플릿 기반의 변환 구조를 제공하며, 정의된 변환 모델을 실제 개발자들이 시각적으로 쉽게 작성할 수 있도록 지원하는 시스템의 구조와 개발하는 소프트웨어 시스템의 모델 변환을 수행하는 절차를 제공함에 있다.In addition, another object of the present invention may be missing representation elements of the PSM model that can be mapped almost 1: 1 with the implementation code, considering only the mapping between metamodels, model instances defined based on the metamodel to produce a complete PSM It provides a template-based transformation structure that maps to the point of consideration, and provides a procedure for performing model transformation of the developing software system and the structure of the system supporting the actual developer to easily create the defined transformation model.

상기 목적을 달성하기 위한 본 발명의 특징은, 모델들간의 변환규칙을 정의할 수 있는 변환구조의 메타모델을 제안함으로써, 일대일 매핑, 일대다 매핑, 모델 요소들간의 관계 매핑을 지원하고, 변환하고자 하는 모델의 인스턴스까지 매핑하여 모델을 자동으로 변환할 수 있도록 하며, 이를 위한 모델 변환 절차 및 지원 시스템을 제안함으로써, 모델 기반의 소프트웨어 시스템 개발의 장점인 모델 자동 생성과 개발 시간 단축을 실현하는 것을 특징으로 한다.A feature of the present invention for achieving the above object is to support a one-to-one mapping, one-to-many mapping, relationship mapping between model elements and to transform by proposing a metamodel of a transformation structure that can define the transformation rules between models The model can be automatically converted by mapping to the instance of the model to be modeled, and the model conversion procedure and supporting system are proposed to realize the model automatic generation and the reduction of development time, which are advantages of the model-based software system development. It is done.

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

도 1은 본 발명의 실시 예에 따른 MOF 메타데이터 구조를 도시한 것이다. 상기 도 1을 참조하면, 모델 기반의 소프트웨어 시스템 개발은 모델을 MOF 메타데이터 아키텍쳐(MOF Metadata Architecture)에 의하여 구분하고 이를 기반으로 시스템 모델링 및 모델 변환을 수행한다. MOF 메타데이타 아키텍쳐는 4-layer의 메타데이터 아키텍쳐를 따르며, 이를 M0에서 M3 레벨까지의 모델로 구분한다. M0는 실제 구현하는 데이터를 의미하며, M1은 데이터를 표현하는 메타데이터로 모델이라고 한다. M2는 모델의 의미 및 구조를 표현하는 메타모델을 의미하며, M3는 이러한 메타모델의 의미 및 구조를 의미하는 메타-메타모델을 의미하며 이러한 메타 구조는 계속적으로 정의될 수 있다. M3 레벨 이상의 메타구조는 모두 M3 레벨로 표현한다.1 illustrates a MOF metadata structure according to an embodiment of the present invention. Referring to FIG. 1, a model-based software system development classifies a model by a MOF metadata architecture and performs system modeling and model transformation based on the model. The MOF metadata architecture follows the 4-layer metadata architecture and divides it into models from M0 to M3 levels. M0 means data to be actually implemented, and M1 is metadata representing data and is called a model. M2 means a metamodel expressing the meaning and structure of the model, and M3 means a meta-metamodel meaning the meaning and structure of this metamodel, and this metastructure may be continuously defined. Meta structures above the M3 level are all represented at the M3 level.

모델 기반의 소프트웨어 시스템 개발방법에서는 원하는 도메인마다 M2 레벨의 UML 메타모델을 M3 레벨의 MOF를 기반으로 확장하여 표현한다. 예를 들어, J2EE(Java 2 Enterprise Edition) 플랫폼을 도메인으로 정하여 서버 레벨의 컴포넌트들을 EJB(Enterprise JavaBeans)로 개발한다면, EJB 모델을 UML로 표현할 때 EJB의 특정 속성들을 표현할 수 있어야 한다. 기존의 UML 메타모델을 확장하여 각 도메인에 맞는 메타모델을 정의한 것이 UML Profile이다. MOF를 기반으로 정의된 UML 메타모델 및 UML Profile들을 이용한 모델 기반의 개발은 M2 레벨의 메타모델 요소들간의 변환 규칙을 정의하고 정의된 규칙에 따라 자동으로 모델을 변환한다. 그러나, M2 레벨의 메타모델들간의 변환 규칙이 일대일 매핑의 간단한 매핑만 있는 것은 아니다. 소스 모델의 요소가 조건에 따라 목적 모델의 다양한 요소에 매핑될 수도 있다. 또한, M2 레벨의 모델 매핑이 두 모델간의 모델 변환을 완전하게 지원 하지 않는 경우가 있다. 예를 들어, UML을 따르는 기본 분석모델을 J2EE 플랫폼의 PSM으로 변환할 때, 소스 모델에 정의되어 있는 M2 레벨의 Entity Class가 목적 모델의 M2 레벨과 M1 레벨에 정의되어 있는 EntityBean의 기본 클래스들과 그 내부의 오퍼레이션들의 생성에 모두 관여할 수 있다. 여기서 생성되는 오퍼레이션들은 M2레벨에서는 단일한 Method 라는 메타모델 요소로 표현되지만, M1 레벨에서는 다양한 오퍼레이션으로 정의된다. 따라서, 모델간의 완전한 변환을 지원하기 위해서는 모델의 레벨과 매핑의 종류를 모두 고려하여 정의할 수 있는 변환 모델의 구조가 필요하다. In the model-based software system development method, M2 level UML metamodel is extended and expressed based on M3 level MOF for each domain. For example, if you develop a Java 2 Enterprise Edition (J2EE) platform as a domain and develop server-level components as Enterprise JavaBeans (EJBs), you must be able to express the EJB's specific attributes when you express the EJB model in UML. The UML Profile defines the metamodel for each domain by extending the existing UML metamodel. Model-based development using the UML metamodel and UML profiles defined based on MOF defines the conversion rules between metamodel elements at the M2 level and automatically converts the model according to the defined rules. However, the conversion rule between M2 level metamodels is not just a simple mapping of one-to-one mapping. Elements of the source model may be mapped to various elements of the target model depending on conditions. In addition, model mapping at the M2 level may not fully support model transformation between two models. For example, when converting a UML-compliant analytic model to a PSM on the J2EE platform, the M2 level entity class defined in the source model and the EntityBean base classes defined at the M2 and M1 levels of the target model. It can all participate in the creation of operations within it. The operations created here are represented by a single metamodel element called Method at the M2 level, but are defined as various operations at the M1 level. Therefore, in order to support complete conversion between models, a structure of a conversion model that can be defined in consideration of both the level of the model and the type of mapping is required.

도 2는 본 발명의 실시 예에 따른 모델 변환 개념을 도시한 것이다. 상기 도 2를 참조하면, 소스 모델과 목적 모델은 M2레벨의 메타 모델을 가지고 있다. M1 레벨의 소스 모델은 M2 레벨의 메타모델을 기반으로 편집기를 통하여 모델링되며, 이는 정의된 변환규칙을 따라 동작하는 변환엔진에 의하여 변환된다. M1 레벨의 변환 규칙은 M2 레벨의 변환 메타 모델을 기반으로 정의되며, 변환 메타 모델은 M2레벨의 소스 메타 모델이 target 플랫폼에 다양하게 매핑하고, 플랫폼에 종속적인 정보도 매핑시 고려될 수 있도록 목적 모델을 템플릿 구조로 정의할 수 있도록 한다. 따라서 M1레벨의 변환 규칙은 M2 레벨의 소스 메타모델의 요소들(예를 들어, Classifier나 Feature)을 target 플랫폼의 요소들과 매핑시키며, 이때에는 target 플랫폼의 메타모델(M2)뿐만 아니라, M1 레벨의 특정 모델 요소까지도 고려하여 변환 규칙을 정의할 수 있다. 정의된 변환규칙은 변환 엔진의 입력으로 들어가 모델링한 소스 모델을 목적 모델로 변환한다. 2 illustrates a model transformation concept according to an embodiment of the present invention. Referring to FIG. 2, the source model and the target model have a meta model of M2 level. The source model at M1 level is modeled through the editor based on the M2 level metamodel, which is converted by the conversion engine operating according to the defined conversion rules. M1 level transformation rules are defined based on the M2 level transformation metamodel, and the transformation metamodel is intended to allow the source metamodels of the M2 level to be mapped to the target platform in a variety of ways, and platform-dependent information can be considered in mapping. Allows you to define a model with a template structure. Therefore, the M1 level conversion rule maps elements of the source metamodel of the M2 level (for example, classifier or feature) with elements of the target platform, and in this case, not only the metamodel (M2) of the target platform, but also the M1 level. You can even define transformation rules by considering specific model elements of. The defined conversion rule enters the input of the conversion engine and converts the modeled source model into the destination model.

도 3은 변환규칙을 정의하고 정의된 변환규칙을 이용하여 PIM을 PSM으로 변환하는 전체 프로세스를 도시한 것이다. Figure 3 shows the overall process of defining a conversion rule and converting PIM to PSM using the defined conversion rule.

상기 도 3을 참조하면, 변환의 프로세스는 변환 규칙을 정의하는 프로세스(301)와 정의된 변환규칙을 이용하여 모델을 변환(302)하는 두 개의 부분으로 나눌 수 있다. 도 3의 (301)에 나타난 변환 규칙을 정의하는 프로세스는 시스템 개발 이전에 개발하는 도메인을 정하고, 정해진 도메인간의 모델 변환 규칙을 정의하여 모델 저장소(Model Repository)에 변환 규칙 모델을 저장한다. 도메인은 개발 플랫폼 도메인인 J2EE(Java 2 Enterprise Edition), .NET, CORBA(Common Object Request Broker Architecture)와 같은 PSM 도메인이나, 분산 엔터프라이즈 시스템 분석시 사용되는 EDOC(Enterprise Distributed Object Computing)과 같은 PIM 도메인을 모두 포함한다. 변환 규칙은 본 발명에서 제안하는 변환 규칙 정의 편집기를 이용하여 정의되며, 변환하는 모델 도메인의 모델요소들을 편집 대상으로 하여 변환 규칙을 정의할 수 있다. 정의하는 변환 규칙은 소스메타모델 요소가 목적 모델에 어떻게 매핑되는지를 정의한다. 정의된 변환 규칙은 모델 저장소에 변환 모델로 저장된다. 도 3의 (302)는 정의된 변환 규칙 모델을 기반으로 실제 소프트웨어 시스템을 개발하는 프로세스를 의미한다. 플랫폼에 독립적인 정보를 모델링하는 PIM은 (301)에서 정의한 변환 규칙 모델과 함께 변환 엔진의 입력으로 들어가 선택한 PSM 도메인에 맞는 모델로 변환된다. Referring to FIG. 3, the process of transformation may be divided into two parts, a process 301 of defining a transformation rule and a transformation 302 of a model using the defined transformation rule. The process of defining a conversion rule shown in 301 of FIG. 3 defines a domain to be developed before system development, defines a model conversion rule between defined domains, and stores the conversion rule model in a Model Repository. A domain can be a PSM domain such as Java 2 Enterprise Edition (J2EE), .NET, or Common Object Request Broker Architecture (CORBA), a development platform domain, or a PIM domain such as Enterprise Distributed Object Computing (EDOC), which is used when analyzing distributed enterprise systems. It includes everything. The conversion rule is defined using the conversion rule definition editor proposed in the present invention, and the conversion rule may be defined by editing the model elements of the model domain to be converted. The transformation rule you define defines how the source metamodel elements are mapped to the target model. Defined transformation rules are stored as transformation models in the model repository. Reference numeral 302 of FIG. 3 refers to a process of developing an actual software system based on the defined conversion rule model. The PIM, which models platform-independent information, enters the input of the transformation engine along with the transformation rule model defined at 301 and is converted into a model suitable for the selected PSM domain.

도 4는 M2 레벨의 변환 규칙 메타모델의 구조를 도시한 것으로, 상기 도 4를 참조하면, 변환 규칙 모델의 구조는 모든 모델이 그러하듯이 MOF를 기반으로 정의 되며, M2 레벨의 메타모델간의 변환규칙과 M1 레벨의 특정 모델 요소로의 변환규칙을 정의할 수 있도록 지원하여 해당 플랫폼 모델로 변환하기 위한 변환 규칙을 모두 정의할 수 있다. FIG. 4 illustrates the structure of the M2 level transformation rule metamodel. Referring to FIG. 4, the structure of the transformation rule model is defined based on the MOF as all models are. By supporting the definition of rules and transformation rules to specific model elements at the M1 level, both transformation rules for transformation to the platform model can be defined.

(401)은 변환 모델 구조의 최상위 노드로서 변환의 시작을 알리는 변환맵(TransformationMap)이다. TransformationMap(401)은 하위의 다양한 Map을 관리하고 있어서 하위의 변환 규칙을 변환엔진이 정의된 Map에 따라 적용할 수 있도록 한다. 변환하고자 하는 모델의 메타모델을 분류(Classifier)와 속성(Feature)으로 나누어 각각 어떻게 매핑이 되고 이들간의 관계가 어떻게 매핑되는지 정의된 Map을 관리한다. Reference numeral 401 is a transformation map indicating a start of transformation as a top node of a transformation model structure. The TransformationMap 401 manages various maps of the lower level so that the lower level transformation rule can be applied according to the defined map of the transformation engine. The metamodel of the model to be converted is divided into classifiers and properties to manage the maps that define how they are mapped and how the relationships between them are mapped.

(402)는 메타모델의 구성요소인 Classifier의 변환규칙을 정의하는 Map을 나타낸다. 분류맵(ClassifierMap)(402)은 Classifier 타입의 소스모델이 목적 모델로 변환될 때 어떻게 변환되는지를 기술한다. 본 발명에서 제안하는 ClassifierMap은 조건(Condition)에 따라 타겟(target) 요소를 결정하며, target은 특정 플랫폼의 속성을 반영한 모델의 요소까지 표현할 수 있도록 한다. 더구나, PIM을 PSM으로 변환하는 규칙을 정의할 때에는 구현 레벨의 상세한 정보까지도 생성될 수 있어야 하므로, 소스에 대한 목적 모델의 변환 규칙을 정의할 때에는 M2 레벨의 메타모델만을 고려하는 것이 아니라, 목적 모델의 M1 레벨 모델 요소까지 고려하여 변환 규칙의 정의가 가능해야 한다. Reference numeral 402 denotes a Map that defines a conversion rule of a classifier that is a component of the metamodel. Classifier Map 402 describes how the source model of the Classifier type is converted when converted to the destination model. The ClassifierMap proposed in the present invention determines a target element according to a condition, and the target can represent an element of a model that reflects the property of a specific platform. In addition, when defining the rules for converting PIM to PSM, detailed information of the implementation level should be generated. Therefore, when defining the conversion rule of the destination model for the source, the destination model is not considered. It should be possible to define the conversion rule considering the M1 level model element of.

이를 지원하기 위하여, 본 발명은 매핑된 목적 모델의 요소를 나타내는 템플릿(Template) 구조를 정의하고 Template을 구성하는 Object들과 이들간의 관계를 표현하는 Link를 정의할 수 있도록 한다. ClassifierMap(402)은 Classifier 타입의 소스 메타 모델이 목적 모델에 적용되었을 때 변환되는 모델요소를 Template 구조로 나타낸다. 이러한 TargetTemplate은 오브젝트(Object)들과 이들간의 관계를 나타내는 링크(Link)들로 구성되어 매핑 엔진이 목적 모델을 생성할 수 있는 기본 정보를 제공한다. In order to support this, the present invention allows to define a template structure representing the elements of the mapped objective model and to define links representing the objects and the relationships between them. The ClassifierMap 402 represents a model element that is converted when the source metamodel of the Classifier type is applied to the target model in a template structure. The TargetTemplate is composed of Objects and Links that represent them, providing basic information for the mapping engine to create an object model.

(403)은 메타모델의 구성요소인 속성(Feature)의 변환규칙을 정의하는 Map을 나타낸다. 각 Classifier는 Feature를 속성으로 가지고 있어서, 소스 모델의 Feature가 목적 모델에 매핑되었을 때 어떠한 type의 feature로 생성되는지 정의한다. 이때 하나 이상의 feature가 변환 시 새로운 type의 feature로 정의될 수 있는 구조를 갖는다. (404)는 소스 모델에서 Classifier들간의 관계가 목적 모델의 Object들간의 관계로 표현될 때 이를 정의하는 Map을 나타낸다. Classifier들의 관계를 조건으로 검사하여 이에 영향을 받는 target object들을 식별하고 이들간의 관계를 정의한다. Reference numeral 403 denotes a map that defines a conversion rule of a feature that is a component of the metamodel. Each classifier has a feature as an attribute, which defines what type of feature is created when the feature of the source model is mapped to the target model. At this time, one or more features have a structure that can be defined as a new type of feature when converted. 404 represents a Map that defines the relationship between the Classifiers in the source model when it is expressed as the relationship between the objects in the object model. It examines the relationship between classifiers and identifies target objects affected by this and defines the relationship between them.

관계맵(RelationMap)(404)의 조건은 모델요소들간의 관계를 표현하는 네가지 패턴을 지원하며, 이는 'Depends', 'Contains', 'AttributeOf', 'MethodOf' 이다. 'Depends'는 object와 object 사이의 dependency 관계를 표현하며 'Contains' 관계는 Package와 Class관계와 같은 포함관계를 정의한다. 'AttributeOf'와 'MethodOf'의 관계는 서로 다른 TargetTemplate의 object들간의 관계가 속성이나 메소드의 관계로 표현될 때 이용한다. The condition of the relation map 404 supports four patterns representing the relationship between model elements, which are 'Depends', 'Contains', 'AttributeOf' and 'MethodOf'. 'Depends' expresses the dependency relationship between object and object and 'Contains' relationship defines containment relationship such as Package and Class relationship. The relationship between 'AttributeOf' and 'MethodOf' is used when the relationship between objects of different TargetTemplates is expressed as a property or method relationship.

(405)는 모델 변환시 정의하는 수행 함수에 대한 표현이다. ClassifierMap(402)이나 FeatureMap(403)에서 정의한 TargetTemplate과 Feature에 대하여 이를 생성하는 절차를 Action들의 집합으로 표현하거나, RelationMap(404)에서 관련된 Object들을 연결시키는 절차를 Action들의 집합으로 표현한다. (406)은 모델 변환시 정의하는 조건에 대한 표현이다. ClassifierMap(402)에서는 변환하고자 하는 소스 Classifier의 속성 값을 검사하여 적절한 Target Template으로 구현하게 하며, RelationMap(404)에서는 소스 Classifier들의 관계를 검사하여 이에 타당한 target object들의 관계를 나타낸다. Reference numeral 405 is a representation of a performance function defined during model transformation. The procedure for creating this for TargetTemplate and Feature defined in ClassifierMap 402 or FeatureMap 403 is expressed as a set of Actions, or the procedure for connecting related objects in RelationMap 404 is expressed as a set of Actions. 406 is a representation of a condition defined during model transformation. ClassifierMap 402 examines the property value of the source classifier to be converted and implements it as an appropriate target template. In RelationMap 404, the relationship between the source classifiers is examined and the relation between the corresponding target objects is shown.

도 5는 상기 도 4에서 정의한 변환규칙의 메타모델과 도 3에서 정의한 변환 프로세스를 지원하는 변환 시스템의 구조도이다. 상기 도 5를 참조하면, 모델 기반의 개발을 지원하는 시스템은 모델들을 위한 저장소가 잘 관리되어야 하며 모델들간의 자동변환을 지원하는 변환 엔진이 있어야 한다. 변환 시스템의 필수 요소는 모델 저장소(501), 변환 규칙 정의 편집기(502), 변환 엔진(503)이다. FIG. 5 is a structural diagram of a transformation system supporting the metamodel of the transformation rule defined in FIG. 4 and the transformation process defined in FIG. Referring to FIG. 5, a system supporting model-based development should have a well-managed repository for models and a conversion engine supporting automatic conversion between models. Essential elements of the transformation system are the model repository 501, the transformation rule definition editor 502, and the transformation engine 503.

모델 저장소(501)는 다양한 모델을 관리하며, 모델 기반의 소프트웨어 시스템 개발을 위한 도메인의 메타모델과 모델 변환을 위한 모델, 모델링한 모델을 관리한다. 각각의 모델은 Java 언어로 구현되어 있으며, 메타데이터에 접근할 수 있는 JMI 인터페이스(Java Metadata Interface: JMI)를 통하여 모델에 접근한다. 모델 변환을 위하여 본 발명에서 정의한 변환 규칙 메타모델은 모델 저장소에서 관리하며, 변환 규칙 편집 정의기(502)의 모델로 동작한다. The model repository 501 manages various models, and manages the metamodel of the domain for model-based software system development, the model for model transformation, and the modeled model. Each model is implemented in the Java language and accesses the model through the Java Metadata Interface (JMI), which provides access to metadata. The transformation rule metamodel defined in the present invention for model transformation is managed in the model repository and operates as a model of the transformation rule edit definer 502.

변환 규칙 정의 편집기(502)는 변환 규칙을 시각적으로 편집할 수 있도록 지원한다. 본 발명에서 제안한 변환 규칙 메타모델을 기반으로 원하는 도메인 모델간 의 변환 규칙을 ClassifierMap, FeatureMap, RelationMap을 정의할 수 있도록 한다. 목적 모델은 TargetTemplate 구조로 편집하고, 변환의 조건(Condition)과 수행 함수의 액션(Action)은 각각 OCL(Object Constraint Language)와 ASL(Action Semantic Language)를 이용하여 정의한다. 변환 규칙 편집 정의기를 통하여 정의된 변환 규칙은 하나의 변환 규칙 모델 인스턴스로 모델 저장부(501)에 저장된다. The translation rule definition editor 502 supports visual editing of the translation rules. Based on the transformation rule metamodel proposed in the present invention, classifierMap, FeatureMap, and RelationMap can be defined as transformation rules between desired domain models. The target model is edited with TargetTemplate structure, and the condition of transformation and action of execution function are defined by using OCL (Object Constraint Language) and ASL (Action Semantic Language), respectively. The transformation rule defined through the transformation rule edit definer is stored in the model storage unit 501 as one transformation rule model instance.

변환 엔진(503)은 실제 모델 변환을 수행한다. 변환 엔진을 수행하기 위하여 필요한 입력은 시스템 개발을 위하여 모델링한 모델과 변환 규칙 정의 편집기(502)를 통하여 정의한 변환 규칙 모델 인스턴스이다. 소스 모델의 Classifier들에 대하여 변환 규칙 모델 인스턴스에 정의된 변환 규칙을 찾아내어 목적 모델을 생성하면서 실제 데이터 값은 소스 모델의 값을 이용하여 계산한다. The transformation engine 503 performs the actual model transformation. The inputs necessary to execute the transformation engine are models modeled for system development and transformation rule model instances defined through the transformation rule definition editor 502. For the classifiers of the source model, the conversion rule defined in the transformation rule model instance is found and the target model is created. Actual data values are calculated using the values of the source model.

또한 변환 엔진(503)은 변환 규칙 모델 인스턴스를 분석할 수 있어야 하고, 분석된 정보를 이용하여 모델을 생성할 수 있어야 한다. 규칙 해석기(504)는 변환 규칙 모델 인스턴스를 분석하고 접근하는 역할을 하고, 모델 해석기(506)는 소스 모델을 분석하고 접근하는 역할을 한다. 조건 검사기(505)는 Source 모델의 변환하는 요소들에 대하여, 하나의 요소가 다중의 변환 규칙을 가지고 있을 때 원하는 규칙을 선택할 수 있게 조건을 검사해 주는 역할을 한다. 매핑 테이블 생성기(508)는 변환 규칙을 적용한 모델간의 연관관계를 보여주고 관리함으로써, 매핑 규칙의 변경관리나 모델의 Update관리에 사용된다. 마지막으로, 모델 생성기(509)는 Template 구조로 정의되어 있는 변환 규칙과 소스 모델의 실제 값을 이용하여 목적 모델을 생성한다. In addition, the transformation engine 503 must be able to analyze the transformation rule model instance and be able to generate the model using the analyzed information. The rule interpreter 504 is responsible for analyzing and accessing the transformation rule model instance, and the model interpreter 506 is responsible for analyzing and accessing the source model. The condition checker 505 checks conditions for transforming elements of the source model so that a desired rule can be selected when one element has multiple conversion rules. The mapping table generator 508 shows and manages the relationship between the models to which the conversion rule is applied and is used to manage the change of the mapping rule or the update management of the model. Finally, the model generator 509 generates the target model using the conversion rules defined in the template structure and the actual values of the source model.

한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Meanwhile, in the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the invention should be determined by the claims rather than by the described embodiments.

이상에서 설명한 바와 같이, 본 발명은 모델 기반의 소프트웨어 시스템을 개발함에 있어서, 모델 변환 구조의 메타모델을 따라 해당 도메인 모델의 변환 규칙을 정의하면 실제 구현 작업이 필요했던 부분을 자동으로 생성해주기 때문에 시스템의 개발 주기를 단축할 수 있는 이점이 있으며, 또한 제안하는 변환 규칙의 메타모델은 모델간의 일대일 매핑뿐 만 아니라, 일대다 매핑과 모델 요소들간의 관계 매핑을 지원하고, 변환하고자 하는 모델의 인스턴스까지 매핑할 수 있도록 정의되었으므로, 원하는 형태의 목적 모델로 완벽하게 생성할 수 있는 이점이 있다. As described above, in the development of a model-based software system, when a transformation rule of a corresponding domain model is defined according to a metamodel of a model transformation structure, the system automatically generates a portion that required actual implementation work. The metamodel of the proposed transformation rule supports not only one-to-one mapping between models, but also one-to-many mapping and relationship mapping between model elements, and even the instance of the model to be converted. Since it is defined to be able to map, it has the advantage of being able to create perfectly with the desired model of the desired shape.

또한 본 발명의 모델 변환 절차를 지원하는 변환 시스템은 개발자가 좀 더 체계적인 방법으로 모델 변환 규칙을 정의하고 모델을 자동으로 변환할 수 있게 한다. 이때 모델 변환 시스템의 모델 저장부는 모델 기반의 개발에서 중요한 역할을 하며 생성되는 모델들의 이용 및 관리를 담당하여 개발자들의 구현부분을 줄여준다. 그리고 변환 규칙 정의 편집기를 통하여 변환 규칙을 시각적으로 정의함으로써 텍스트 기반의 매핑보다 쉽게 정의할 수 있고, 정의된 변환 규칙도 모델 저장부에서 자동으로 관리되므로 모델에 대한 관리 구현은 시스템에 일임할 수 있게 된다.In addition, the conversion system supporting the model conversion procedure of the present invention allows a developer to define a model conversion rule in a more systematic manner and automatically convert the model. At this time, the model storage unit of the model transformation system plays an important role in model-based development and reduces the implementation part of developers by taking care of the use and management of the generated models. Visually define the transformation rules through the transformation rule definition editor, making it easier to define them than text-based mappings.The defined transformation rules are also managed automatically in the model store so that the management implementation of the model can be left to the system. do.

이에 따라 본 발명에서 제안하는 모델 변환 기법과 지원 시스템을 이용하면 인스턴스 레벨의 모델까지도 자동으로 생성해 주므로, 소프트웨어 시스템 개발의 개발 기간이 단축되며, 개발자는 쉽게 모델 변환 규칙을 정의할 수 있게 되는 이점이 있다. Accordingly, the model conversion technique and the support system proposed in the present invention automatically generate an instance level model, thereby shortening the development period of software system development and allowing developers to easily define model conversion rules. There is this.

Claims (9)

메타모델에 기반한 모델 변환 지원 시스템으로서,Model conversion support system based on metamodel, 모델 변환 프로세스를 지원하기 위한 다양한 모델을 저장 관리하는 변환 규칙 모델 저장소와,A transformation rule model repository that stores and manages a variety of models to support the model transformation process; 변환규칙을 시각적으로 편집하고, 변환 규칙 메타모델을 기반으로 원하는 도메인 모델간 변환 규칙을 분류맵(ClassifierMap), 특징맵(FeatureMap), 관계맵(RelationMap)을 정의하는 변환규칙 정의 편집기와,Visually edit the conversion rule, and based on the conversion rule metamodel, the conversion rule between the desired domain models and the conversion rule definition editor for defining a classifier map, a feature map, and a relationship map. 시스템 개발을 위하여 모델링한 모델과 상기 변환 규칙 정의 편집기를 통해 정의된 변환 규칙 모델 인스턴스를 이용하여, 소스 모델의 분류들에 대하여 변환 규칙 모델 인스턴스에 정의된 변환 규칙을 찾아내고, 변환 규칙과 소스모델을 이용하여 목적 모델을 생성하는 변환 엔진Using the model modeled for system development and the transformation rule model instance defined through the transformation rule definition editor, find the transformation rule defined in the transformation rule model instance for the classifications of the source model, and the transformation rule and the source model. Transformation engine for generating objective models 을 포함하는 메타모델에 기반한 모델 변환 지원 시스템.Model conversion support system based on the metamodel including. 제1항에 있어서,The method of claim 1, 상기 변환규칙 정의 편집기는, 변환 규칙을 MOF에 기반하여 정의하기 위해 소스 모델 요소를 메타모델에 따라 분류(Classifier)와 속성(Feature)으로 나누고, 각각에 대하여 분류맵과 특징맵의 변환규칙을 정의하며, 소스 모델의 분류들의 관계에 대한 변환 규칙을 관계맵으로 정의하여 변환하는 것을 특징으로 하는 메타모델에 기반한 모델 변환 지원 시스템.In order to define the conversion rule based on the MOF, the conversion rule definition editor divides a source model element into a classifier and a feature according to a metamodel, and defines a conversion rule of a classification map and a feature map for each. And a transformation rule for a relationship between the classifications of the source model is defined and converted into a relationship map. 제2항에 있어서,The method of claim 2, 상기 변환규칙 정의 편집기는, 분류맵을 정의할 때, 변환하고자 하는 소스 모델의 분류에 대한 목적 모델의 요소를 모델의 메타모델인 분류와 특징의 단순한 매핑이 아닌, 목적 모델의 인스턴스 레벨까지 명시적으로 정의할 수 있도록 객체(Object)와 링크(Link)로 이루어진 템플릿(Template) 구조로 정의하여 변환하는 것을 특징으로 하는 메타모델에 기반한 모델 변환 지원 시스템.When defining the classification map, the conversion rule definition editor explicitly expresses the elements of the object model for the classification of the source model to be converted to the instance level of the object model, rather than a simple mapping of the classification and features which are metamodels of the model. A metamodel-based model conversion support system, characterized in that it is defined and converted to a template structure consisting of an object and a link so that it can be defined as. 제1항에 있어서,The method of claim 1, 상기 변환 규칙 메타 모델은, MOF 기반으로 모델 기반 개발의 핵심인 모델 변환을 지원하기 위하여, 소스 모델과 목적 모델간 일대일 매핑, 일대다 매핑, 모델요소들간 관계 매핑, 모델 인스턴스 매핑을 지원하는 것을 특징으로 하는 메타모델에 기반한 모델 변환 지원 시스템.The transformation rule metamodel supports one-to-one mapping, one-to-many mapping, relationship mapping between model elements, and model instance mapping between the source model and the target model to support model transformation, which is the core of model-based development based on MOF. Model conversion support system based on metamodel. 제1항에 있어서,The method of claim 1, 상기 모델 저장부에 저장되는 각각의 모델은, Java 언어로 구현되며, 메타데이터에 접근할 수 있는 JMI인터페이스를 통하여 모델에 접근하는 것을 특징으로 하는 메타모델에 기반한 모델 변환 지원 시스템.Each model stored in the model storage unit is implemented in a Java language and accesses a model through a metamodel, wherein the model is accessed through a JMI interface that can access metadata. 제1항에 있어서,The method of claim 1, 상기 모델 저장부는, 모델 변환을 위하여 상기 변환 규칙 편집 정의기의 모델로 동작하는 변환 규칙 메타모델을 저장하고 있는 것을 특징으로 하는 메타모델에 기반한 모델 변환 지원 시스템.And the model storage unit stores a transformation rule metamodel which operates as a model of the transformation rule edit definer for model transformation. 제1항에 있어서,The method of claim 1, 상기 변환 규칙 정의 편집기는, 소스 모델의 분류들의 관계를 목적 모델의 요소들에 표현하고자 할 때, 관계맵을 통하여 의존관계, 포함관계, 속성관계, 메소드관계의 네 가지 관계 패턴을 목적 모델의 연관 있는 오브젝트들과 매핑시킴으로서 소스 모델 요소들의 관계를 목적 모델의 관계로 정의하여 변환하는 것을 특징으로 하는 메타모델에 기반한 모델 변환 지원 시스템.When the conversion rule definition editor is to express the relationships of the classifications of the source model in the elements of the object model, the four relation patterns of the dependency model, the dependency relationship, the attribute relationship, and the method relationship are related to the object model through the relationship map. A metamodel-based model transformation support system, characterized in that the mapping between the existing objects and the source model elements defined by mapping the relationship between the target model. 제1항에 있어서,The method of claim 1, 상기 변환 엔진은, 모델 변환을 위하여 도메인을 결정하고 결정된 도메인의 메타모델을 고려하여 변환 규칙 인스턴스를 정의하며, 이를 상기 모델 저장부에 저장하고, 저장된 변환 규칙 모델 인스턴스를 기반으로 소프트웨어 시스템 개발시 모델링한 PIM 모델을 PSM 모델로 변환시키는 것을 특징으로 하는 메타모델에 기반한 모델 변환 지원 시스템.The transformation engine determines a domain for model transformation, defines a transformation rule instance in consideration of the determined metamodel of the domain, stores it in the model storage unit, and models the software system development based on the stored transformation rule model instance. A model conversion support system based on metamodels, which converts a PIM model to a PSM model. 제1항에 있어서,The method of claim 1, 상기 변환엔진은, 변환 규칙을 분석하고 관리하는 규칙 분석기와,The conversion engine is a rule analyzer for analyzing and managing the conversion rule, 소프트웨어 시스템 개발시 모델링된 모델을 분석하고 관리하는 모델분석기와,A model analyzer that analyzes and manages modeled models in software system development; 상기 모델 분석기의 모델 요소들이 목적 모델의 해당 요소로 변환될 조건을 검색하는 조건 검사기와, A condition checker for searching for a condition in which model elements of the model analyzer are converted into corresponding elements of a target model; 변환 규칙에 의해서 매핑된 소스 모델 요소와 목적 모델 요소들간 매핑관계를 생성하는 매핑 테이블 생성기와, A mapping table generator for generating a mapping relationship between the source model element and the destination model element mapped by the conversion rule; 상기 분석된 정보를 이용하여 최종 목적 모델을 생성하는 모델 생성기Model generator for generating a final object model using the analyzed information 를 포함하는 것을 특징으로 하는 메타모델에 기반한 모델 변환 지원 시스템.Model conversion support system based on the metamodel comprising a.
KR1020030094804A 2003-12-22 2003-12-22 Metamodel-based model transformation apparatus KR100576941B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030094804A KR100576941B1 (en) 2003-12-22 2003-12-22 Metamodel-based model transformation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030094804A KR100576941B1 (en) 2003-12-22 2003-12-22 Metamodel-based model transformation apparatus

Publications (2)

Publication Number Publication Date
KR20050063404A KR20050063404A (en) 2005-06-28
KR100576941B1 true KR100576941B1 (en) 2006-05-10

Family

ID=37255261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030094804A KR100576941B1 (en) 2003-12-22 2003-12-22 Metamodel-based model transformation apparatus

Country Status (1)

Country Link
KR (1) KR100576941B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200047006A (en) 2018-10-26 2020-05-07 주식회사 피도텍 Method and system for constructing meta model based on machine learning
KR20230026628A (en) 2021-08-18 2023-02-27 삼성에스디에스 주식회사 Method and apparatus for generating a domain model

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150886B2 (en) 2007-08-29 2012-04-03 Microsoft Corporation Multiple database entity model generation using entity models
WO2016099535A1 (en) * 2014-12-19 2016-06-23 Hewlett Packard Enterprise Development Lp Specifying models of an architectural type
CN117648833B (en) * 2024-01-30 2024-05-17 浙江大学 Simulink-to-SysML model generation method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200047006A (en) 2018-10-26 2020-05-07 주식회사 피도텍 Method and system for constructing meta model based on machine learning
KR20230026628A (en) 2021-08-18 2023-02-27 삼성에스디에스 주식회사 Method and apparatus for generating a domain model

Also Published As

Publication number Publication date
KR20050063404A (en) 2005-06-28

Similar Documents

Publication Publication Date Title
Bézivin et al. Reflective model driven engineering
Beazley Automated scientific software scripting with SWIG
US7823120B2 (en) Device, system and method for accelerated modeling
US8024703B2 (en) Building an open model driven architecture pattern based on exemplars
Macias Gomez de Villar et al. MultEcore: Combining the best of fixed-level and multilevel metamodelling
KR20040004619A (en) Method and system for transforming legacy software applications into modern object-oriented systems
CA2306933A1 (en) Method for data access code generation
Schleicher et al. Beyond stereotyping: Metamodeling approaches for the UML
Ramaesh et al. Representing and maintaining process knowledge for large-scale systems development
Sprinkle et al. Domain model translation using graph transformations
Schippers et al. Leveraging UML profiles to generate plugins from visual model transformations
KR100576941B1 (en) Metamodel-based model transformation apparatus
CN113626026A (en) Code generation method supporting complex model structure conversion
CN111176658B (en) Automatic conversion method from AADL (architecture analysis and design language) to Simulink model based on meta-object mechanism
Sawprakhon et al. Sequence diagram generation with model transformation technology
Prinz et al. A model-based standard for SDL
Gurevych et al. Automatic creation of interface specifications from ontologies
Batory et al. The ADAGE avionics reference architecture
Schröpfer et al. Integrating UML and ALF: An Approach to Overcome the Code Generation Dilemma in Model-Driven Software Engineering
Garzotto et al. Supporting reusable web design with HDM-Edit
Djeddai et al. Integrating a formal development for DSLs into meta-modeling
KR100250486B1 (en) The method of transform from s/w process graphic model to process definition language
Ali et al. Towards modular combination and reuse of languages with perspectives
Schröpfer et al. Unifying Modeling and Programming with Valkyrie.
Schröpfer An Integrated Framework for Running Extended Class Models.

Legal Events

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

Payment date: 20100401

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee