MDA

  1. MDA 관련 OMG 표준
  1. 서론
  1. MDA
  1. MDA의 개요
  1. MDA의 구조
  1. MDA의 모델 변환
  1. UML Profile UML Profile
  1. UML

여러 가지 객체지향 방법론들이 통합하여 만들어져서 OMG에 의해 표준화된 객체지향 시스템과 컴포넌트 기반 시스템의 분석 및 설계에 현재 가장 널리 쓰이는 노테이션(notation) 표준

  1. MOF

메타 모델 또는 모델의 공통 기반 모델
다른 메타 모델을 정의하기 위한 모델

  1. CWM

UML이 애플리케이션 설계 시에 모델링의 도구로서 사용되는 것처럼 데이터 웨어하우징(data warehousing) 영역에서 일반적인 데이터 웨어하우스 아키텍처를 정의한 메타 모델

  1. 결론

MDA는 특정 기술에 묶여져 있던 개념적 설계를 분리함으로써 기술 여건의 변화에 따라 동일한 개념적 설계를 반복하는 불필요한 작업을 수행하는 노력을 줄여주었다

설계 수준의 시스템 통합을 기술함으로 지속적인 기술 여건 및 기반 기술의 변화에도 적은 노력으로 시스템의 통합을 이루고 상호 운영성을 유지할 수 있다

해결해야 할 문제점

지속적으로 변화하는 기술 상황에 따라 수많은 UML 프로파일을 OMG에서 제때 표준화해야 한다.

레거시 시스템에 대한 PIM 변환에 대한 것이 좀 더 명확하게 다루어져야 한다. 따라서 새로운 시스템이 MDA 방식으로 개발되기 위해서는 기존 시스템을 PIM로 변환하거나 래핑하는 작업이 필요하다.

OMG 표준이 좀더 개발자들이 이해하기 쉽게 되어야 한다. MDA 방식은 설계 수준부터 표준을 따라야 한다는 것이다.

MDA가 목표로 하는 설계와 구현의 완벽한 분리와 설계로부터 자동화된 방식의 구현 생성은 컴퓨팅 커뮤니티가 지속적으로 원해 온 것이며, 시스템개발 방법의 올바른 방향임에는 틀림없다. 따라서 OMG의 지속적인 표준화 작업이 뒷받침되고 현재 이슈가 되고 있는 웹 서비스와 같은 신기술들이 MDA 방식으로 성공적으로 수행된 사례가 늘어난다면 UML과 같이 개발자 사회의 보편적인 개발패러다임으로 머지 않은 시간에 자리잡을 수 있을 것이다.

CORBA
(Common Object Request Broker Architecture)

벤더 중립적이고 언어 독립적이며 다른 미들웨어를 포함할 수 있는 미들웨어

해결해야 할 과제

IDL(Interface Description Language)을 이용한 인터페이스 정의를 통해 얻을 수 있는 상호 운영성은 제한적

다양한 미들웨어의 확산

MDA
(Model Driven Architecture)

PIM
(Platform Independent Model)

PSM
(Platform Specific Model)

특정한 기술플랫폼이나 기반 기술에 독립적인 방법으로 시스템을 설계한 모델

특정 기술에 종속적인 요구사항들이 포함된 시스템 모델 정보

모두 UML(Unified Modeling Language)로 기술된다

MDA 접근 방법은 시스템을 PIM을 통하여 특정기술에 특화된 PSM을 만들어냄으로써 기반 기술이 변화하더라도 PIM 변환을 통해서 해당 기술변화에 대응하는 PSM을만들어냄으로써 시스템을 보다 효율적으로 유지할 수 있다. 이렇게 하나의 시스템을 PIM과 PSM으로 기술하는 것은 좀더 유연하고 생산성높은 모델수준의 시스템통합을 이루게할 수 있다

MDA는 CORBA와 같이 실제 구현 수준의 표준이 아닌 설계 수준의 표준

  1. PIM을 정의함으로 시작
  2. PIM에 정형화된 변환 법칙을 사용해서 PSM을 생성
  3. PSM을 통해서 실제로 동작하는 구현 코드 생성

MDA 방식으로 개발된 시스템의 이점

기술 변화 상황에 효울적으로 대처할 수 있다

시스템 인프라 변화에 유연하게 대처할 수 있다

시스템의 유지 보수 비용이 적으며 시스템의 수명이 길다.

OMG 표준

UML
(Unified Modeling Language)

MOF
(Meta Object Facility)

CWM
(Common Warehouse Matamodel)

XMI
(XML Metadata Interchange)

객체 및 컴포넌트 시스템을 표현하기 위한 표준언어

모델 정보에 대한 표준적인 저장소를 제공하는 표준화된 방식으로 모델 정보를 접근하는 구조를 정의

데이터 저장소 통합에 대한 표준을 정의하고 데이터 베이스 모델과 스키마 변환 모델, OLAP, 데이터마이닝 모델에 대한 표준화 된 표현방법을 제공

UML로 기술된 모델 정보의 XML 표현에 대한 표준

MDA는 비즈니스 모델을 IT 하부구조와 분리함으로써 기술 변화 상황에 적절하게 대응하고 시스템 통합을 용의하게 함으로 생산성을 얻는 것을 목표로 한다.

MDA는 핵심이 되는 시스템 모델들을 분리하고 그들 사이에 일관된 구조를 정의한다.

PIM과 PSM으로 분리하는 이점

플랫폼에 종속적인 사항을 고려하지 않아도 되므로 PIM 수준에서의 모델의 완전을 확인하기가 쉽다

PIM을 통한 PSM의 생성을 통해서 기술변화에 유연하게 대처할 수 있다

시스템의 통합과 상호 운영성을 PIM 수준에서 정의함으로써 좀더 유연한 방식으로 해결될 수 있다

PIM과 PSM의 분리와 더불어 중요한 점은 PIM에서 PSM으로의 변호나과 PSM에서 실제 코드로의 변환이다.

MDA에서의 매핑은 하나의 모델에서 다른 모델로 변환하기 위한 일련의 규칙들의 집합

PIM to PIM
PIM to PSM
PSM to PSM
PSM to PIM

UML Profile은 UML의 기본 빌딩 블록들을 특별한 목적에 맞도록 UML의 stereotype과 tagged value 두 가지 자체 확장 매커니즘을 사용해서 확장한 것

UML Profile for CORBA
UML Profile for EJB
UML Profile for EDOC
UML Profile for EAI
UML Profile for Schedulability, Performance, and Time