
La Meta-Object Facility ( MOF ) es un estándar del Object Management Group (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. MOF se puede utilizar para el diseño de software dirigido por dominios y el modelado orientado a objetos . [ 1 ] : 15
Descripción general
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 se podrían crear, almacenar y manipular estos esquemas. [ 2 ]
MOF está diseñado como una arquitectura de cuatro capas. Proporciona un metamodelo en la capa superior, denominada capa M3. Este modelo M3 es el lenguaje que utiliza MOF para construir metamodelos, llamados modelos M2. El ejemplo más destacado de un modelo MOF de la capa 2 es el metamodelo UML, el modelo que describe el propio UML. Estos modelos M2 describen elementos de la capa M1 y, por lo 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 dichas operaciones. Debido a las similitudes entre el modelo M3 de MOF y los modelos de estructura UML, los metamodelos de MOF suelen representarse como diagramas de clases UML.
Formatos de archivo
La conversión de modelos de especificación MOF (capas M3, M2 o M1) a XML y XSD del W3C se especifica mediante la especificación XMI (ISO/IEC 19503). XMI es un formato de intercambio de modelos basado en XML. [ 1 ] : xi
De MOF a Java existe la especificación Java Metadata Interchange (JMI) del Java Community Process . [ 1 ] : xi
También proporciona especificaciones para facilitar la generación automática de interfaces CORBA IDL. [ 1 ] : 3
Arquitectura de metamodelado
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 del modelo en cada capa se corresponde estrictamente con un elemento del modelo de la capa superior. MOF solo proporciona un medio para definir la estructura o sintaxis abstracta de un lenguaje o de datos. Para definir metamodelos, MOF desempeña exactamente el mismo papel que EBNF para definir gramáticas de lenguajes de programación. MOF es un lenguaje específico de dominio (DSL) utilizado para definir metamodelos, al igual que EBNF es un DSL para definir gramáticas. De forma similar a EBNF, MOF podría definirse en MOF.
En resumen, MOF utiliza el concepto de MOF::Classes (que no debe confundirse con UML::Classes ), propio de la orientación a objetos , para definir conceptos (elementos del modelo) en una metacapa. MOF puede utilizarse para definir metamodelos orientados a objetos (como UML, por ejemplo) y también metamodelos no orientados a objetos (por ejemplo, una red de Petri o un metamodelo de servicio web ).
A partir de mayo de 2006, la OMG ha definido dos puntos de cumplimiento para MOF:
En junio de 2006, OMG emitió una solicitud de propuestas para una tercera variante, SMOF (Semantic MOF).
La variante ECore que se ha definido en el Eclipse Modeling Framework está más o menos alineada con el 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 herramientas para consultar, visualizar y transformar modelos basados en MOF, es un estándar muy importante, aprobado en 2008. Consulte el Lenguaje de Transformación de Modelos para obtener más información.
estándar internacional
MOF es un estándar internacional:
- MOF 2.4.2
- ISO / IEC 19508:2014 Tecnología de la información — Grupo de gestión de objetos Meta Object Facility (MOF) Core
- MOF 1.4
- ISO / IEC 19502:2005 Tecnología de la información — Meta Object Facility (MOF)
MOF puede considerarse un estándar para escribir metamodelos , por ejemplo, para modelar la sintaxis abstracta de los lenguajes específicos de dominio . Kermeta es una extensión de MOF que permite adjuntar acciones ejecutables a los metamodelos EMOF, lo que posibilita modelar también la semántica operacional de un DSL y obtener fácilmente un intérprete para él.
JMI define una API de Java para manipular modelos MOF.
El MOF de OMG no debe confundirse con el Managed Object Format (MOF) definido por el Distributed Management Task Force (DMTF) en la sección 6 de la Common Information Model (CIM) Infrastructure Specification, versión 2.5.0. [ 3 ]
Véase también
Referencias
- 1 2 3 4 5 6 "Especificación principal de OMG Meta-Object Facility (MOF), versión 2.4.1" . Object Management Group . pág. 1. Consultado el 17 de febrero de 2014 .
- ↑ "Common Facilities RFP-5: Meta-Object Facility" (PDF) . Object Management Group. 2 de mayo de 1996. Consultado el 14 de enero de 2014 .
- ↑ Estructura de interfaz del modelo de interfaz común (CIM), versión 2.5.0
Lecturas adicionales
- Especificación oficial MOF de OMG
- Ralph Sobek, Documentos de especificaciones del Ministerio de Finanzas
- 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, de MOF a EMF y viceversa.
- Integrando la ejecutabilidad en metalenguajes orientados a objetos
- Solicitud de propuestas (RFP) para el soporte de MOF para estructuras semánticas en SMOF
Enlaces externos
- Instalación de metaobjetos de OMG
- Lenguajes de especificación
- Modelado de datos
- Lenguaje Unificado de Modelado
- Normas ISO