Metamodelado - Metamodeling

Ejemplo de un metamodelo de información de mapas geológicos, con cuatro tipos de metaobjetos y sus autorreferencias.

Un metamodelo o modelo sustituto es un modelo de un modelo, y el metamodelo es el proceso de generar tales metamodelos. Por lo tanto metamodelado o metamodelado es el análisis, la construcción y el desarrollo de los marcos, reglas, limitaciones, modelos y teorías aplicables y útiles para el modelado de una clase predefinida de problemas. Como su nombre lo indica, este concepto aplica las nociones de meta y modelado en ingeniería de software e ingeniería de sistemas . Los metamodelos son de muchos tipos y tienen diversas aplicaciones.

Visión general

Un metamodelo / modelo sustituto es un modelo del modelo, es decir, un modelo simplificado de un modelo real de un circuito, sistema o entidad similar al software. El metamodelo puede ser una relación matemática o un algoritmo que represente relaciones de entrada y salida. Un modelo es una abstracción de fenómenos en el mundo real ; un metamodelo es otra abstracción que destaca las propiedades del modelo en sí. Un modelo se ajusta a su metamodelo de la misma manera que un programa de computadora se ajusta a la gramática del lenguaje de programación en el que está escrito. Varios tipos de metamodelos incluyen ecuaciones polinómicas, redes neuronales, Kriging , etc. "Metamodelado" es la construcción de una colección de "conceptos" (cosas, términos, etc.) dentro de un determinado dominio. El metamodelado generalmente implica estudiar las relaciones de entrada y salida y luego ajustar los metamodelos correctos para representar ese comportamiento.

Los usos comunes de los metamodelos son:

  • Como esquema para datos semánticos que deben intercambiarse o almacenarse
  • Como lenguaje que admite un método o proceso en particular.
  • Como lenguaje para expresar semántica adicional de información existente.
  • Como mecanismo para crear herramientas que funcionen con una amplia clase de modelos en tiempo de ejecución.
  • Como esquema para modelar y explorar automáticamente oraciones de un lenguaje con aplicaciones para la síntesis de pruebas automatizada.
  • Como una aproximación de un modelo de mayor fidelidad para usar cuando es necesario reducir el tiempo, el costo o el esfuerzo computacional

Debido al carácter "meta" del metamodelado, tanto la praxis como la teoría de los metamodelos son de relevancia para la metaciencia , la metafilosofía , las metateorías y la sistémica y la metaconciencia . El concepto puede ser útil en matemáticas y tiene aplicaciones prácticas en informática e ingeniería informática / ingeniería de software . Estos últimos son el foco principal de este artículo.

Temas

Ilustración de la instalación de metaobjetos.
Ejemplo de ontología .
Un metamodelo DoDAF .

Definición

En ingeniería de software , el uso de modelos es una alternativa a las técnicas de desarrollo basadas en código más comunes. Un modelo siempre se ajusta a un metamodelo único. Una de las ramas más activas de la ingeniería dirigida por modelos es el enfoque denominado arquitectura dirigida por modelos propuesto por OMG . Este enfoque se basa en la utilización de un lenguaje para escribir metamodelos llamado Meta Object Facility o MOF . Los metamodelos típicos propuestos por OMG son UML , SysML , SPEM o CWM. ISO también ha publicado el metamodelo estándar ISO / IEC 24744 . Todos los lenguajes presentados a continuación podrían definirse como metamodelos MOF.

Modelado de metadatos

El modelado de metadatos es un tipo de metamodelado utilizado en la ingeniería de software y la ingeniería de sistemas para el análisis y la construcción de modelos aplicables y útiles a alguna clase predefinida de problemas. (ver también: modelado de datos ).

Transformaciones de modelos

Un paso importante en la ingeniería basada en modelos es el uso sistemático de lenguajes de transformación de modelos . El OMG ha propuesto un estándar para esto llamado QVT para consultas / vistas / transformaciones. QVT se basa en la función de metaobjetos (MOF). Entre muchos otros lenguajes de transformación de modelos (MTL), algunos ejemplos de implementaciones de este estándar son AndroMDA, VIATRA , Tefkat , MT , ManyDesigns Portofino .

Relación con las ontologías

Los metamodelos están estrechamente relacionados con las ontologías . Ambos se utilizan a menudo para describir y analizar las relaciones entre conceptos.

  • Ontologías: expresan algo significativo dentro de un universo o dominio de discurso específico utilizando una gramática para usar el vocabulario. La gramática especifica lo que significa ser una declaración, afirmación, consulta, etc. bien formada (restricciones formales) sobre cómo los términos del vocabulario controlado de la ontología pueden usarse juntos.
  • Metamodelado: puede considerarse como una descripción explícita (construcciones y reglas) de cómo se construye un modelo específico de dominio. En particular, esto comprende una especificación formalizada de las notaciones específicas del dominio. Normalmente, los metamodelos son, y siempre deben seguir, un conjunto de reglas estrictas. "Un metamodelo válido es una ontología, pero no todas las ontologías se modelan explícitamente como metamodelos".

Tipos de metamodelos

Para la ingeniería de software, se pueden distinguir varios tipos de modelos (y sus correspondientes actividades de modelado):

Zoológicos de metamodelos

Una biblioteca de metamodelos similares se ha denominado Zoo de metamodelos. Hay varios tipos de zoológicos de metamodelo. Algunos se expresan en ECore. Otros están escritos en MOF 1.4 - XMI 1.2. Los metamodelos expresados ​​en UML - XMI 1.2 pueden cargarse en Poseidon para UML, una herramienta UML CASE .

Ver también

Referencias

Otras lecturas