Arquitectura de software dirigida por modelos ModelDriven Architecture

  • Slides: 22
Download presentation
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

Model-Driven Architecture (MDA) Es una evolución de estándares definidos por OMG (Object Management Group)

Model-Driven Architecture (MDA) Es una evolución de estándares definidos por OMG (Object Management Group) para mejorar procesos de desarrollo de sistemas de software dirigidos por modelos. Ideas centrales en MDA n Separar la especificación de la funcionalidad del sistema de su implementación sobre una plataforma en una tecnología específica. n Controlar la evolución desde modelos abstractos a implementaciones tendiendo a aumentar el grado de automatización.

Plataforma en MDA Plataforma Es un conjunto de subsistemas y tecnologías que proveen un

Plataforma en MDA Plataforma Es un conjunto de subsistemas y tecnologías que proveen un conjunto coherente de funcionalidad que puede ser usada en cualquier aplicación sin tener en cuenta detalles de cómo la funcionalidad es implementada

Modelos y MDA Distingue diferentes tipos de modelos: n CIM (Computation Independent Model) n

Modelos y MDA Distingue diferentes tipos de modelos: n CIM (Computation Independent Model) n PIM (Platform Independent Model) n PSM (Platform Specific Model) n ISM (Implementation Specific Model)

Modelos y MDA Computation Independent Model (CIM) n Es una descripción de la lógica

Modelos y MDA Computation Independent Model (CIM) n Es una descripción de la lógica del negocio desde una perspectiva independiente de la computación. Es un modelo del dominio Platform Independent Model n Es una descripción de la funcionalidad del sistema en forma independiente de las características de plataformas de implementación específicas.

Modelos y MDA Platform Specific Model (PSM) Es una descripción del sistema en términos

Modelos y MDA Platform Specific Model (PSM) Es una descripción del sistema en términos de una plataforma específica Implementation Specific Model Es una descripción (especificación) del sistema a nivel de código

MDD (Model-Driven Development) PIM PSM PSM J 2 EE REL dot. NET CODE

MDD (Model-Driven Development) PIM PSM PSM J 2 EE REL dot. NET CODE

Transformaciones y MDA La evolución desde modelos CIM a ISM es alcanzada por: n

Transformaciones y MDA La evolución desde modelos CIM a ISM es alcanzada por: n Refinamientos que permiten construir una especificación más específica a partir de una más abstracta (por ejemplo, PIM PSM, PSM ISM ) y n Refactorings que permiten transformar modelos en un determinado nivel sin cambiar su funcionalidad, pero mejorando algunos factores de calidad no funcionales (por ejemplo PIM, PSM, ISM)

Metamodelos y MDA En MDA es crucial n Mantener trazas y relaciones entre diferentes

Metamodelos y MDA En MDA es crucial n Mantener trazas y relaciones entre diferentes modelos n Lograr interoperabilidad en diferentes niveles Metamodelos

Modelos, Transformaciones y Metamodelos Estándares de OMG UML/OCL Modelos MOF (Meta Object Facility) Metamodelos

Modelos, Transformaciones y Metamodelos Estándares de OMG UML/OCL Modelos MOF (Meta Object Facility) Metamodelos QVT Transformaciones (Query-View-Transformation)

Arquitectura de metamodelado de 4 niveles: n Meta-metamodelo (MOF) MOF n Metamodelo (Metamodelo UML,

Arquitectura de metamodelado de 4 niveles: n Meta-metamodelo (MOF) MOF n Metamodelo (Metamodelo UML, SPEM) SPEM n Modelo (UML, RUP) RUP n Objetos “es-una-instancia”

MOF (Meta Object Facility) MOF captura la diversidad de estándares de modelamiento para integrar

MOF (Meta Object Facility) MOF captura la diversidad de estándares de modelamiento para integrar diferentes tipos de modelos y metadatos e intercambiarlos entre diferentes herramientas.

MOF (Meta Object Facility) Se describen mediante: n Modelos estáticos UML n Clases n

MOF (Meta Object Facility) Se describen mediante: n Modelos estáticos UML n Clases n Asociaciones binarias n Tipos de datos n Package n Especificaciones OCL

Metamodelo Especificaciones OCL

Metamodelo Especificaciones OCL

Metamodelo Especificaciones OCL

Metamodelo Especificaciones OCL

Transformaciones y metamodelos Metamodelo PIM “es-instancia-de” PIM Refinamiento PIM-PIMmetamodelo PIM-PSM PSM- PSMmetamodelo Metamodelo PSM

Transformaciones y metamodelos Metamodelo PIM “es-instancia-de” PIM Refinamiento PIM-PIMmetamodelo PIM-PSM PSM- PSMmetamodelo Metamodelo PSM “es-instancia-de”

HERRAMIENTAS CASE-UML Rational Rose, Argo/UML, Together, UModel, Magic. Draw, Meta. Edit+, Poseidon CASE-Tiempo Real

HERRAMIENTAS CASE-UML Rational Rose, Argo/UML, Together, UModel, Magic. Draw, Meta. Edit+, Poseidon CASE-Tiempo Real Rapsody, Rational Rose Real Time, Rapid. RMA CASE-MDA Optimal. J, Andro. MDA, Ameos, Together Architect, Codagen, Arc. Styler, MDE Studio, Objecteering

Herramientas CASE-MDA Unas 120 herramientas CASE se basan en UML y sólo un 10%

Herramientas CASE-MDA Unas 120 herramientas CASE se basan en UML y sólo un 10% soporta parcialmente MDA. Limitaciones en procesos de: n ingeniería directa (forward engineering) n ingeniería reversa (reverse engineering) n transformaciones (refinamientos, refactoring) n análisis de consistencia n No proveen asistencia en reenginería de sistemas legacy

MDA y Reingeniería

MDA y Reingeniería

Curso: Arquitectura de software dirigida por modelos Los contenidos del curso se centran en:

Curso: Arquitectura de software dirigida por modelos Los contenidos del curso se centran en: n Conceptos de modelado de software bajo el enfoque propuesto por el estándar del Object Management Group (OMG)denominado MDA (Model Driven Architecture). n Análisis de técnicas básicas para el desarrollo de herramientas CASE basadas en MDA.

CONTENIDO PARTE I n n UML (Unified Modeling Language) OCL (Object Constraint Language) Metamodelado

CONTENIDO PARTE I n n UML (Unified Modeling Language) OCL (Object Constraint Language) Metamodelado n MOF (Meta Object Facility) n Cómo construir metamodelos Semántica de UML

CONTENIDO PARTE II n MDA (Model-Driven Architecture) n CIM, PSM, ISM n Transformaciones de

CONTENIDO PARTE II n MDA (Model-Driven Architecture) n CIM, PSM, ISM n Transformaciones de modelos y metamodelado n Refinamiento y refactoring n Evolución de software y MDA n Herramientas CASE basadas en MDA n Técnicas para el desarrollo de CASE basadas en UML/MDA n Ingeniería directa, ingeniería reversa n Refactoring, patrones de reinmgeniería wrapping, …