Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

Lenguaje Unificado de Modelado
TECNICATURA UNIVERSITARIA EN INFORMATICA
Ingeniería de Software I
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Modelado de sistemas software: Introducción
Ing. Pablo Mayorga. UML = Unified Markup Language Estándar de lenguaje de modelamiento de Object Management Group Varias versión 1.0, 1.1,1.2, 1.3, 1.4,
INGENIERIA DE SOFTWARE II Clase Nº 7
Modelo de Datos Unidad II.
UML 2.0 Patricia Parra Guzmán Daniel Duarte Delgado
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Java 2 Platform Enterprise Edition
UML.
Introducción XML y WebServices.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
DIAGRAMA DE CLASE.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Análisis y Diseño orientado a objetos con UML.
I Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'04) MDA Aplicado: Una Gramática de Grafos para la Transformación de.
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Modelado Arquitectónico
STARUML.
Ingeniería de Software
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Sesión 5 Herramientas de creación de DSL gráficos (GMF)
Fundamentos de programación
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
POR MARCO LEANDRO RUIZ ZAPATA. Start UML Unified Modeling Language lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad;
Poder Expresivo de UML 2.0 para especificar arquitecturas de Software
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Introducción al modelado Unificado
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Patrones de Diseño en MDA
5/8/2015Metamodelamiento1 METAMODELADO Carlos Mario Zapata J.
Ingeniería de software
Diagrama de Clases ACI 570.
Diagrama de CLASES Alfredo Rodríguez Rojas
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
TEMA 9: DIAGRAMA DE CLASE EN UML
Introducción a UML Departamento de Informática Universidad de Rancagua
Ingeniería de Requisitos
DIAGRAMA DE SECUENCIA Y ACTIVIDADES.
Introducción a UML Ing. José Manuel Poveda.
Taller de Sistemas de Programas Clase 6 Dpto. de Computación y T.I.
UML.
Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
Análisis y Diseño de Aplicaciones 3º Educación Media Tecnológica
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
MODELAMIENTO VISUAL Y UML
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Modelado Orientado a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Modelado UML Diagrama de Clases
Requerimientos del software
Entregables del Proyecto
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
 Tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, interfaces, relaciones y colaboraciones.  Se utiliza durante.
Estructura de Datos Departamento de Programación Universidad Metropolitana Contenido: UML. Envío de mensajes. Relaciones. Asociación. Agregación o composición.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Lenguaje Unificado de Modelado
Transcripción de la presentación:

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

METAMODELADO

Bibliografía Las gráficas y especificaciones fueron extraídas de la siguiente bibliografía: MDA: The Model Driven Architecture MOF: Meta Object facility (MOF ™) 1.4. formal/ OCL: OCL Specification. Version 2.0. Formal document: ptc/ UML: UML 2.0 Superstructure Specification. OMG formal/ UML: UML 2.0 Infrastructure Specification. OMG formal/ 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)

METAMODELOS Los lenguajes de programación basados en texto se describen por gramáticas (BNF). 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 Los lenguajes de modelamiento como UML tienen, en general, una sintaxis gráfica que requiere otro tipo de descripción Metamodelado 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, 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 Entidades Relaciones Relaciones Sistemas Sistemas Modelos estáticos UML Modelos estáticos UMLClases Asociaciones binarias Tipos de datos Package Especificaciones OCL Especificaciones OCL

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

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

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

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.

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 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 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: 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 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 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 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-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 conformsTo(c:Classifier):Boolean, evalúa True si self conforam a c. Reglas para tipos individuales

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