De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda
Ilustración de la instalación de metaobjetos.

El Meta-Object Facility ( MOF ) es un Object Management Group estándar (OMG) para la ingeniería dirigida por modelos . Su propósito es proporcionar un sistema de tipos para entidades en la arquitectura CORBA y un conjunto de interfaces a través de las cuales se pueden crear y manipular esos tipos. La página de referencia oficial se puede encontrar en el sitio web de OMG. [1]

Resumen [ editar ]

MOF se desarrolló para proporcionar un sistema de tipos para su uso en la arquitectura CORBA , un conjunto de esquemas mediante los cuales se podría definir la estructura, el significado y el comportamiento de los objetos, y un conjunto de interfaces CORBA a través de las cuales estos esquemas se podrían crear, almacenar y manipular. . [2]

MOF está diseñado como una arquitectura de cuatro capas. Proporciona un meta-metamodelo en la capa superior, llamada capa M3. Este modelo M3 es el lenguaje utilizado por MOF para construir metamodelos, llamados modelos M2. El ejemplo más destacado de un modelo MOF de capa 2 es el metamodelo UML, el modelo que describe el propio UML. Estos modelos M2 describen elementos de la capa M1 y, por tanto, modelos M1. Estos serían, por ejemplo, modelos escritos en UML. La última capa es la capa M0 o capa de datos. Se utiliza para describir objetos del mundo real.

Más allá del modelo M3, MOF describe los medios para crear y manipular modelos y metamodelos mediante la definición de interfaces CORBA que describen esas operaciones. Debido a las similitudes entre el modelo MOF M3 y los modelos de estructura UML, los metamodelos MOF generalmente se modelan como diagramas de clases UML. Un estándar de soporte de MOF es XMI , que define un formato de intercambio basado en XML para modelos en la capa M3, M2 o M1.

Arquitectura de metamodelado [ editar ]

MOF es una arquitectura de metamodelado cerrada ; define un modelo M3, que se ajusta a sí mismo. MOF permite una arquitectura de metamodelado estricta ; cada elemento de modelo en cada capa está estrictamente en correspondencia con un elemento de modelo de la capa de arriba. MOF solo proporciona un medio para definir la estructura o la sintaxis abstracta de un lenguaje o de datos. Para definir metamodelos, MOF juega exactamente el papel que juega EBNF para definir las gramáticas de los lenguajes de programación. MOF es un lenguaje específico de dominio (DSL) que se utiliza para definir metamodelos, al igual que EBNF es un DSL para definir gramáticas. De manera similar a EBNF, MOF podría definirse en MOF.

En resumen, MOF utiliza la noción de MOF :: Classes (que no debe confundirse con UML :: Classes ), como se conoce por la orientación a objetos , para definir conceptos (elementos del modelo) en una metacapa. MOF se puede utilizar para definir metamodelos orientados a objetos (como UML por ejemplo) así como metamodelos no orientados a objetos (como una red de Petri o un metamodelo de servicio web ).

En mayo de 2006, OMG ha definido dos puntos de cumplimiento para MOF:

  • EMOF para Essential MOF [3]
  • CMOF para MOF completo [3]

En junio de 2006, OMG emitió una solicitud de propuesta para una tercera variante, SMOF (Semantic MOF).

La variante ECore que se ha definido en Eclipse Modeling Framework está más o menos alineada con EMOF de OMG.

Otro estándar relacionado es OCL , que describe un lenguaje formal que se puede utilizar para definir restricciones de modelo en términos de lógica de predicados .

QVT , que introduce medios para consultar, ver y transformar modelos basados ​​en MOF, es un estándar muy importante, aprobado en 2008. Consulte Lenguaje de transformación de modelos para obtener más información.

Estándar internacional [ editar ]

MOF es un estándar internacional:

MOF 2.4.2
ISO / IEC 19508: 2014 Tecnología de la información - Núcleo de instalación de metaobjetos (MOF) del grupo de gestión de objetos
MOF 1.4
ISO / IEC 19502: 2005 Tecnología de la información - Facilidad de metaobjetos (MOF)

MOF puede verse como un estándar para escribir metamodelos , por ejemplo, para modelar la sintaxis abstracta de lenguajes específicos de dominio . Kermeta es una extensión de MOF que permite adjuntar acciones ejecutables a metamodelos EMOF, lo que permite también modelar una semántica operativa DSL y obtener fácilmente un intérprete para ella.

JMI define una API de Java para manipular modelos MOF.

El MOF de OMG no debe confundirse con el formato de objeto administrado (MOF) definido por el Grupo de trabajo de administración distribuida (DMTF) en la sección 6 de la Especificación de infraestructura del modelo de información común (CIM), versión 2.5.0. [4]

Ver también [ editar ]

  • Metamodelo de almacén común
  • Lenguaje específico del dominio
  • Kermeta
  • KM3
  • Metamodelado
  • Metadatos
  • Arquitectura basada en modelos
  • OGML
  • Modelo independiente de la plataforma
  • Modelo específico de plataforma
  • QVT
  • SPEM
  • Intercambio de metadatos XML

Referencias [ editar ]

  1. ^ Instalación de MetaObject de OMG
  2. ^ "Instalaciones comunes RFP-5: Instalación de metaobjetos" (PDF) . Grupo de administración de objetos. 2 de mayo de 1996 . Consultado el 14 de enero de 2014 .
  3. ^ a b "Especificación principal de la facilidad de metaobjetos de OMG (MOF), versión 2.4.1" . Grupo de gestión de objetos . pag. 1 . Consultado el 17 de febrero de 2014 .
  4. ^ Estructura de interfaz del modelo de interfaz común (CIM), versión 2.5.0

Lectura adicional [ editar ]

  • Especificación oficial de MOF de OMG
  • Ralph Sobek, Documentos de especificaciones de MOF
  • Johannes Ernst, ¿Qué es el metamodelado?
  • Woody Pidcock, ¿Cuáles son las diferencias entre un vocabulario, una taxonomía, un tesauro, una ontología y un metamodelo?
  • Anna Gerber y Kerry Raymond, MOF a EMF y Back Again.
  • Tejiendo la ejecutabilidad en metalenguajes orientados a objetos
  • Soporte de MOF para estructuras semánticas RFP Solicitud de propuesta en SMOF

Enlaces externos [ editar ]

  • grupo de administración de objetos
  • Facilidad de metaobjetos de OMG
  • M3Actions: Semántica operativa de MOF