stringtranslate.com

Instalación de meta-objetos

Ilustración de la facilidad de meta-objeto.

Meta -Object Facility ( MOF ) es un estándar de Object Management Group (OMG) para ingeniería basada en 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 basado en dominios y el modelado orientado a objetos . [1] : 15 

Descripción general

MOF fue desarrollado para proporcionar un sistema de tipos para su uso en la arquitectura CORBA , un conjunto de esquemas mediante los cuales se pudiera definir la estructura, el significado y el comportamiento de los objetos, y un conjunto de interfaces CORBA a través de las cuales se pudieran crear, almacenar y manipular estos esquemas. [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 que utiliza 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 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 esas operaciones. Debido a las similitudes entre el modelo M3 de MOF y los modelos de estructura UML, los metamodelos MOF suelen modelarse como diagramas de clases UML.

Formatos de archivos

La conversión de los modelos de especificación MOF (capa M3, M2 o M1) a XML y XSD W3C se especifica mediante la especificación XMI (ISO/IEC 19503). XMI es un formato de intercambio basado en XML para modelos. [1] : xi 

Desde MOF hasta Java™ existe la especificación Java Metadata Interchange (JMI) de Java Community Process . [1] : xi 

También proporciona especificaciones para facilitar la generación automática de interfaces IDL CORBA. [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 está estrictamente en correspondencia 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 cumple exactamente el mismo papel que EBNF para definir gramáticas de 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 ), tal como se conoce en 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 (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 el MOF:

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

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 puede utilizarse para definir restricciones del modelo en términos de lógica de predicados .

QVT , que introduce medios para consultar, visualizar 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.

Norma 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 lenguajes específicos de dominio . Kermeta es una extensión de MOF que permite adjuntar acciones ejecutables a metamodelos EMOF, lo que permite modelar también la semántica operativa de un DSL y obtener fácilmente un intérprete para ello.

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. [3]

Véase también

Referencias

  1. ^ abcdef "OMG Meta-Object Facility (MOF) Core Specification, Version 2.4.1". Object Management Group . pág. 1 . Consultado el 17 de febrero de 2014 .
  2. ^ "Common Facilities RFP-5: Meta-Object Facility" (PDF) . Object Management Group. 2 de mayo de 1996 . Consultado el 14 de enero de 2014 .
  3. ^ Estructura de la interfaz del Modelo de interfaz común (CIM), versión 2.5.0

Lectura adicional

Enlaces externos