KR101409528B1 - Mda 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치 - Google Patents

Mda 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치 Download PDF

Info

Publication number
KR101409528B1
KR101409528B1 KR1020130031925A KR20130031925A KR101409528B1 KR 101409528 B1 KR101409528 B1 KR 101409528B1 KR 1020130031925 A KR1020130031925 A KR 1020130031925A KR 20130031925 A KR20130031925 A KR 20130031925A KR 101409528 B1 KR101409528 B1 KR 101409528B1
Authority
KR
South Korea
Prior art keywords
uml
pim
xmi
represented
platform
Prior art date
Application number
KR1020130031925A
Other languages
English (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 KR1020130031925A priority Critical patent/KR101409528B1/ko
Application granted granted Critical
Publication of KR101409528B1 publication Critical patent/KR101409528B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

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

Abstract

MDA 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치가 개시된다. 추상 PIM 또는 CIM을 획득하는 단계, 추상 PIM 또는 CIM을 이용하여 UML 또는 XMI로 표현된 추상 PIM을 생성하는 단계, PIM을 위한 UML 프로파일과 UML 또는 XMI로 표현된 추상 PIM을 이용하여 UML 또는 XMI로 표현된 PIM을 생성하는 단계, 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일, 변환정보 및 UML 또는 XMI로 표현된 PIM을 이용하여 UML 또는 XMI로 표현된 PSM을 생성하는 단계 및 변환 정보와 UML 또는 XMI로 표현된 PSM을 이용하여 코드를 생성하는 단계를 포함한다.

Description

MDA 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치{METHOD AND APPARATUS OF MDA-BASED AUTHORING APPLICATION FOR SMART CROSS-PLATFORM}
아래 실시예들은 스마트 크로스 플랫폼 어플리케이션의 저작을 위한 기술에 관한 것이다.
스마트 단말 시장의 활성화에 따라서 다양한 어플리케이션과 콘텐츠가 개발되고 있다. 종래 기술에 따르면, 동일한 목적과 용도를 가진 어플리케이션들이 안드로이드, iOS, 윈도우즈8, 블랙베리 OS 등 다수의 스마트 단말기 플랫폼에 따라서 각각 다른 환경에서 중복 개발된다. 각각의 플랫폼에 대해 중복 개발된 어플리케이션은 상호 운용성 및 이식성이 부족하며, 개발 시 개발 인력 및 비용이 증가한다.
본 발명의 실시예들은 MDA(Model Driven Architecture)를 기반으로 한 어플리케이션 저작 도구로서, UML(Unified Modeling Language), PIM(Platform Independent Model), PSM(Platform Specification Model) 등을 이용하여, 한 번의 설계를 통해 다양한 스마트 플랫폼에서 실행 가능한 어플리케이션을 개발할 수 있다.
본 발명의 실시예에 따른 MDA(Model Driven Architecture) 기반 스마트 플랫폼 어플리케이션 저작 방법은 추상 PIM(Platform Independent Model) 또는 CIM(Computation Independent Model)을 획득하는 단계; 상기 추상 PIM 또는 CIM을 이용하여 UML(Unified Modeling Language) 또는 XMI(eXtensible Metadata Interchange)로 표현된 추상 PIM을 생성하는 단계; PIM을 위한 UML 프로파일과 상기 UML 또는 XMI로 표현된 추상 PIM을 이용하여 UML 또는 XMI로 표현된 PIM을 생성하는 단계; 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일, 변환정보 및 상기 UML 또는 XMI로 표현된 PIM을 이용하여 UML 또는 XMI로 표현된 PSM(Platform Specification Model)을 생성하는 단계 및 상기 변환 정보와 상기 UML 또는 XMI로 표현된 PSM을 이용하여 코드를 생성하는 단계를 포함한다.
MDA 기반 스마트 플랫폼 어플리케이션 저작 방법은 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일을 MOF(Meta Object Facility), XMI 및 QVT(Query/View/Transformation)표준에 따라서 생성하는 단계를 더 포함할 수 있다.
MDA 기반 스마트 플랫폼 어플리케이션 저작 방법은 상기 UML 또는 XMI로 표현된 추상 PIM, 상기 UML 또는 XMI로 표현된 PIM, 상기 UML 또는 XMI로 표현된 PSM 및 상기 UML 프로파일을 저장하는 단계를 더 포함할 수 있다.
MDA 기반 스마트 플랫폼 어플리케이션 저작 방법은 상기 코드와 각 플랫폼 환경에 맞추어진 컴파일러를 이용해서 어플리케이션을 생성하는 단계를 더 포함할 수 있다.
MDA 기반 스마트 플랫폼 어플리케이션 저작 방법은 상기 어플리케이션을 생성하기 전에 상기 코드를 시뮬레이션 하는 단계를 더 포함할 수 있다.
MDA 기반 스마트 플랫폼 어플리케이션 저작 방법은 상기 UML 또는 XMI로 표현된 추상 PIM, 상기 UML 또는 XMI로 표현된 PIM, UML 또는 XMI로 표현된 PSM 또는 상기 코드를 통합 개발 환경에 플러그인 하는 단계를 더 포함할 수 있다.
상기 PIM을 위한 UML 프로파일은 스마트 단말기에서 공통적으로 나타날 수 있는 스테레오 타입 및 태그 값을 포함할 수 있다.
상기 변환정보는 MOF, XMI 및 QVT 표준을 따르는 모델간의 변화를 위한 매핑 규칙과 템플릿을 포함할 수 있다.
본 발명의 실시예에 따른 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치는 획득한 추상 PIM 또는 CIM을 UML 또는 XMI로 표현하는 비즈니스 모델 생성기; PIM을 위한 UML 프로파일과 상기 UML 또는 XMI로 표현된 추상 PIM을 이용하여 UML 또는 XMI로 표현된 PIM을 생성하는 PIM 생성기; 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일, 변환정보 및 상기 UML 또는 XMI로 표현된 PIM을 이용하여 UML 또는 XMI로 표현된 PSM을 생성하는 PSM 생성기 및 상기 변환 정보와 상기 UML 또는 XMI로 표현된 PSM을 이용하여 코드를 생성하는 코드 생성기를 포함한다.
MDA 기반 스마트 플랫폼 어플리케이션 저작 장치는 상기 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일을 MOF, XMI 및 QVT표준에 따라서 생성하는 메타 모델 정의기를 더 포함할 수 있다.
MDA 기반 스마트 플랫폼 어플리케이션 저작 장치는 상기 UML 또는 XMI로 표현된 추상 PIM, 상기 UML 또는 XMI로 표현된 PIM, 상기 UML 또는 XMI로 표현된 PSM 및 상기 UML 프로파일을 저장하는 모델 저장소를 더 포함할 수 있다.
MDA 기반 스마트 플랫폼 어플리케이션 저작 장치는 상기 코드와 각 플랫폼 환경에 맞추어진 컴파일러를 이용해서 어플리케이션을 생성하는 어플리케이션 생성 모듈을 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치.
상기 어플리케이션 생성 모듈은 상기 어플리케이션을 생성하기 전에 상기 코드를 시뮬레이션 하는 테스터 모듈을 더 포함할 수 있다.
MDA 기반 스마트 플랫폼 어플리케이션 저작 장치는 상기 UML 또는 XMI로 표현된 추상 PIM, 상기 UML 또는 XMI로 표현된 PIM, UML 또는 XMI로 표현된 PSM 또는 상기 코드를 통합 개발 환경에 플러그인 하는 IDE(Integration Development Environment)를 더 포함할 수 있다.
상기 PIM을 위한 UML 프로파일은 스마트 단말기에서 공통적으로 나타날 수 있는 스테레오 타입 및 태그 값을 포함할 수 있다.
상기 변환정보는 MOF, XMI 및 QVT 표준을 따르는 모델간의 변화를 위한 매핑 규칙과 템플릿을 포함할 수 있다.
본 발명의 실시예들은 MDA(Model Driven Architecture)를 기반으로 한 어플리케이션 저작 도구로서, UML(Unified Modeling Language), PIM(Platform Independent Model), PSM(Platform Specification Model) 등을 이용하여, 한 번의 설계를 통해 다양한 스마트 플랫폼에서 실행 가능한 어플리케이션을 개발할 수 있다.
도 1은 저작 도구 아키텍처와 어플리케이션 아키텍처 모델을 나타낸 블록도이다.
도 2는 각 생성기 모듈에서 생성된 모델들의 변환 절차를 나타낸 플로우 차트이다.
도 3는 메타 모델 정의기를 통해 UML 프로파일이 생성되는 과정을 나타낸 블록도이다.
도 4는 스마트 플랫폼에 공통적으로 적용될 수 있는 PIM을 위한 UML 프로파일이다.
도 5는 안드로이드의 특징 중 일부를 나타낸 UML 프로파일이다.
도 6은 iOS의 특징 중 일부를 나타낸 UML 프로파일이다.
도 7은 본 발명의 일실시예에 따른 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법을 나타낸 플로우 차트이다.
도 8은 본 발명의 일실시예에 따른 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치를 나타낸 블록도이다.
도 9는 본 발명의 일실시예에 따른 MDA 기반 스마트 플랫폼 어플리케이션 저작 시스템을 나타낸 블록도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
스마트 단말기 시장이 커짐에 따라서 다양한 어플리케이션과 콘텐츠가 개발되고 있다. 그러나 동일한 목적과 용도를 가진 어플리케이션들이 안드로이드, iOS, 윈도우즈8, 블랙베리 OS 등 다수의 스마트 단말기 플랫폼에 따라서 각각 다른 환경에서 중복 개발된다. 플랫폼에 따른 중복 개발은 상호 운용성 및 이식성 부족의 문제점을 가지며, 이로 인해 개발 인력 및 비용의 증가의 문제점이 발생한다. 이러한 문제점들을 해결하기 위해 크로스 플랫폼 환경 구축에 대한 연구가 활발해지기 시작했다.
크로스 플랫폼이란 2개 이상의 플랫폼에서 공통으로 사용되는 소프트웨어 또는 어플리케이션을 의미한다. 크로스 플랫폼은 크로스 컴파일, 크로스 프로그래밍 언어, 크로스 API(Application Program Interface) 등으로 세분화 될 수 있다.
본 발명은 완벽한 크로스 플랫폼 환경 구축을 위해 OMG(Object Management Group)의 MDA(Model Driven Architecture)를 기반으로 하는 스마트 플랫폼 어플리케이션 저작 도구 아키텍처를 제시한다.
MDA(Model Driven Architecture)는 UML(Unified Modeling Language) 과 같은 모델링 언어를 설계 언어 및 프로그래밍 언어로 사용하는 것을 의미한다. 설계 모델을 PIM(Platform Independent Model)이라고 불리는 플랫폼에 독립적인 모델로 기술하고, 각 플랫폼 개발 환경에 맞게 UML을 확장한 UML 프로파일을 이용하여 플랫폼에 의존적인 모델인 PSM(Platform Specification Model)을 명세한다. 그 후 PSM을 이용해서 코드의 생성을 자동화하여 소프트웨어 생산성을 높일 수 있다.
OMG의 MDA를 기반으로 하여 개발 환경을 구축하는 방법을 MDD(Model Driven Development)라고 하며, PIM과 PSM간의 모델 변환 및 PSM을 이용한 코드 자동생성을 통해 효율적인 소프트웨어 개발을 지원한다. 이에 크로스 플랫폼 환경 구축에 MDD를 적용하면 스마트 단말기 어플리케이션 개발 특성을 바람직하게 반영할 수 있다.
본 발명에서는 MDA 기반의 스마트 플랫폼 어플리케이션 저작 도구 아키텍처를 제안함으로써 각 플랫폼간의 상호 운용성 및 이식성을 가진 MDD 기반의 크로스 플랫폼 환경구축을 위한 방법을 제시한다.
본 발명에서는 기존의 크로스 플랫폼이 가지고 있는 문제점을 절충시키기 위해서, 크로스 플랫폼 환경에 재구성이 용이하고 코드 생성 자동화가 가능한 MDA를 적용시키고, 기존의 다양한 플랫폼 규격을 준수하며, 앞으로의 변화에 대응할 수 있는 유연한 스마트 플랫폼 어플리케이션 저작 도구 아키텍처를 제시한다.
도 1은 저작 도구 아키텍처와 어플리케이션 아키텍처 모델을 나타낸 블록도이다.
도 1을 참조하면 MDA 기반의 스마트 플랫폼 어플리케이션 저작 도구 아키텍처는 저작 도구 아키텍처(110)와 어플리케이션 아키텍처 모델(120)을 포함한다.
저작 도구 아키텍처(110)는 실질적인 어플리케이션 저작 도구의 세부 모듈들을 포함한다. 어플리케이션 아키텍처 모델(120)은 PIM, PSM, UML 프로파일, 모델 간 변환 규칙 및 템플릿을 포함한다.
저작 도구 아키텍처(110)는 생성기 모듈(111), 모델 관리 모듈(112) 및 편의 모듈(113)로 구성된다. 각 모듈들은 내부적으로 메시지를 주고받으며, 어플리케이션 아키텍처 모델을 이용한다.
생성기 모듈들은 모델을 생성하거나 코드를 생성하고, 모델을 생성할 때는 모델 관리 모듈을 이용한다. 설계 모델인 PIM을 생성하는 부분을 제외한 PSM 생성 및 코드 생성은 자동으로 이루어진다.
도 2는 각 생성기 모듈에서 생성된 모델들의 변환 절차를 나타낸 플로우 차트이다.
도 2를 참조하면, 모델들은 비즈니스 모델 생성기(Business Model Generator), PIM 생성기(PIM Model Generator), PSM 생성기(PSM Model Generator) 및 코드 생성기(Code Generator)에 의해서 변환된다.
비즈니스 모델 생성기는 개발되는 어플리케이션의 전체 프로세스를 보여주며 개발하려는 시스템에 대한 기능적, 비기능적 요구사항을 분석한 후 모델을 생성한다. 생성된 모델은 PIM을 위한 UML 프로파일이 적용되기 전의 추상 PIM 또는 CIM(Computation Independent Model)로 기술된다. 실질적으로 추상 PIM은 어플리케이션 설계자가 직접 수동으로 명세하여야 하며, 이 모듈은 설계자가 명세한 추상 PIM을 UML 또는 XMI(eXtensible Metadata Interchange)로 표현한다(210).
PIM 생성기는 모델 매핑 관리자 모듈을 통해서 생성된 추상 PIM을 이용하여 어플리케이션 아키텍처 모델을 생성한다. 그리고 이 생성기는 스마트 단말기에서 공통적으로 나타날 수 있는 스테레오 타입 및 태그 값을 포함하고 있는 PIM을 위한 UML 프로파일을 이용하여 PIM으로 모델링하며, 반자동으로 생성된 PIM을 UML 또는 XMI로 표현한다(220).
PSM 생성기는 PIM을 플랫폼 종속적인 PSM으로 변환하고, 모델 생성 및 조립을 한다. 이 때 PSM 생성기는 모델 매핑 관리자 모듈을 통해서 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일을 이용한다. 여기서 모델 매핑 관리자는 QVT(Query/View/Transformation)의 표준 규격을 준수하는 모델 간 매핑 규칙과 템플릿을 이용하여 PSM 생성기에게 PIM에서 PSM으로 변환되는 정보들을 전송한다. 이 생성기는 생성된 PSM 또한 PIM과 같이 UML 또는 XMI로 표현한다(230).
코드 생성기는 PSM 정보를 모델 매핑 관리자 모듈에서 수신한 변환 규칙 정보들을 이용하여 골격 코드와 비즈니스 로직 코드를 생성한다(240).
모델 관리 모듈들은 각 생성기에서 생성된 모델들을 변환, 생성, 관리 및 저장 등을 행하는 모듈이다.
각각의 생성기에서 생성된 다양한 모델간의 변화를 위한 매핑 규칙을 정의하고, 매핑 엔진을 이용하여 모델 변환을 자동화 시키는 것은 모델 매핑 관리자 모듈(Model Mapping Manager)에서 행한다. 이 모듈은 MOF(Meta Object Facility) 와 XMI, QVT 표준에 따라서 개발된다.
도 3는 메타 모델 정의기를 통해 UML 프로파일이 생성되는 과정을 나타낸 블록도이다.
도 3을 참조하면, MOF, XMI, QVT 표준과 UML 메타 모델 규칙을 준수해서 정의 되었는지 검증해줄 메타 모델 정의기 모듈(Meta Model Definer) (310)을 포함한다. 메타 모델 정의 모듈을 통해서 각 플랫폼의 사양 및 규격을 각 플랫폼에 맞는 UML 프로파일(320)을 MOF규칙에 맞게 정의 되었는지 검증할 수 있다.
모델 저장소(Model Repository)는 각 생성기에 생성된 모델들과 UML 프로파일 등을 저장하며, CWM(Common Warehouse Metamodel) 표준에 따라서 개발된다.
편의 모듈은 테스터 모듈과 IDE(Integration Development Environment)를 포함한다. 생성된 코드를 각 플랫폼 환경에 맞추어진 컴파일러를 이용해서 어플리케이션을 생성할 수 있으며, 또는 테스터 모듈(Tester)을 통해서 생성된 코드들을 저작 도구에서 자체적으로 테스트 할 수 있다. IDE는 설계된 아키텍처를 이클립스와 같은 통합 개발 환경에 Plug-in할 수 있게 준비된 모듈이다.
어플리케이션 아키텍처 모델은 설계 모델인 PIM과 PIM을 플랫폼 규격에 맞는 모델로 변환시키기 위한 각 플랫폼 별 UML 프로파일, 플랫폼에 맞추어 변환된 모델인 PSM, 각 모델 별 변환 규칙 및 템플릿으로 구성된다.
카메라, GPS, SNS 등과 같은 특정 목적을 가진 어플리케이션을 제작하기 위해서 MOF를 기반으로 하는 PIM을 설계한다. 이 PIM은 저작 도구 아키텍처에서의 메타 모델 정의기 모델의 검증을 통해서 표준을 준수함을 보증할 수 있다.
UML 프로파일은 각 플랫폼 별로 존재하여야 하며, 각각의 플랫폼에 맞는 스테레오타입과 태그 값이 적용된 element, attribute, method, link등으로 이루어진다. UML 프로파일은 확장된 컬렉션을 이용해서 특정 플랫폼에 대한 모델링 문제를 기술한다. 그리고 해당 플랫폼의 내용들을 모델링 할 수 있게 한다.
미리 정의된 PIM과 UML 프로파일을 통해서 특정 목적을 가진 추상적인 어플리케이션의 모델을 특정 플랫폼에 맞는 어플리케이션 모델로 변환된다. 이렇게 변환된 모델이 PSM이다. 이 PSM을 이용해서 저작 도구 아키텍처의 코드 생성기 모듈에서 코드를 자동 생성해 준다.
도 4는 스마트 플랫폼에 공통적으로 적용될 수 있는 PIM을 위한 UML 프로파일이다.
도 4을 참조하면, 스마트 플랫폼 공통적으로 적용시킬 수 있는 PIM을 위한 프로파일을 포함한다. PIM을 위한 UML 프로파일을 위해서 스테레오 타입의 유형을 분석한 PIM을 위한 프로파일이 제시된다.
도 5는 안드로이드의 특징 중 일부를 나타낸 UML 프로파일이다.
도 5을 참조하면, 안드로이드 플랫폼에 적용될 수 있는 PIM을 위한 프로파일을 포함한다.
스마트 플랫폼 중 안드로이드는 어플리케이션 프레임워크와 유저 인터페이스, 시스템 리소스 등의 특징을 가지고 있다. 어플리케이션 프레임워크에는 액티비티, 서비스, 콘텐트 프로바이더, 브로드캐스트 리시버, 매니페스트, 인텐트 등이 있으며, 유저 인터페이스에는 위젯, UI 이벤트 처리가 있다. 그리고 시스템 리소스에는 외부 라이브러리와 하드웨어 리소스가 존재한다. 안드로이드 플랫폼에서 또 하나 큰 특징은 어플리케이션 프레임워크 중 액티비티와 서비스는 라이프 사이클과 같은 동적인 특징도 보이고 있다.
도 6은 iOS의 특징 중 일부를 나타낸 UML 프로파일이다.
도 6을 참조하면, iOS 플랫폼에 적용될 수 있는 PIM을 위한 프로파일을 포함한다.
Apple의 iOS 플랫폼은 플랫폼에 의한 특성뿐만 아니라 개발 언어에 의한 특성도 고려하여야 한다. 개발 언어에 의한 특성에는 자바의 Interface와 유사한 Protocol과 클래스를 확장하여 사용하는 Category가 있다. 플랫폼에 의한 특성에는 어플리케이션 상태 변경 및 시스템 인터럽트를 처리하기 위한 Application Delegate와 Notification Center, 이벤트 처리를 위한 Protocol인 Delegate/Data Source, 객체에서 발생한 이벤트를 처리하는 Action-Target 등이 있다.
도 7은 본 발명의 일실시예에 따른 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법을 나타낸 플로우 차트이다.
도 7을 참조하면, 본 발명의 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법은 추상 PIM을 획득하고, 추상 PIM을 UML 또는 XMI로 표현한다(710).
추상 PIM 또는 CIM을 획득하는 단계는 설계자가 비즈니스 모델 생성기를 통하여 제시된 프로세스에 따라 추상 PIM 또는 CIM을 입력하는 단계일 수 있다. 비즈니스 모델 생성기는 추상 PIM 또는 CIM으로 기술된 모델을 생성하며, 추상 PIM을 UML 또는 XMI로 표현한다.
본 발명의 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법은 PIM을 위한 UML 프로파일과 상기 UML 또는 XMI로 표현된 추상 PIM을 이용하여 UML 또는 XMI로 표현된 PIM을 생성한다(720).
UML 또는 XMI로 표현된 PIM을 생성하는 단계는 스마트 단말기에서 공통적으로 나타날 수 있는 스테레오 타입 및 태그 값을 포함하고 있는 PIM을 위한 UML 프로파일을 이용하여 PIM으로 모델링하며, 생성된 PIM을 UML 또는 XMI로 표현하는 단계일 수 있다. UML 또는 XMI로 표현된 PIM을 생성하는 단계는 모델 매핑 관리자 모듈을 이용하여 추상 PIM로부터 어플리케이션 아키텍처 모델을 생성하는 단계를 포함할 수 있다.
본 발명의 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법은 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일, 변환정보 및 상기 UML 또는 XMI로 표현된 PIM을 이용하여 UML 또는 XMI로 표현된 PSM을 생성한다(730).
UML 또는 XMI로 표현된 PSM을 생성하는 단계는 PIM을 플랫폼 종속적인 PSM으로 변환하고, 모델을 생성 및 조립하는 단계일 수 있다. UML 또는 XMI로 표현된 PSM을 생성하는 단계는 모델 매핑 관리자 모듈을 통해서 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일을 이용할 수 있다. 모델 매핑 관리자는 QVT(Query/View/Transformation)의 표준 규격을 준수하는 모델 간 맵핑 규칙과 템플릿을 이용하여 PSM 생성기에게 PIM에서 PSM으로 변환되는 정보들을 전송한다. UML 또는 XMI로 표현된 PSM을 생성하는 단계는 생성된 PSM를 UML 또는 XMI로 표현한다.
도 7을 참조하면, 본 발명의 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법은 상기 변환 정보와 상기 UML 또는 XMI로 표현된 PSM을 이용하여 코드를 생성한다(740).
코드를 생성하는 단계는 모델 매핑 관리자 모듈에서 수신한 변환 규칙 정보들을 이용하여 PSM 정보로부터 골격 코드와 비즈니스 로직 코드를 생성하는 단계일 수 있다.
도 8은 본 발명의 일실시예에 따른 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치를 나타낸 블록도이다.
도 8을 참조하면, 본 발명의 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법은 비즈니스 모델 생성기(810), PIM 생성기(820), PSM 생성기(830), 코드 생성기(840), 모델 매핑 관리자(850), 메타 모델 정의기(860), IDE(870), 테스터(880) 및 모델 저장소(890)를 포함한다.
비즈니스 모델 생성기(810)는 개발되는 어플리케이션의 전체 프로세스를 보여주며 개발하려는 시스템에 대한 기능적, 비기능적 요구사항을 분석한 후 모델을 생성한다. 생성된 모델은 PIM을 위한 UML 프로파일이 적용되기 전의 추상 PIM 또는 CIM(Computation Independent Model)로 기술된다. 실질적으로 추상 PIM은 어플리케이션 설계자가 직접 수동으로 명세하여야 하며, 이 모듈은 설계자가 명세한 추상 PIM을 UML 또는 XMI(eXtensible Metadata Interchange)로 표현한다.
PIM 생성기(820)는 모델 매핑 관리자 모듈을 통해서 생성된 추상 PIM을 이용하여 어플리케이션 아키텍처 모델을 생성한다. 그리고 이 생성기는 스마트 단말기에서 공통적으로 나타날 수 있는 스테레오 타입 및 태그 값을 포함하고 있는 PIM을 위한 UML 프로파일을 이용하여 PIM으로 모델링하며, 반자동으로 생성된 PIM을 UML 또는 XMI로 표현한다.
PSM 생성기(830)는 PIM을 플랫폼 종속적인 PSM으로 변환하고, 모델 생성 및 조립을 한다. 이 때 PSM 생성기는 모델 매핑 관리자 모듈을 통해서 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일을 이용한다. 여기서 모델 매핑 관리자는 QVT(Query/View/Transformation)의 표준 규격을 준수하는 모델 간 맵핑 규칙과 템플릿을 이용하여 PSM 생성기에게 PIM에서 PSM으로 변환되는 정보들을 전송한다. 이 생성기는 생성된 PSM 또한 PIM과 같이 UML 또는 XMI로 표현한다.
코드 생성기(840)는 PSM 정보를 모델 매핑 관리자 모듈에서 수신한 변환 규칙 정보들을 이용하여 골격 코드와 비즈니스 로직 코드를 생성한다.
모델 매핑 관리자(850)는 각각의 생성기에서 생성된 다양한 모델간의 변화를 위한 매핑 규칙을 정의하고, 매핑 엔진을 이용하여 모델 변환을 자동화 시킨다. 모델 매핑 관리자(850)는 MOF, XMI 및 QVT 표준에 따라서 개발된다.
메타 모델 정의기(860)는 생성된 모델들이 MOF, XMI, QVT 표준 및 UML 메타 모델 규칙을 준수해서 정의 되었는지 검증한다. 메타 모델 정의기(860)를 통해서 UML 프로파일이 MOF규칙에 맞게 정의 되었는지 검증할 수 있다.
모델 저장소(890)는 각 생성기에 생성된 모델들과 UML 프로파일 등을 저장하며, CWM(Common Warehouse Metamodel) 표준에 따라서 개발된다.
생성된 코드를 각 플랫폼 환경에 맞추어진 컴파일러를 이용해서 어플리케이션을 생성할 수 있으며, 또는 테스터(880)를 통해서 생성된 코드들을 저작 도구에서 자체적으로 테스트 할 수 있다. IDE(870)는 설계된 아키텍처를 이클립스와 같은 통합 개발 환경에 Plug-in할 수 있게 준비된 모듈이다.
도 9는 본 발명의 일실시예에 따른 MDA 기반 스마트 플랫폼 어플리케이션 저작 시스템을 나타낸 블록도이다.
도 9을 참조하면, MDA 기반 스마트 플랫폼 어플리케이션 저작 시스템(900)은 표시부(910), 처리부(920), 입력부(930), 저장부(940)를 포함한다.
표시부(910)는 다양한 종류, 사이즈를 갖는 디스플레이 패널을 포함할 수 있으며, 어플리케이션 설계자를 위한 유저 인터페이스를 제공한다. 표시부(910)에는 어플리케이션 설계를 위해 필요한 정보들이 다양한 환경으로 제공될 수 있다.
처리부(920)는 본 발명의 실시를 위해 필요한 연산을 처리하는 다양한 프로세서가 포함할 수 있다. 처리부(920)는 어플리케이션의 설계를 위해 필요한 연산이나 데이터를 처리한다. 본 발명의 모듈들의 목적을 달성하기 위한 데이터 처리, 설계자의 명령을 실행하기 위한 데이터 처리를 수행한다.
입력부(930)는 어플리케이션의 설계자가 데이터를 입력하거나 유저 인터페이스를 제어하기 위한 다양한 장치가 포함할 수 있다. 키보드, 마우스, 터치 패드, 디지털 펜 등의 입력장치가 포함될 수 있다.
저장부(940)는 본 발명의 실시를 위해 필요한 각종 모듈, 모델, PIM, PSM, UML 프로파일, 코드 등을 저장한다. 본 발명의 실시를 통해 생성된 모델이나 아키텍처, 어플리케이션, PIM, PSM, UML 프로파일, 코드 등을 저장할 수 있다.
도 1 내지 도 8를 통해 설명된 내용은 도 9에 도시된 각 유닛에 그대로 적용될 수 있으므로, 도 9에 대한 보다 상세한 설명은 생략한다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (16)

  1. 추상 PIM(Platform Independent Model) 또는 CIM(Computation Independent Model)을 획득하는 단계;
    상기 추상 PIM 또는 CIM을 이용하여 UML(Unified Modeling Language) 또는 XMI(eXtensible Metadata Interchange)로 표현된 추상 PIM을 생성하는 단계;
    PIM을 위한 UML 프로파일과 상기 UML 또는 XMI로 표현된 추상 PIM을 이용하여 UML 또는 XMI로 표현된 PIM을 생성하는 단계;
    각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일, 변환정보 및 상기 UML 또는 XMI로 표현된 PIM을 이용하여 UML 또는 XMI로 표현된 PSM(Platform Specification Model)을 생성하는 단계 및
    상기 변환 정보와 상기 UML 또는 XMI로 표현된 PSM을 이용하여 코드를 생성하는 단계
    를 포함하는 MDA(Model Driven Architecture) 기반 스마트 플랫폼 어플리케이션 저작 방법.
  2. 제1항에 있어서,
    상기 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일을 MOF(Meta Object Facility), XMI 및 QVT(Query/View/Transformation)표준에 따라서 생성하는 단계
    를 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법.
  3. 제1항에 있어서,
    상기 UML 또는 XMI로 표현된 추상 PIM, 상기 UML 또는 XMI로 표현된 PIM, 상기 UML 또는 XMI로 표현된 PSM 및 상기 UML 프로파일을 저장하는 단계
    를 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법.
  4. 제1항에 있어서,
    상기 코드와 각 플랫폼 환경에 맞추어진 컴파일러를 이용해서 어플리케이션을 생성하는 단계
    를 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법.
  5. 제4항에 있어서,
    상기 어플리케이션을 생성하기 전에 상기 코드를 시뮬레이션 하는 단계
    를 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법.
  6. 제1항에 있어서,
    상기 UML 또는 XMI로 표현된 추상 PIM, 상기 UML 또는 XMI로 표현된 PIM, UML 또는 XMI로 표현된 PSM 또는 상기 코드를 통합 개발 환경에 플러그인 하는 단계
    를 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법.
  7. 제1항에 있어서,
    상기 PIM을 위한 UML 프로파일은 스마트 단말기에서 공통적으로 나타날 수 있는 스테레오 타입 및 태그 값을 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법.
  8. 제1항에 있어서,
    상기 변환정보는 MOF, XMI 및 QVT 표준을 따르는 모델간의 변화를 위한 매핑 규칙과 템플릿을 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 방법.
  9. 획득한 추상 PIM 또는 CIM을 UML 또는 XMI로 표현하는 비즈니스 모델 생성기;
    PIM을 위한 UML 프로파일과 상기 UML 또는 XMI로 표현된 추상 PIM을 이용하여 UML 또는 XMI로 표현된 PIM을 생성하는 PIM 생성기;
    각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일, 변환정보 및 상기 UML 또는 XMI로 표현된 PIM을 이용하여 UML 또는 XMI로 표현된 PSM을 생성하는 PSM 생성기 및
    상기 변환 정보와 상기 UML 또는 XMI로 표현된 PSM을 이용하여 코드를 생성하는 코드 생성기
    를 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치.
  10. 제9항에 있어서,
    상기 각 플랫폼에 대한 UML 모델을 나타내는 UML 프로파일을 MOF, XMI 및 QVT표준에 따라서 생성하는 메타 모델 정의기
    를 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치.
  11. 제9항에 있어서,
    상기 UML 또는 XMI로 표현된 추상 PIM, 상기 UML 또는 XMI로 표현된 PIM, 상기 UML 또는 XMI로 표현된 PSM 및 상기 UML 프로파일을 저장하는 모델 저장소
    를 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치.
  12. 제9항에 있어서,
    상기 코드와 각 플랫폼 환경에 맞추어진 컴파일러를 이용해서 어플리케이션을 생성하는 어플리케이션 생성 모듈
    을 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치.
  13. 제12항에 있어서,
    상기 어플리케이션 생성 모듈은 상기 어플리케이션을 생성하기 전에 상기 코드를 시뮬레이션 하는 테스터 모듈
    을 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치.
  14. 제9항에 있어서,
    상기 UML 또는 XMI로 표현된 추상 PIM, 상기 UML 또는 XMI로 표현된 PIM, UML 또는 XMI로 표현된 PSM 또는 상기 코드를 통합 개발 환경에 플러그인 하는 IDE(Integration Development Environment)
    를 더 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치.
  15. 제9항에 있어서,
    상기 PIM을 위한 UML 프로파일은 스마트 단말기에서 공통적으로 나타날 수 있는 스테레오 타입 및 태그 값을 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치.
  16. 제9항에 있어서,
    상기 변환정보는 MOF, XMI 및 QVT 표준을 따르는 모델간의 변화를 위한 매핑 규칙과 템플릿을 포함하는 MDA 기반 스마트 플랫폼 어플리케이션 저작 장치.
KR1020130031925A 2013-03-26 2013-03-26 Mda 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치 KR101409528B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130031925A KR101409528B1 (ko) 2013-03-26 2013-03-26 Mda 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130031925A KR101409528B1 (ko) 2013-03-26 2013-03-26 Mda 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101409528B1 true KR101409528B1 (ko) 2014-06-19

Family

ID=51133428

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130031925A KR101409528B1 (ko) 2013-03-26 2013-03-26 Mda 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101409528B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055325A (zh) * 2016-05-27 2016-10-26 克拉玛依红有软件有限责任公司 一种支撑多系统同时运行的服务构建方法
CN106095404A (zh) * 2016-05-29 2016-11-09 淮阴师范学院 一种业务过程模型至服务组成模型的自动模型转换方法
CN106528128A (zh) * 2016-10-26 2017-03-22 安徽扬远信息科技有限公司 一种基于mda的软件开发方法
CN109522002A (zh) * 2018-10-29 2019-03-26 中国航空无线电电子研究所 一种基于模型驱动的无人机地面站开放式架构
WO2019083098A1 (ko) * 2017-10-23 2019-05-02 한국전력공사 전력 소프트웨어 개발 플랫폼

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110130611A (ko) * 2010-05-28 2011-12-06 야마이아 주식회사 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛
KR20120042291A (ko) * 2010-10-25 2012-05-03 주식회사 엠오투커뮤니케이션 모바일 웹페이지를 효율적으로 개발하기 위한 크로스 플랫폼 솔루션 및 크로스 플랫폼 모바일 소스 생성 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110130611A (ko) * 2010-05-28 2011-12-06 야마이아 주식회사 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛
KR20120042291A (ko) * 2010-10-25 2012-05-03 주식회사 엠오투커뮤니케이션 모바일 웹페이지를 효율적으로 개발하기 위한 크로스 플랫폼 솔루션 및 크로스 플랫폼 모바일 소스 생성 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
국승학 외 1명, 스마트폰 어플리케이션 개발을 위한 MDA 방법론 적용, 2010년 가을 학술발표논문집, Vol.37, No.2(A) *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055325A (zh) * 2016-05-27 2016-10-26 克拉玛依红有软件有限责任公司 一种支撑多系统同时运行的服务构建方法
CN106055325B (zh) * 2016-05-27 2019-02-12 克拉玛依红有软件有限责任公司 一种支撑多系统同时运行的服务构建方法
CN106095404A (zh) * 2016-05-29 2016-11-09 淮阴师范学院 一种业务过程模型至服务组成模型的自动模型转换方法
CN106528128A (zh) * 2016-10-26 2017-03-22 安徽扬远信息科技有限公司 一种基于mda的软件开发方法
WO2019083098A1 (ko) * 2017-10-23 2019-05-02 한국전력공사 전력 소프트웨어 개발 플랫폼
US11423358B2 (en) 2017-10-23 2022-08-23 Korea Electric Power Corporation Electric power software development platform
CN109522002A (zh) * 2018-10-29 2019-03-26 中国航空无线电电子研究所 一种基于模型驱动的无人机地面站开放式架构
CN109522002B (zh) * 2018-10-29 2021-09-24 中国航空无线电电子研究所 一种基于模型驱动的无人机地面站开放式架构

Similar Documents

Publication Publication Date Title
US10509718B2 (en) System and method for automatically generating software testing scripts from test cases
CN110928529B (zh) 辅助算子开发的方法和系统
US8706771B2 (en) Systems and methods for analyzing and transforming an application from a source installation to a target installation
US9021438B2 (en) Automatic framework for parallel testing on multiple testing environments
CA2713247C (en) Integration environment generator
US8949772B1 (en) Dynamic model based software application development
CN103336705B (zh) 脚本处理和工作流系统间的自动转码和语义自适应
US9037595B2 (en) Creating graphical models representing control flow of a program manipulating data resources
US11429365B2 (en) Systems and methods for automated retrofitting of customized code objects
US11667033B2 (en) Systems and methods for robotic process automation
US20180113799A1 (en) Model generation for model-based application testing
US11593342B2 (en) Systems and methods for database orientation transformation
US20130117232A1 (en) Snapshots of database models
KR101409528B1 (ko) Mda 기반 스마트 크로스 플랫폼 어플리케이션 저작 방법 및 장치
WO2018036342A1 (zh) 基于csar的模型文件的可视化设计方法及装置
CN109408354B (zh) 应用组件的数据处理方法和装置
Benouda et al. MDA approach to automate code generation for mobile applications
da Silva et al. XIS-UML profile for extreme modeling interactive systems
Benouda et al. Automatic code generation within MDA approach for cross-platform mobiles apps
Bhattacharjee et al. (wip) cloudcamp: Automating the deployment and management of cloud services
Blanco et al. A holistic approach for cross-platform software development
Amendola et al. Adapting CRM systems for mobile platforms: An MDA perspective
US20120192144A1 (en) Migrating unified modeling language models across unified modeling language profiles
Trias et al. Reverse engineering applied to CMS-based Web applications coded in PHP: A proposal of migration
Harper et al. Deploying healthcare simulation models using containerization and continuous integration

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee