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
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.
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):
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 .
^ 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.
^ 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.
^ 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.
^ 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.
^ FEA (2005) Perfil de gestión de registros de FEA, versión 1.0. 15 de diciembre de 2005.
^ 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.
^ 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
^ 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
^ 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
^ 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.
^ 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 .
^ AtlanticZoo Archivado el 29 de abril de 2006 en Wayback Machine .
Lectura adicional
Wikimedia Commons tiene medios relacionados con Metamodelado .
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
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.