Arquitectura de software dirigida por modelos (Model-Driven Architecture) - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

Arquitectura de software dirigida por modelos (Model-Driven Architecture)

Description:

Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006 METAMODELADO Bibliograf a Las gr ficas y especificaciones fueron ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 57
Provided by: Usua1584
Category:

less

Transcript and Presenter's Notes

Title: Arquitectura de software dirigida por modelos (Model-Driven Architecture)


1
Arquitectura de software dirigida por
modelos(Model-Driven Architecture)
  • Liliana Favre
  • UNCPBA
  • 2006

2
  • METAMODELADO

3
Bibliografía
  • Las gráficas y especificaciones fueron extraídas
    de la siguiente bibliografía
  • 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
  • OCL OCL Specification. Version 2.0. Formal
    document ptc/03-10-14 www.omg.org
  • UML UML 2.0 Superstructure Specification. OMG
    formal/05-07-04 www.omg.org
  • UML UML 2.0 Infrastructure Specification. OMG
    formal/05-07-04 www.omg.org
  • Warmer, J., Kleppe, A. The Object-Constraint
    Language. (Second Edition). Addison Wesley (2003)
  • Warmer, J., Kleppe,A., Bast, W. MDA Explained
    The Model Driven Architecture Practice and
    Promise Addison Wesley (2003)

4
METAMODELOS
  • Los lenguajes de programación basados en texto
    se describen por gramáticas (BNF).
  • Los lenguajes de modelamiento como UML tienen, en
    general, una sintaxis gráfica que requiere otro
    tipo de descripción
  • Metamodelado

5
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?

6
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

7
Modelos, Lenguajes, Metamodelos y Metalenguajes
  • Metamodelos basados en
  • Entidades
  • Relaciones
  • Sistemas
  • Modelos estáticos UML
  • Clases
  • Asociaciones binarias
  • Tipos de datos
  • Package
  • Especificaciones OCL

8
Un ejemplo de metamodelo UML
9
Un ejemplo de metamodelo UML
10
Ejemplo- Metamodelo SQL simplificado
11
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

12
Arquitectura de 4 niveles
  • OMG usa una arquitectura de 4 niveles para sus
  • estándares
  • MO Modelo de instancias
  • M1 Modelo del sistema
  • M2 Metamodelo
  • M3 Meta-metamodelo

13
Arquitectura de 4 niveles
14
Arquitectura de 4 niveles
15
Arquitectura de 4 niveles
16
Arquitectura de 4 niveles
17
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.
  • .

18
MOF
  • MOF usa un framework de modelamiento que es
  • un subconjunto del núcleo de UML. Los 4
  • construcciones de modelamiento son
  • 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.

19
MOF(Meta Object Facility)
  • Construcciones en MOF
  • Asociaciones
  • Association-end
  • Multiplicidades
  • Agregación
  • Agregación asociación
  • Agregación atributo

20
MOF(Meta Object Facility)
  • MOF soporta dos tipos de agregaciones
  • Non-aggregate
  • No impone restricciones sobre las
  • multiplicidades de las relaciones.
  • No impone restriccciones sobre el origen de las
  • instancias en la relación.
  • La relación no impacta sobre el ciclo de vida
  • de las instancias.

21
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

22
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

23
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.

24
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.

25
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
  • UML 2.0 Superstructure
  • Complementa a UML 2.0 Infrastructure. Define
    construcciones a
  • nivel de usuario requeridas por UML 2.0

26
Especificación de UML 2.0
  • La infraestructura de UML se define en
  • Infrastructure Library
  • Define un núcleo de metalenguaje que puede ser
    reusado para definir variedad de metamodelos,
    como MOF, UML, CWM.

27
Especificación de UML 2.0
  • 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.

28
UML 2.0 InfrastructureCore Package
  • Core Package
  • Es un metamodelo completo diseñado para lograr
    alta
  • reusabilidad, donde otros metamodelos en el mismo
  • nivel importan o especializan sus metaclases

29
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.

30
UML 2.0 SuperstructurePackage
31
El metamodelo de UML Packages - Estructura
32
El metamodelo de UML Packages - Classes
33
El metamodelo de UML Package-Kernel-Root Diagram
34
El metamodelo de UML Package-Kernel-Root Diagram
35
El metamodelo de UML Kernel-Operaciones
36
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.

37
El metamodelo de UML Kernel-Operaciones
38
El metamodelo de UML Kernel-Operaciones
39
El metamodelo de UML Kernel-Operaciones
40
El metamodelo de UML Kernel-Operaciones
41
El metamodelo de UML Kernel-Operaciones
42
El metamodelo de UMLKernel-Diagrama de
multiplicidades
43
El metamodelo de UMLKernel-Diagrama de
multiplicidades
44
Metamodelo OCLKernel
45
El metamodelo OCLKernel
  • Las reglas que especifican si un tipo conforma a
  • otro son especificadas en OCL.
  • La operación conformsTo(cClassifier)Boolean,
  • evalúa True si self conforam a c.
  • Reglas para tipos individuales

46
El metamodelo OCLKernel
47
El metamodelo OCLKernel
48
El metamodelo OCLKernel
49
El metamodelo OCLKernel
50
El metamodelo OCLKernel
51
El metamodelo OCLKernel
52
El metamodelo OCLKernel
53
El metamodelo OCLKernel
54
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

55
La relación entre los metamodelos de UML y OCL
56
La relación entre los metamodelos de UML y OCL
Write a Comment
User Comments (0)
About PowerShow.com