Metamodelado

Concepto de ingeniería de software

Ejemplo de un metamodelo de información de mapa geológico, con cuatro tipos de metaobjetos y sus autorreferencias. [1]

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

Descripció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 a un software. [3] [4] El metamodelo puede ser una relación matemática o un algoritmo que representa relaciones de entrada y salida. Un modelo es una abstracción de fenómenos en el mundo real ; un metamodelo es otra abstracción más, que resalta 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. El "metamodelado" es la construcción de una colección de "conceptos" (cosas, términos, etc.) dentro de un cierto 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 necesitan ser intercambiados o almacenados
  • Como un lenguaje que soporta un método o proceso 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 automatizada de pruebas
  • Como aproximación de un modelo de mayor fidelidad para usar cuando es necesario reducir tiempo, costo o esfuerzo computacional

Debido al carácter "meta" del metamodelado, tanto la práctica como la teoría de los metamodelos son relevantes 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 ciencias de la computación e ingeniería informática / ingeniería de software . Estas últimas son el foco principal de este artículo.

Temas

Ilustración de la función Meta-Object
Un modelo de referencia empresarial de FEA de EE. UU. [5]
Ejemplo de una 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 actualmente de la ingeniería basada en modelos es el enfoque denominado arquitectura basada en modelos propuesto por OMG . Este enfoque está incorporado en la especificación Meta Object Facility (MOF). [ cita requerida ]

Las especificaciones típicas de metamodelado propuestas por OMG son UML , SysML , SPEM o CWM. ISO también ha publicado el metamodelo estándar ISO/IEC 24744. [6] 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 ingeniería de software e ingeniería de sistemas para el análisis y la construcción de modelos aplicables y útiles para 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 . La OMG ha propuesto un estándar para esto llamado QVT para consultas/vistas/transformaciones. QVT se basa en la facilidad de meta-objeto (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: [7]

  • Ontologías: expresan algo significativo dentro de un universo o dominio de discurso específico mediante el uso de la gramática para el uso del vocabulario. La gramática especifica lo que significa ser una declaración, aserción, pregunta, etc. bien formada (restricciones formales) sobre cómo los términos en el vocabulario controlado de la ontología pueden usarse juntos. [8]
  • 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 de dominio. Por lo general, los metamodelos son –y siempre deberían seguir– un conjunto estricto de reglas. [9] “Un metamodelo válido es una ontología, pero no todas las ontologías se modelan explícitamente como metamodelos”. [8]

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. [11] Existen varios tipos de zoos de metamodelos. [12] Algunos se expresan en ECore. Otros se escriben en MOF 1.4 – XMI 1.2. Los metamodelos expresados ​​en UML - XMI 1.2 se pueden cargar en Poseidon for UML, una herramienta UML CASE .

Véase también

Referencias

  1. ^ David R. Soller et al. (2001) Informe de progreso sobre la base de datos de mapas geológicos nacionales, fase 3: una base de datos en línea de información cartográfica Técnicas de cartografía digital '01 - Actas del taller Informe de archivo abierto 01-223 del Servicio Geológico de Estados Unidos.
  2. ^ Saraju Mohanty , Capítulo 12 Metodologías de diseño rápido de AMS-SoC basadas en metamodelos, "Diseño de sistemas de señales mixtas nanoelectrónicas", ISBN 978-0071825719 y 0071825711, 1.ª edición, McGraw-Hill, 2015.  
  3. ^ Oleg Garitselov, Saraju Mohanty y Elias Kougianos, "Un estudio comparativo de metamodelos para la simulación rápida y precisa de circuitos nano-CMOS Archivado el 23 de septiembre de 2015 en Wayback Machine ", IEEE Transactions on Semiconductor Manufacturing (TSM), vol. 25, n.º 1, febrero de 2012, págs. 26-36.
  4. ^ Saraju Mohanty Exploración de diseño ultrarrápido de circuitos a nanoescala mediante metamodelado Archivado el 23 de septiembre de 2015 en Wayback Machine , charla invitada, Semiconductor Research Corporation (SRC), Texas Analog Center for Excellence (TxACE), 27 de abril de 2012.
  5. ^ FEA (2005) Perfil de gestión de registros de FEA, versión 1.0. 15 de diciembre de 2005.
  6. ^ Organización Internacional de Normalización / Comisión Electrotécnica Internacional, 2007. ISO/IEC 24744. Ingeniería de software - Metamodelo para metodologías de desarrollo.
  7. ^ E. Söderström, et al. (2001) "Hacia un marco para comparar lenguajes de modelado de procesos", en: Lecture Notes In Computer Science ; Vol. 2348. Actas de la 14.ª Conferencia internacional sobre ingeniería avanzada de sistemas de información. Páginas: 600 – 611, 2001
  8. ^ ab Pidcock, Woody (2003), ¿Cuáles son las diferencias entre un vocabulario, una taxonomía, un tesauro, una ontología y un metamodelo?, archivado desde el original el 14 de octubre de 2009 , consultado el 10 de octubre de 2009
  9. ^ Ernst, Johannes (2002), ¿Qué es el metamodelado y para qué sirve?, archivado desde el original el 9 de octubre de 2011 , consultado el 9 de octubre de 2009
  10. ^ Saraju Mohanty y Elias Kougianos, "Optimización rápida basada en metamodelo polinomial de circuitos osciladores nano-CMOS Archivado el 10 de agosto de 2014 en Wayback Machine ", Springer Analog Integrated Circuits and Signal Processing Journal, Volumen 79, Número 3, junio de 2014, págs. 437–453.
  11. ^ Jean-Marie Favre: Hacia una teoría básica de la ingeniería basada en modelos. Archivado el 15 de octubre de 2006 en Wayback Machine .
  12. ^ AtlanticZoo Archivado el 29 de abril de 2006 en Wayback Machine .

Lectura adicional

  • Saraju Mohanty (2015). "Capítulo 12 Metodologías de diseño rápido de AMS-SoC basadas en metamodelos". Diseño de sistemas nanoelectrónicos de señal mixta. McGraw-Hill. ISBN 978-0071825719.
  • Booch, G., Rumbaugh, J., Jacobson, I. (1999), Guía del usuario del lenguaje de modelado unificado , Redwood City, CA: Addison Wesley Longman Publishing Co., Inc.
  • JP van Gigch , Modelado y metamodelado de diseño de sistemas , Plenum Press, Nueva York, 1991
  • Gopi Bulusu, hamara.in, 2004 Transformación impulsada por modelos
  • PC Smolik, Mambo Metamodeling Environment, Tesis doctoral, Universidad Tecnológica de Brno, 2006
  • Gonzalez-Perez, C. y B. Henderson-Sellers, 2008. Metamodelling for Software Engineering. Chichester (Reino Unido): Wiley. 210 p.  ISBN 978-0-470-03036-3 
  • MA Jeusfeld, M. Jarke y J. Mylopoulos , 2009. Metamodeling for Method Engineering. Cambridge (Estados Unidos): The MIT Press. 424 págs.  ISBN 978-0-262-10108-0 , acceso abierto a través de http://conceptbase.sourceforge.net/2021_Metamodeling_for_Method_Engineering.pdf 
  • G. Caplat Modèles & Métamodèles , 2008 - ISBN 978-2-88074-749-7 (en francés) 
  • Fill, H.-G., Karagiannis, D., 2013. Sobre la conceptualización de métodos de modelado utilizando la plataforma de metamodelado ADOxx, Enterprise Modelling and Information Systems Architectures, vol. 8, número 1, 4-25.
Obtenido de "https://es.wikipedia.org/w/index.php?title=Metamodelado&oldid=1218224613"