Arquitectura de software dirigida por modelos ModelDriven Architecture
- Slides: 56
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006
METAMODELADO
Bibliografía Las gráficas y especificaciones fueron extraídas de la siguiente bibliografía: 1. MDA: The Model Driven Architecture www. omg. org/mda, 2006 MOF: Meta Object facility (MOF ™) 1. 4. formal/2002 -04 -03 www. omg-org/mof 2. OCL: OCL Specification. Version 2. 0. Formal document: ptc/03 -1014 www. omg. org 3. UML: UML 2. 0 Superstructure Specification. OMG formal/05 -07 -04 www. omg. org 4. UML: UML 2. 0 Infrastructure Specification. OMG formal/05 -07 -04 www. omg. org 5. Warmer, J. , Kleppe, A. The Object-Constraint Language. (Second Edition). Addison Wesley (2003) 6. Warmer, J. , Kleppe, A. , Bast, W. MDA Explained: The Model Driven Architecture™: Practice and Promise Addison Wesley (2003)
METAMODELOS Los lenguajes de programación basados en texto se describen por gramáticas (BNF). n Los lenguajes de modelamiento como UML tienen, en general, una sintaxis gráfica que requiere otro tipo de descripción n Metamodelado
Modelos, Lenguajes, Metamodelos y Metalenguajes Un metamodelo es un modelo que define el lenguaje para expresar un modelo. Un modelo se expresa en un lenguaje. Un lenguaje se define por un metamodelo. Un metamodelo se expresa en un metalenguaje. ¿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, n los conceptos de package, clase , atributo y operaciones aparecen en UML; n los conceptos de métodos, constructores e interfaces en JAVA; n 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 n Entidades n Relaciones n Sistemas n Modelos estáticos UML Clases Asociaciones binarias Tipos de datos Package n Especificaciones OCL
Un ejemplo de metamodelo UML
Un ejemplo de metamodelo UML
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 El estándar definido por OMG usa 4 niveles
Arquitectura de 4 niveles OMG usa una arquitectura de 4 niveles para sus estándares: MO: Modelo de instancias M 1: Modelo del sistema M 2: Metamodelo M 3: Meta-metamodelo
Arquitectura de 4 niveles
Arquitectura de 4 niveles
Arquitectura de 4 niveles
Arquitectura de 4 niveles
Meta Object facility (MOF) MOF captura la diversidad de estándares de modelamiento para integrar diferentes tipos de modelos y metadatos e intercambiarlos entre diferentes herramientas. .
MOF usa un framework de modelamiento que es un subconjunto del núcleo de UML. Los 4 construcciones de modelamiento son: n n Clases, que modelan metaobjetos MOF. Asociaciones que modelan relaciones binarias entre metaobjetos. Tipos de datos, que modelan otros datos (por ejemplo tipos primitivos, tipos externos, etc). Packages, que modularizan los modelos.
MOF (Meta Object Facility) Construcciones en MOF Asociaciones Association-end Multiplicidades Agregación asociación Agregación atributo
MOF (Meta Object Facility) MOF soporta dos tipos de agregaciones: Non-aggregate n No impone restricciones sobre las multiplicidades de las relaciones. n No impone restriccciones sobre el origen de las instancias en la relación. n La relación no impacta sobre el ciclo de vida de las instancias.
MOF (Meta Object Facility) Composite n n n 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 El metamodelo UML 1. x era compatible pero no se alineaba estrictamente a la arquitectura de 4 niveles en la que cada metamodelo es una instancia de un meta-metamodelo. UML 2. 0 está alineado con MOF, es una instancia de MOF. El núcleo de UML y de MOF comparten los elementos de metamodelado.
Especificación de UML 2. 0 La especificación de UML 2. 0 está organizada en dos documentos: UML 2. 0 Infrastructure Define las construcciones de lenguaje fundacionales requeridas por UML 2. 0. Es un núcleo de metalenguaje que puede ser reusado para definir otros metamodelos y mecanismos de extensión para UML 2. 0 Superstructure Complementa a UML 2. 0 Infrastructure. Define construcciones a nivel de usuario requeridas por UML 2. 0
Especificación de UML 2. 0 La infraestructura de UML se define en Infrastructure Library: n Define un núcleo de metalenguaje que puede ser reusado para definir variedad de metamodelos, como MOF, UML, CWM.
Especificación de UML 2. 0 n n Alinea arquitecturalmente a UML, MOF y XMI Permite la creación de dialectos a través de profiles y de nuevos lenguajes(familias de lenguajes) basados en el núcleo del metalenguaje.
UML 2. 0 Infrastructure Core Package Es un metamodelo completo diseñado para lograr alta reusabilidad, donde otros metamodelos en el mismo nivel importan o especializan sus metaclases
UML 2. 0 Superstructure La superestructura de UML está especificada en el package PACKAGE que está dividido en un número de packages que especifican modelos estructurales y de comportamiento.
UML 2. 0 Superstructure Package
El metamodelo de UML Packages - Estructura
El metamodelo de UML Packages - Classes
El metamodelo de UML Package-Kernel-Root Diagram
El metamodelo de UML Package-Kernel-Root Diagram
El metamodelo de UML Kernel-Operaciones
El metamodelo de UML Kernel-Operaciones Una operación es un feature de comportamiento que especifica nombre, parámetros y constraints para invocar un comportamiento asociado.
El metamodelo de UML Kernel-Operaciones
El metamodelo de UML Kernel-Operaciones
El metamodelo de UML Kernel-Operaciones
El metamodelo de UML Kernel-Operaciones
El metamodelo de UML Kernel-Operaciones
El metamodelo de UML Kernel-Diagrama de multiplicidades
El metamodelo de UML Kernel-Diagrama de multiplicidades
Metamodelo OCL Kernel
El metamodelo OCL Kernel Las reglas que especifican si un tipo conforma a otro son especificadas en OCL. La operación conforms. To(c: Classifier): Boolean, evalúa True si self conforam a c. Reglas para tipos individuales
El metamodelo OCL Kernel
El metamodelo OCL Kernel
El metamodelo OCL Kernel
El metamodelo OCL Kernel
El metamodelo OCL Kernel
El metamodelo OCL Kernel
El metamodelo OCL Kernel
El metamodelo OCL Kernel
La relación entre los metamodelos de UML y OCL Una expresión OCL en los metamodelos referencia a elementos de un modelo UML. Los elementos referenciados son instancias de metaclases
La relación entre los metamodelos de UML y OCL
La relación entre los metamodelos de UML y OCL
- Tradução dirigida por sintaxe
- Modelos de arquitectura de computadoras
- Modelos de arquitectura de computadoras
- Modelos de arquitectura de computadoras
- Carta a un familiar
- Es una parte del dialogo dirigida al espectador
- Discusión dirigida
- Mutagénesis dirigida
- O que é sintagma nominal
- Architecture business cycle
- Call and return architecture
- Mq file transfer
- Arquitectura hardware
- Patrones de arquitectura de software
- Iso 90003
- Iso 12207 – modelos de ciclos de vida del software
- Fundamental and incidental interactions
- Modular vs integral product architecture example
- Three bus architecture
- Las personas valen por lo que son y no por lo que tienen
- Por extensión y por comprensión
- Desde el vientre hasta las canas te adorare
- Ejemplo de conjuntos por extensión
- Tengo hojitas blancas
- Hoy estamos festejando
- Herencia por estirpe y por cabeza
- Por fuera muy colorido por dentro una sorpresa
- Por que este hombre caminaba por el bosque
- Mi familia es lo mas importante en mi vida
- Quiero agradecerte dios gracias por tu amor por tu perdon
- Esforzaos en entrar por la puerta estrecha
- Por que o entrevistado não vai agradecer por ele ter vindo
- Pasar por verguenza o por miedo al castigo eterno
- Rezo por ti
- Promulg
- Pablo, no _____ por el parque, por favor. es muy tarde.
- Pasodoble banderita
- No devuelvas mal por mal ni insulto por insulto
- Fast desktop for architecture software
- Marketplace software architecture
- Emv kiosk considerations
- Interoperability quality attribute scenario
- Software architecture assessment
- Software architecture patterns
- Saam software
- Software architecture diagram
- Perancangan arsitektur perangkat lunak
- Vts-0fxyt-e -site:youtube.com
- Complex software architecture
- Sic/xe program to calculate delta=alpha+beta*gamma-10
- Definition of software architecture
- Introduction to software architecture
- Availability tactics in software architecture
- Modular software architecture
- Repository architecture style
- Software communication architecture
- Difference between batch sequential and pipe and filter