메타 오브젝트 퍼실리티

Meta-Object Facility
Meta-Object Facility의 그림입니다.

Meta-Object Facility(MOF)는 모델 구동 엔지니어링을 위한 Object Management Group(OMG; 객체 관리 그룹) 표준입니다.그 목적은 CORBA 아키텍처 내의 엔티티에 타입 시스템을 제공하고, 그러한 타입을 작성 및 조작할 수 있는 인터페이스 세트를 제공하는 것입니다.공식 레퍼런스 페이지는 OMG의 [1]웹사이트에서 찾을 수 있다.

개요

MOF는 CORBA 아키텍처에서 사용하기 위한 유형 시스템, 오브젝트의 구조, 의미 및 동작을 정의할 수 있는 스키마 세트 및 이러한 스키마를 생성, 저장 및 [2]조작할 수 있는 CORBA 인터페이스 세트를 제공하기 위해 개발되었습니다.

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

M3 모델 외에 MOF는 모델 및 메타모델을 작성 및 조작하는 수단을 기술하고 있습니다.이러한 조작을 기술하는 CORBA 인터페이스를 정의합니다.MOF M3 모델과 UML 구조 모델의 유사성으로 인해 MOF 메타모델은 일반적으로 UML 클래스 다이어그램으로 모델링됩니다.MOF의 지원 표준은 XMI입니다.XMI는 M3 레이어, M2 레이어 또는 M1 레이어 모델의 XML 기반 교환 형식을 정의합니다.

메타모델링 아키텍처

MOF는 클로즈드 메타모델링 아키텍처로, M3 모델을 정의하고 있습니다.MOF는 엄격한 메타모델링 아키텍처를 가능하게 합니다.각 레이어의 모든 모델 요소는 위의 레이어의 모델 요소와 엄밀하게 일치합니다.MOF는 언어 또는 데이터의 구조 또는 추상 구문을 정의하는 수단만 제공합니다.메타모델을 정의하기 위해 MOF는 프로그래밍 언어 문법을 정의하기 위해 EBNF와 동일한 역할을 수행합니다.EBNF가 문법을 정의하기 위한 DSL인 것처럼 MOF는 메타모델 정의에 사용되는 Domain Specific Language(DSL; 도메인 고유 언어)입니다.EBNF와 마찬가지로 MOF를 MOF로 정의할 수 있습니다.

즉, MOF는 객체 방향에서 알려진 MOF::Classes(UML::Classes와 혼동하지 않음) 개념을 사용하여 메탈레이어에 개념(모델 요소)을 정의합니다.MOF는 객체 지향 메타모델(UML 등) 및 비 객체 지향 메타모델(Petri net 또는 Web Service 메타모델)을 정의하기 위해 사용할 수 있습니다.

2006년 5월 현재 OMG는 MOF에 대해 다음 두 가지 컴플라이언스 포인트를 정의하고 있습니다.

  • EMOF(Essential[3] MOF)
  • 완전한[3] MOF를 위한 CMOF

2006년 6월에는 OMG에 의해 세 번째 변형인 SMOF(Semantic MOF)에 대한 제안 요청이 발행되었다.

Eclipse Modeling Framework에 정의변형 에코어는 OMG의 EMOF에 거의 맞춰져 있습니다.

또 다른 관련 표준은 OCL입니다. OCL은 술어 논리의 관점에서 모델 구속조건을 정의하는 데 사용할 수 있는 형식 언어를 기술합니다.

MOF 기반 모델을 조회, 표시 및 변환하는 수단을 도입하는 QVT는 2008년에 승인된 매우 중요한 표준입니다.자세한 내용은 모델 변환 언어를 참조하십시오.

국제 표준

MOF는 국제 표준입니다.

MOF 2.4.2
ISO/IEC 19508:2014 정보기술 - 객체 관리 그룹 Meta Object Facility(MOF) 코어
MOF 1.4
ISO/IEC 19502:2005 정보기술 - Meta Object Facility (MOF)

MOF는 예를 들어 도메인 고유 언어의 추상 구문을 모델링하기 위해 메타모델을 작성하기 위한 표준으로 볼 수 있습니다.Kermeta는 MOF의 확장으로 실행 가능한 액션을 EMOF 메타모델에 부가할 수 있습니다.따라서 DSL 동작 시멘틱스를 모델링하여 이를 위한 인터프리터를 쉽게 얻을 수 있습니다.

JMI는 MOF 모델을 조작하기 위한 Java API를 정의합니다.

OMG의 MOF는 Distributed Management Task Force(DMTF)가 Common Information Model(CIM) Infrastructure Specification, 버전 2.5.[4]0의 섹션6에서 정의한 Managed Object Format(MOF)과 혼동해서는 안 됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ OMG의 MetaObject 퍼실리티
  2. ^ "Common Facilities RFP-5: Meta-Object Facility" (PDF). Object Management Group. 2 May 1996. Retrieved 14 January 2014.
  3. ^ a b "OMG Meta-Object Facility (MOF) Core Specification, Version 2.4.1". Object Management Group. p. 1. Retrieved 17 February 2014.
  4. ^ Common Interface Model(CIM; 공통 인터페이스 모델) 인터페이스 구조, 버전 2.5.0

추가 정보

  • OMG 공식 MOF 사양
  • Ralph Sobek, MOF 사양서
  • 요하네스 에른스트 메타모델링이 뭐야?
  • 우디 피드콕, 어휘, 분류학, 동의어, 존재론, 메타모델의 차이점은 무엇인가요?
  • 애나 거버와 케리 레이먼드, 재경부에서 EMF로 갔다가 다시 돌아온다.
  • 오브젝트 지향 메타 언어로의 실행 가능성의 위빙
  • 시멘틱 구조 RFP 요청 SMOF에 대한 MOF 지원

외부 링크