Ejemplo de metamodelo de información de mapas geológicos, 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. Así, el metamodelado o metamodelado es el análisis, construcción y desarrollo de 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 ingeniería de software e 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 del 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 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 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 idioma con aplicaciones para la síntesis de pruebas automatizadas.
Como una aproximación de un modelo de mayor fidelidad para su uso cuando es necesario reducir el tiempo, el costo o el esfuerzo computacional
Las especificaciones de metamodelado típicas 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 utilizando la gramática para usar el vocabulario. La gramática especifica lo que significa ser una declaración, aserción, consulta, etc. bien formada (restricciones formales) sobre cómo se pueden usar juntos los términos del vocabulario controlado de la ontología. [8]
Metamodelado: puede considerarse como una descripción explícita (constructos y reglas) de cómo se construye un modelo de dominio específico. En particular, esto comprende una especificación formalizada de las notaciones específicas del dominio. Normalmente, los metamodelos son (y siempre deberían seguir) un conjunto de reglas estrictas. [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 zoológico de metamodelos. [11]
Hay varios tipos de zoológicos metamodelos. [12] Algunos están expresados en ECore. Otros están escritos en MOF 1.4 – XMI 1.2. Los metamodelos expresados en UML - XMI 1.2 se pueden cargar en Poseidon para UML, una herramienta UML CASE .
^ David R. Sóller y col. (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 del Servicio Geológico de EE. UU. 01-223.
^ Saraju Mohanty , Capítulo 12 Metodologías de diseño rápido AMS-SoC basadas en metamodelos, "Diseño de sistemas nanoelectrónicos de señales mixtas", ISBN 978-0071825719 y 0071825711, primera edición, McGraw-Hill, 2015.
^ Oleg Garitselov, Saraju Mohanty y Elias Kougianos, "Un estudio comparativo de metamodelos para una 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úm. 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), Centro analógico de excelencia de Texas (TxACE), 27 de abril de 2012.
^ FEA (2005) Perfil de gestión de registros 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 de Sistemas de Información Avanzados. 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 polinómico 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 .
Otras lecturas
Wikimedia Commons tiene medios relacionados con el metamodelado .
Saraju Mohanty (2015). "Capítulo 12 Metodologías de diseño rápido AMS-SoC basadas en metamodelos". Diseño de sistemas nanoelectrónicos de señales mixtas. 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
González-Pérez, C. y B. Henderson-Sellers, 2008. Metamodelado para ingeniería de software. Chichester (Reino Unido): Wiley. 210p. ISBN 978-0-470-03036-3
MA Jeusfeld, M. Jarke y J. Mylopoulos , 2009. Metamodelado para ingeniería de métodos. Cambridge (EE.UU.): The MIT Press. 424p. 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, Arquitecturas de sistemas de información y modelado empresarial, vol. 8, Número 1, 4-25.