메타 오브젝트 퍼실리티

메타 오브젝트 퍼실리티(MOF, Meta-Object Facility)는 모델 기반 엔지니어링을 위한 객체 관리 그룹(OMG, Object Management Group) 표준이다. 그 목적은 CORBA 아키텍처의 엔터티에 대한 유형 시스템과 해당 유형을 생성하고 조작할 수 있는 인터페이스 세트를 제공하는 것이다. MOF는 도메인 중심 소프트웨어 설계 및 객체 지향 모델링에 사용될 수 있다.

개요 
MOF는 CORBA 아키텍처에서 사용하기 위한 자료형 체계, 객체의 구조, 의미 및 동작을 정의할 수 있는 스키마 세트, 이러한 스키마를 생성, 저장 및 조작할 수 있는 CORBA 인터페이스 세트를 제공하기 위해 개발되었다.

MOF는 4계층 아키텍처로 설계되었다. M3 레이어라고 불리는 최상위 레이어에 메타-메타 모델을 제공한다. 이 M3 모델은 MOF가 M2 모델이라는 메타모델을 구축하는 데 사용하는 언어이다. 레이어 2 MOF 모델의 가장 두드러진 예는 UML 자체를 설명하는 모델인 UML 메타모델이다. 이러한 M2 모델은 M1 계층의 요소, 즉 M1 모델을 설명한다. 예를 들어 UML로 작성된 모델이 될 수 있다. 마지막 레이어는 M0 레이어 또는 데이터 레이어이다. 실제 물체를 설명하는 데 사용된다.

M3 모델 외에도 MOF는 해당 작업을 설명하는 CORBA 인터페이스를 정의하여 모델과 메타모델을 생성하고 조작하는 방법을 설명한다. MOF M3 모델과 UML 구조 모델 간의 유사성으로 인해 MOF 메타모델은 일반적으로 UML 클래스 다이어그램으로 모델링된다.

파일 형식 
MOF 사양 모델(M3-, M2- 또는 M1-Layer)에서 W3C XML 및 XSD로의 변환은 XMI(ISO/IEC 19503) 사양에 의해 지정된다. XMI는 모델에 대한 XML 기반 교환 형식이다.

MOF부터 Java™까지 자바 커뮤니티 프로세스의 JMI(Java Metadata Interchange) 사양이 있다.

또한 자동 CORBA IDL 인터페이스 생성을 더 쉽게 만드는 사양도 제공한다.

같이 보기 
 메타모델링
 도메인 특화 언어
 메타데이터
 모델 구동형 아키텍처
 QVT
 플랫폼 독립 모델
 플랫폼 특화 모델

외부 링크 
 OMG's MetaObject Facility

명세 언어
데이터 모델링
통합 모델링 언어
ISO 표준