mda 기반s/w 개발기술 - mobile media laboratorywoorisol.knu.ac.kr/median/6/image/mda.pdf ·...

32
MDA MDA 기반 기반 S/W S/W 개발 개발 기술 기술 컴퓨터소프트웨어연구소 S/W. 컨텐츠기술연구부 컴포넌트공학연구팀 2002. 11. 27. 신규상

Upload: nguyenmien

Post on 14-Apr-2018

227 views

Category:

Documents


3 download

TRANSCRIPT

MDA MDA 기반기반 S/W S/W 개발개발 기술기술

컴퓨터소프트웨어연구소S/W.컨텐츠기술연구부

컴포넌트공학연구팀

2002. 11. 27.

신 규 상

컴포넌트공학연구팀 2

I. MDA 기반 S/W 개발 기술 개요

컴포넌트공학연구팀 3

기술의

복합화

. 상호 이질적인 환경 : 다양한 H/W, 다양한 O/S, 다양한 네트워크, ...

. 다양한 언어 : COBOL, C, C++, ASP, JSP, Visual Basic, Java, C#, ...

. 다양한 S/W 플랫폼 : J2EE, .NET, SUN ONE, CORBA 3.0, ...

서비스

환경의

다양화

. 글로벌 분산 환경 : 차세대 인터넷, 무선 인터넷, ...

. 다양한 정보단말 : PC, 정보가전, PDA, POST-PC, Smart Phone, …

기술의

급격한

변화

. 구현 형태의 변화 : ActiveX, COM, COM+, Java Applet, EJB, CCM, ...

. 새로운 기술의 요구 : 사용자 요구사항의 변화

. 웹 서비스의 발전 : 웹 기반의 차세대 분산 컴퓨팅 환경(.NET, SUN ONE, … )

상호운용성(Interoperability)

결여

이식성(Portability)

부족

소프트웨어개발의어려움

오늘날의 S/W 개발환경

컴포넌트공학연구팀 4

미들웨어 플랫폼의 한계

▣ 다양한 미들웨어 플래폼의 등장

◈ 미들웨어 프레임워크, 컴포넌트 플랫폼과 같은 의미

◈ SUN사의 J2EE, MS사의 .NET, OMG의 CORBA 3

▣ 다양한 컴포넌트 아키텍쳐의 등장

◈ SUN사의 EJB, MS사의 COM+, OMG의 CCM(CORBA Component Model)

▣ 기업의 시스템 구성 어려움

◈ 내부 조직의 서로 다른 요구로 하나의 컴포넌트 플랫폼만을 가지고 기업 전체

시스템 구성 어려움

◈ 특히 외부의 시스템과 통합하기에는 더욱 어려움

▣ 서로 다른 컴포넌트 플랫폼 간의 연동 문제

◈ OMG에서 CORBA 사양을 중심으로 플랫폼간의 연동구조를 정의하고 있음

◈ J2EE와 CORBA는 호한이 가능하나 .NET과는 호환이 어려움

다양한 컴포넌트를 지원하는 표준 모델의 정의가 시급

컴포넌트공학연구팀 5

MDA 표준 등장

◈ OMG에서 2001년 3월에 기술 표준 방향에 대하여 합의를 한 후, 2001년 9월에새로운 소프트웨어 아키텍쳐로 MDA를 전면적으로 채택

◈ 향후 20년을 지속할 소프트웨어 아키텍쳐 모델(OMG, 2001)

현 재

다중 플랫폼 지향 개발 절차MDA(Model Driven Architecture) 기반

단일 플랫폼 지향 개발 절차

비즈니스 모델링

EJB 종속기본 모델

COM+ 종속기본 모델

CCM 종속기본 모델

EJB컴포넌트

COM+컴포넌트

CCM컴포넌트

EJB 종속상세 모델

COM+ 종속상세 모델

CCM 종속상세 모델

비즈니스 모델링

플랫폼 독립적인 기본 모델

특정 플랫폼에 매핑

향 후

EJB컴포넌트

COM+컴포넌트

CCM컴포넌트

EJB 종속상세 모델

COM+ 종속상세 모델

CCM 종속상세 모델 Platform

Specific Model

Platform Specific Model

Platform Independent

Model

Platform Independent

Model

컴포넌트공학연구팀 6

S/W 개발 패러다임

Step-wiseProceduralRefinement

ObjectComposition

Paradigm

DistributedObjects

Technology

ModelTransformation

Paradigm

F L E X I B I L I T Y

C O

M P L

E X

I T Y

CPascalModular

C++Java

Smalltalk

CORBAJava RMI

EJB

Model Driven ArchitectureMeta Object Facility and UMLShared Metadata Environment

(.NET, CWM, JMI)

(출처 : EURESCOM Report, 2002.1.)

컴포넌트공학연구팀 7

MDA 개념 (1/2)

▣ 설계 모델과 구현 모델의 분리◈ 설계 모델은 플랫폼에 독립적인 모델(PIM)로 기술

◈ 플랫폼에 종속적인 모델(PSM)은 매핑을 통하여 PIM을 변환하여 생성

◈ PIM과 PSM은 UML로 기술Platform

Independent Application UML Model

PlatformIndependent Application UML Model

Mapping toWebServices

ServerPlatform

Mapping toWebServices

ServerPlatform

WebServicesModel

WebServicesArtifact

WebServicesserver

Mapping to CCM/EJB

ServerPlatform

Mapping to CCM/EJB

ServerPlatform

CCM/EJBModel

CCM/EJBArtifact

CCM/EJBserver

Mapping toC#/.NETServer

Platform

Mapping toC#/.NETServer

Platform

C#/.NETModel

C#/.NETArtifact

C#/.NETserver

Mapping toBrowerClient

Platform

Mapping toBrowerClient

Platform

BrowerClientModel

BrowerClient

Artifact

BrowerClientserver

Mapping toPagerClient

Platform

Mapping toPagerClient

Platform

PagerClientModel

PagerClient

Artifact

PagerClientserver

MappingToolapplies

To Produce

From ThisCodeGeneratorproduces

FinallyCompile,Configure,Assemblyyields

Input to

기술 변화에효율적 대처

시스템 인프라변화에 유연 대처

유지보수 용이

시스템 생명연장

기 대 효 과

컴포넌트공학연구팀 8

컴포넌트/웹 서비스 플랫폼(J2EE, CORBA, .NET, SUN ONE, SOAP...)컴포넌트/웹 서비스 플랫폼(J2EE, CORBA, .NET, SUN ONE, SOAP...)

컴포넌트 플랫폼 독립 모델(UML, MOF, XML, XMI … )컴포넌트 플랫폼 독립 모델(UML, MOF, XML, XMI … )

컴포넌트 플랫폼 매핑(UML4EJB, UML4CORBA, UML4.NET, UML4SOAP … )컴포넌트 플랫폼 매핑(UML4EJB, UML4CORBA, UML4.NET, UML4SOAP … )

e-Business어플리케이션

개발용 컴포넌트

e-Business어플리케이션

개발용 컴포넌트

e-Business포탈 서비스용

컴포넌트

e-Business포탈 서비스용

컴포넌트

e-Business어플리케이션

통합용 컴포넌트

e-Business어플리케이션

통합용 컴포넌트? ? ??

재무관리 시스템재무관리 시스템 생산관리 시스템생산관리 시스템 보험관리 시스템보험관리 시스템 의료관리 시스템의료관리 시스템 ? ? ?

이식성, 플랫폼간 상호운용성, 플랫폼독립, 영역별 모델 신속 개발 , 생산성 향상이식성, 플랫폼간 상호운용성, 플랫폼독립, 영역별 모델 신속 개발 , 생산성 향상

플랫폼 종속 컴포넌트 모델(UML, MOF, XML, XMI … )플랫폼 종속 컴포넌트 모델(UML, MOF, XML, XMI … )

MDA 개념 (2/2)

컴포넌트공학연구팀 9

Core Core TechnologiesTechnologies

Core Target Core Target PlatformsPlatforms

Pervasive Pervasive ServicesServices

Vertical Vertical DomainsDomains

MDA 구조

컴포넌트공학연구팀 10

MDA의 핵심 기술

▣ UML(Unified Modeling Language)◈ 객체 및 컴포넌트 시스템을 표현하기 위한

표준 언어

◈ 현재 UML 1.4, UML 2.0 작업 중

▣ MOF(Meta Object Facility)◈ 모델 정보에 대한 표준적인 저장소를 제공

하고 표준화된 모델 정보를 접근하는 구조를 정의

◈ 현재 MOF 1.4

▣ CWM(Common Warehouse Metamodel)◈ 데이터 저장소에 대한 표준을 정의하고 데

이터베이스 모델과 스키마 변환 모델, OLAP, 데이터 마이닝 모델에 대한 표준화된 방법 제공

◈ 현재 CWM 1.0

▣ XMI(XML Metadata Interface)◈ UML로 기술된 모델 정보와 XML 표현에

대한 표준

◈ 현재 XMI 1.2

컴포넌트공학연구팀 11

MOF 4 Layers

컴포넌트공학연구팀 12

▣ 매핑 규칙을 제공하는 UML Profile

◈ UML의 기본 기본 모델을 특별한 목적에 맞도록 UML의 Stereotype과 Tagged

Value 메커니즘을 사용해 확장

▣ UML Profile 진행 현황

UML Profile

※ JCP : Java Community Process

내 용 표준 명칭(약칭) 진행 현황

CORBA CCM을 PSM에서 UML로 표현 UML4CORBA 채택

EJB를 PSM에서 UML로 표현 UML4EJB JCP에서 채택

웹 서비스를 PSM에서 UML로 표현 UML4SOAP 진행 중

.NET/COM+를 PSM에서 UML로 표현 UML4.NET 착수

Enterprise 어플리케이션을 PIM 수준에서 기술 UML4EDOC 채택

Loosely-coupling 시스템을 PIM 수준에서 기술 UML4EAI 채택

컴포넌트공학연구팀 13

MDA 기반 개발 공정 – PIM 작성

▣ UML을 이용하여 PIM 작성 시작

▣ 기본 PIM : 비즈니스 기능과 행위만을 기술, 즉 구현 기술과는 무관

▣ 상세 PIM : 구현 기술과 연관된 상세 PIM

◈ Activation pattern, persistence, transactionality, security level,

configuration information 등 포함

▣ 기본 서비스(Pervasive Service) 및 영역 특성에 대한 내용 포함

▣ 서버의 내용 뿐만 아니라 클라이언트 환경의 모델링도 가능

▣ MOF 기반의 repository에 저장

컴포넌트공학연구팀 14

PIM 예

컴포넌트공학연구팀 15

MDA 기반 개발 공정 – PSM 작성

▣ 자동화 도구를 이용하여 PIM을 PSM으로 변환

◈ PSM을 기술하기 위한 UML Profile(UML4EJB, UML4CORBA 등)에

부합되도록 매핑하여 변환

◈ 일반적인 어플리케이션 모델로 설계된 실행 특성과 구성 정보들은

목표 플랫폼에 의해 요구되는 특정한 형태로 변환

▣ 4단계 매핑 변환 방법

◈ 100% 수작업

◈ 설정된 패턴을 이용하여 특정한 PSM으로 수작업

◈ 도구를 이용하여 PSM 골격을 생성한 후 수작업

◈ 도구를 이용하여 완전한 PSM으로 변환

컴포넌트공학연구팀 16

PSM 예

컴포넌트공학연구팀 17

MDA 기반 개발 공정 – 어플리케이션 생성

▣ 자동화 도구를 이용하여 구현 환경에 적합한 코드 생성

◈ MDA 도구를 이용하여 PSM으로부터 개발자가 선택한 플랫폼을 위

한 구현 코드 전체 또는 대부분을 생성

▣ 새로운 플랫폼 상에의 재 통합은 역공학을 통하여 수행 가능

◈ 소스 코드를 PSM으로, PSM을 PIM으로 변환한 후, PIM을 새로운

플랫폼에 적합한 PSM으로, PSM에서 코드를 다시 생성

컴포넌트공학연구팀 18

모델 변환 유형

▣ PIM to PSM Mapping

◈ PIM이 개발단계에서 좀 더 상세화하는 단계

▣ PIM to PSM Mapping

◈ 상세한 PIM을 PSM으로 변환

▣ PSM to PSM Refactoring

◈ PSM을 좀 더 상세화하는 단계로서 실제 구현과 관련된 정보 포함

◈ 예 : 컴포넌트 실행을 위한 컨테이너 정보, 설정 정보, 전개 정보

▣ PSM to PIM Refactoring

◈ 기존 시스템의 PSM을 추상화하여 PIM으로 역변환

컴포넌트공학연구팀 19

MDA 메타 모델

MOF

Other languages

UML

Metamodel

PIM Mapping techniques

PSM Mapping techniques

PIM

PSM

Infrastructure

<<expressed with>>

<<expressed with>>

<<expressed with>>

<<based on>>

1..n

<<based on>>

1..n

Refactoring Refactoring from PSM from PSM to PIMto PIM

<<described with>>

1..n

<<described with>>

1..n

Mapping Mapping from PIM from PIM to PIMto PIM

1..n

Mapping Mapping from PIM from PIM to PSMto PSM

1..n

Mapping Mapping from PSM from PSM to PSMto PSM

1..n

<<depends on>>

컴포넌트공학연구팀 20

주요 업체의 MDA 기술 개발 현황

IBM

IONA

SUN

RationalSoftware

InteractiveObjects

WebSphere MDA Architecture

Orbix E2A 등

UML4EJB

Rational사의 Rational RoseKabira사의 VDC

ArcStyler 3.0

향후 WebSphere Product Family에서MDA 지원 예정 발표(2001. 11)

새로운 비즈니스 통합 솔루션으로MDA를 채택(2001. 3)

UML4EJB 등 MDA에서 Java를 지원하는 표준 명세개발을 주도적으로 수행

Kabira사와 MDA 지원 도구를 개발하기로 협정 체결(2001. 12)

MDA 를 지원하며 J2EE/EJB. .NET, CORBA 지원

업체명 주요 관련 제품 현 황

KennedyCarter

iUMLMDA 개념을 잘 수용하고 있으나

Ada/C++ 언어 지원

SOFTTEAM Objecteering/UMLMDA 개념을 잘 수용하고 있으며

UML4EJB 지원

TogetherSoft

Together Control Center 6.0 MDA 지원 예정 발표(2002. 10)

컴포넌트공학연구팀 21

세계 컴포넌트 산업 시장 규모

▣ MDA 기반 컴포넌트 개발 도구 시장◈ 2005년에 5억 달러 시장이 될 것이며, 2007년에는 컴포넌트 개발도구

전체 시장의 50%를 점유할 것임(Cutter Consortium의 Paul Harmon, 2001.10.)

(출처 : IDC, 2002.5.)※ MDA 기반 컴포넌트 개발도구는 통합 개발 환경과 분석/설계 도구에 포함

(단위 : 백만 달러)

2001 2002 2003 2004 2005 2006평균

성장율

S/W 컴포넌트 560 576 637 722 823 928 10.6%

통합 개발 환경 11.4%

합 계 6,308 6,764 7,706 8,862 10,147 11,493 12.7%

구 분

어플리케이션 서버 2,208 2,535 2,956 3,411 3,893 4,379 14.7%

2,942 3,064 3,411 3,908 4,451 5,051

분석/설계 도구 598 619 702 821 980 1.135 13.7%

컴포넌트공학연구팀 22

국내 컴포넌트 산업 시장 규모

(단위 : 억원)

S/W 컴포넌트 22 23 25 28 34 39 12.0%

합 계 581 764 1,085 1,568 2,216 2,937 38.3%

어플리케이션 서버 325 505 808 1,253 1,853 2,503 50.3%

통합 개발 환경 11.2%209 211 225 256 294 355

2001 2002 2003 2004 2005 2006평균

성장율구 분

분석/설계 도구 25 25 27 31 35 40 10.3%

(출처 : IDC, 2002.5.)※ MDA 기반 컴포넌트 개발도구는 통합 개발 환경과 분석/설계 도구에 포함

컴포넌트공학연구팀 23

II. MDA 기반 컴포넌트 통합 기술개발 계획(안)

컴포넌트공학연구팀 24

MDA 기반 컴포넌트 개발 기술MDA 기반 컴포넌트 개발 기술

컴포넌트 플랫폼에 독립적인 기본 설계 모델을 정의하고, 이를 기반으로 원하는 플랫폼에 맞는 컴포넌트 S/W를 생성하는

차세대 S/W 개발 기술

기본 설계모델

상세 설계모델

자동 변환

컴포넌트 S/W

응용 영역분석

다양한 컴포넌트 플랫폼에서 작동이 되는

S/W를 개발하고 싶을 때 .NET 기반

J2EE 기반

CORBA 기반

컴포넌트 플랫폼(J2EE, .NET, CORBA)

※ MDA(Model Driven Architecture) : OMG에서 표준으로 채택한 S/W 모델 기반의 분석, 설계, 구축 및 전개를 위한차세대 S/W 개발 구조

※ 컴포넌트 플랫폼 : 컴포넌트로 구성된 응용 프로그램이 작동하는데 필요한 기본 서비스가 제공되는 기반 S/W로써J2EE, .NET, CORBA 등이 있음

MDA 기반 컴포넌트 개발 기술 정의

컴포넌트공학연구팀 25

최종 목표최종 목표

세부 목표세부 목표

▣ MDA 기반 컴포넌트 통합 개발 프로세스 기술 개발

▣ MDA 기반 컴포넌트 생성 기술 개발

▣ MDA 기반 컴포넌트 조립 기술 개발

▣ MDA 기반 웹 서비스 생성 기술 개발

▣ MDA 기반 웹 서비스 조립 기술 개발

컴포넌트 플랫폼에 독립적으로 소프트웨어를 개발할 수 있는

국제 표준인 MDA(Model Driven Architecture)를 기반으로 하는

컴포넌트 통합 개발 도구의 시제품 개발

컴포넌트컴포넌트 플랫폼에플랫폼에 독립적으로독립적으로 소프트웨어를소프트웨어를 개발할개발할 수수 있는있는

국제국제 표준인표준인 MDA(Model Driven Architecture)MDA(Model Driven Architecture)를를 기반으로기반으로 하는하는

컴포넌트컴포넌트 통합통합 개발개발 도구의도구의 시제품시제품 개발개발

연구 개발 목표

컴포넌트공학연구팀 26

MDA 기반 컴포넌트 통합 개발도구 주요 특징

▣ OMG의 MDA 표준 명세 100% 지원

▣ 컴포넌트 생성 및 조립, 웹 서비스 생성 및 조립 기능 지원

▣ 컴포넌트 플랫폼 : J2EE, SUN ONE, .NET, CORBA 지원

▣ 컴포넌트 아키텍쳐 : EJB 2.0, COM+, CCM 지원

▣ 프로그래밍 언어 : Java, C++, C#, JSP, Servlet 지원

▣ 분석 및 설계 모델링 언어 : UML 1.4 이상 지원

▣ 정보저장소(Repository) : MOF 1.3 지원

▣ 비즈니스 모델, PIM, PSM은 규칙 기반의 검증 지원

▣ ASL(Action Semantics Language) 지원을 통해 비즈니스 로직 생성

▣ 소스 코드로부터 PSM으로, PSM을 PIM으로 역변환 100% 지원

▣ 모델과 소스 코드간에 동시 SRE(Simultaneous Round-trip Engineering) 지원

▣ 통합 개발환경(IDE) : Eclipse 기반으로 지원

컴포넌트공학연구팀 27

MDA 기반 컴포넌트 통합 개발 도구

MDA 기반 컴포넌트 통합 개발도구 구성도(안)

프로세스 관리기(Process Manager)

비즈니스 모델 생성기(Business Model Generator)

PIM 생성기(PIM Generator)

PSM 생성기(PSM Generator)

코드생성기(Code Generator)

컴포넌트/웹서비스전개기(Component/Web Services

Deployer)

시험기(Tester)

모델

매핑

관리

기(M

od

el

Map

pin

g M

an

ag

er)

메타

모델

정의

기(M

eta

Mo

del

Defi

ner)

설계

패턴

관리

기(D

esig

n P

att

ern

Man

ag

er)

통합 개발환경(IDE)

모델 정보 저장소(Model Repository)

컴포

넌트

/웹서

비스

저장

소(C

om

po

nen

t/W

eb

Serv

ices R

ep

osit

ory

)

컴포넌트공학연구팀 28

MDA 기반 컴포넌트 통합 개발도구 기능 (1/3)

▣ 프로세스 관리기

◈ UML 프로파일 및 추가 프로세스 단계를 적용하여 새로운 프로세스를 생성

할 수 있으며, 프로세스 진행 중 생성/소멸/변경되는 모델들을 추적 관리

▣ 비즈니스 모델 생성기

◈ 시스템의 전체 프로세스를 보여주며 개발하는 시스템에 대한 기능적, 비기

능적 요구사항을 분석한 후 컴포넌트를 식별

▣ PIM 생성기

◈ 식별된 컴포넌트를 이용하여 아키텍쳐를 생성하고 시스템의 세부 요소들을

UML 기반으로 PIM을 모델링하며, PIM을 정제하고 생성된 PIM을 검증

▣ PSM 생성기

◈ PIM으로부터 플랫폼에 종속적인 PSM으로 변환하고, 컴포넌트 생성 및 조

립과 웹 서비스 생성 및 조립을 위한 PSM을 정제하고 생성된 PSM을 검증

컴포넌트공학연구팀 29

▣ 코드 생성기

◈ PSM 정보를 이용하여 골격 코드와 비즈니스 로직 코드를 생성하고, 생성된

소스 코드 정보와 PSM 정보를 일치시킴

▣ 모델 매핑 관리기

◈ 비즈니스 모델, PIM, PSM 등 다양한 모델간의 변환을 위한 매핑 규칙을 정

의하며, 매핑 엔진을 이용하여 모델 변환을 자동화

▣ 메타 모델 정의기

◈ 새로운 UML 프로파일을 정의하고, 프로파일이 UML 메타 모델 규칙과

MOF 규칙에 맞게 정의 되었는지 검증

▣ 설계 패턴 관리기

◈ 비즈니스 모델 생성기, PIM 생성기, PSM 생성기에서 자주 사용되는 설계 정

보들을 패턴화 하여 정의하고, 모델링 과정에서 패턴들의 적용을 지원

MDA 기반 컴포넌트 통합 개발도구 기능 (2/3)

컴포넌트공학연구팀 30

▣ 컴포넌트/웹 서비스 전개기

◈ 컴포넌트 및 웹 서비스 코드에 대한 패키징과 서버에 전개하는 과정을 지원

▣ 시험기

◈ 단위 컴포넌트와 합성 컴포넌트의 인터페이스를 시험할 수 있으며, 웹 서비

스의 인터페이스를 시험

▣ 모델 정보저장소

◈ 메타 모델 정보와 메타 모델의 인스턴스인 모델 정보 등 도구 전체의 모델

정보를 관리

▣ 컴포넌트/웹 서비스 저장소

◈ 생성된 컴포넌트와 웹 서비스를 저장소에 저장하고, 저장된 컴포넌트와 웹

서비스의 정보를 검색하거나 수정 및 삭제

▣ 통합 개발환경

◈ 컴파일러, 디버거, 버전/형상관리기, 단위 시험기 등 프로그래밍을 위한 개

발 환경

MDA 기반 컴포넌트 통합 개발도구 기능 (3/3)

컴포넌트공학연구팀 31

참고 자료

컴포넌트공학연구팀 32

참고 자료

▣ OMG Model Driven Architecture Home Page : http://www.omg.org/mda/index.htm

▣ Richard Soley and the OMG Staff Strategy Group, “Model Driven Architecture”, ftp://ftp.omg.org/pub/docs/omg/00-11-05.pdf

▣ OMG Architecture Board MDA Drafting Team, “Model Driven Architecture: A Technical Perspective”, http://cgi.omg.org/docs/ormsc/01-07-01.pdf

▣ Jon Siegal and the OMG Staff Strategy Group:, “Developing in OMG’s Model Driven Architecture”, ftp://ftp.omg.org/pub/docs/01-12-01.pdf

▣ OMG, “UML 1.4 Specification”, http://cgi.omg.org/docs/formal/01-09-67.pdf

▣ OMG, “UML Profile for EDOC Final Adopted Specification”, http://cgi.omg.org/docs/ptc/02-02-05.pdf

▣ JSR, “JSR-000026 UML/EJBTM Mapping Specification 1.0”, http://jcp.org/aboutJava/communityprocess/review/jsr026/index.html

▣ OMG, “UML Profile for CORBA Version 1.0”, http://www.omg.org/cgi-bin/doc?formal/02-04-01

▣ OMG, “UML for EAI Final Adopted Specification”, http://cgi.omg.org/docs/ptc/02-02-02.pdf

▣ OMG, “Common Warehouse Metamodel(CWM) Specification Version 1.0”, http://cgi.omg.org/docs/formal/01-10-01.pdf

▣ OMG, “Meta Object Facility(MOF) Specification Version 1.4”, http://cgi.omg.org/docs/formal/02-04-03.pdf

▣ OMG, “XML Metadata Interchange Version 1.2”, http://cgi.omg.org/docs/formal/02-01-01.pdf