Академический Документы
Профессиональный Документы
Культура Документы
Metamodelado
Modelos, Lenguajes, Metamodelos y
Metalenguajes
Un metamodelo es un modelo que define el lenguaje
para expresar un modelo.
¿BNF es un metalenguaje?
Modelos, Lenguajes, Metamodelos y
Metalenguajes
El metamodelo de un lenguaje es una descripción de
todos los conceptos que pueden usarse en el mismo.
Por ejemplo,
los conceptos de package, clase , atributo y operaciones
aparecen en UML;
los conceptos de métodos, constructores e interfaces en JAVA;
los conceptos de tabla, columna, clave son parte de SQL
Cada elemento de un modelo es una instancia de una metaclase
en el metamodelo.
Una clase define a sus objetos y una metaclase define a los
elementos del modelo
Modelos, Lenguajes, Metamodelos y
Metalenguajes
Metamodelos basados en
Entidades
Relaciones
Sistemas
Especificaciones OCL
Un ejemplo de metamodelo UML
Un ejemplo de metamodelo UML
context Package
self.class -> forAll (e1,e2 /e1.name = e2.name implies e1 = e2)
self.association->forAll(a1,a2/a1.name=a2.name implies a1=a2)
self.nestedPackages->
forAll(p1,p2 /p1.name = p2.name implies p1=p2)
context AssociationEnd
source = self.otherEnd.target and target = otherEnd.source
Ejemplo- Metamodelo SQL
simplificado
Modelos, Lenguajes, Metamodelos y
Metalenguajes
Un metalenguaje es un lenguaje y puede ser
definido por un metamodelo
Metalenguaje Meta-metamodelo
Meta-meta lenguaje Meta-meta- metamodelo
…………………… …………………….......
(meta)i metalenguaje (meta)i metamodelo
instancias en la relación.
La relación no impacta sobre el ciclo de vida
de las instancias.
MOF
(Meta Object Facility)
Composite
Es asimétrica, identifica a un “todo” y sus “partes”.
Una instancia no puede ser componente de más de un
“composite” a la vez.
Una instancia no puede ser componente de sí misma, sus
componentes, las componentes de sus componentes.
Cuando un “composite” es eliminado, todos sus componentes
y las componentes de sus componentes son también
eliminadas.
El “composite” y las partes, junto con los links que forman la
composición, deben pertenecer al mismo package más externo
MOF
(Meta Object Facility)
Construcciones en MOF
Tipos de datos
Tipos primitivos
Tipos constructores
Packages
Generalización de packages
Anidamiento de packages
Importación de packages
Clustering
MOF
(Meta Object Facility)
Constraints y consistencia
El modelo MOF define un elemento llamado
Constraint que puede ser usado para adjuntar
reglas de consistencia a componentes del
Metamodelo.
En MOF son expresados en OCL.
Arquitectura de 4 niveles y UML 1.x