Title: Arquitectura de software dirigida por modelos (Model-Driven Architecture)
1Arquitectura de software dirigida por
modelos(Model-Driven Architecture)
- Liliana Favre
- UNCPBA
- 2006
2Model-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
- Separar la especificación de la funcionalidad
del sistema de su implementación sobre una
plataforma en una tecnología específica. - Controlar la evolución desde modelos abstractos a
implementaciones tendiendo a aumentar el grado de
automatización.
3Plataforma 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
4Modelos y MDA
- Distingue diferentes tipos de modelos
- CIM (Computation Independent Model)
- PIM (Platform Independent Model)
- PSM (Platform Specific Model)
- ISM (Implementation Specific Model)
5Modelos y MDA
- Computation Independent Model (CIM)
- 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
- Es una descripción de la funcionalidad del
sistema en forma independiente de las
características de plataformas de implementación
específicas.
6Modelos 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
7MDD (Model-Driven Development)
PIM
PIM
PSM J2EE
PSM dotNET
PSM REL
CODE
CODE
CODE
8Transformaciones y MDA
- La evolución desde modelos CIM a ISM es alcanzada
- por
- 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 - Refactorings que permiten transformar modelos en
un determinado nivel sin cambiar su
funcionalidad, pero mejorando algunos factores de
calidad no funcionales (por ejemplo PIM PIM,
PSM PSM, ISM ISM)
9Metamodelos y MDA
- En MDA es crucial
- Mantener trazas y relaciones entre diferentes
modelos - Lograr interoperabilidad en diferentes niveles
- Metamodelos
10Modelos, Transformaciones y Metamodelos
- Estándares de OMG
- UML/OCL Modelos
- MOF
Metamodelos - (Meta Object Facility)
- QVT
Transformaciones - (Query-View-Transformation)
11Arquitectura de metamodelado
- Arquitectura de metamodelado de 4 niveles
- Meta-metamodelo
- (MOF)
MOF - Metamodelo
- (Metamodelo UML, SPEM)
SPEM - Modelo
- (UML, RUP)
RUP - Objetos
-
es-una-instancia
12MOF (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.
13MOF (Meta Object Facility)
- Se describen mediante
- Modelos estáticos UML
- Clases
- Asociaciones binarias
- Tipos de datos
- Package
- Especificaciones OCL
14MetamodeloEspecificaciones OCL
15MetamodeloEspecificaciones OCL
16Transformaciones y metamodelos
Metamodelo PIM
PIM
es-instancia-de
Refinamiento PIM-PSM
Refinamiento PIM-PIMmetamodelo
PSM- PSMmetamodelo
Metamodelo PSM
PSM
es-instancia-de
17HERRAMIENTAS CASE
- CASE-UML
- Rational Rose, Argo/UML, Together, UModel,
- MagicDraw, MetaEdit, Poseidon
- CASE-Tiempo Real
- Rapsody, Rational Rose Real Time, RapidRMA
- CASE-MDA
- OptimalJ, AndroMDA, Ameos, Together Architect,
- Codagen, ArcStyler, MDE Studio, Objecteering
18Herramientas CASE-MDA
- Unas 120 herramientas CASE se basan en UML y
- sólo un 10 soporta parcialmente MDA.
- Limitaciones en procesos de
- ingeniería directa (forward engineering)
- ingeniería reversa (reverse engineering)
- transformaciones (refinamientos, refactoring)
- análisis de consistencia
- No proveen asistencia en reenginería de sistemas
legacy
19MDA y Reingeniería
20Curso Arquitectura de software dirigida por
modelos
- Los contenidos del curso se centran en
- Conceptos de modelado de software bajo
- el enfoque propuesto por el estándar del Object
- Management Group (OMG)denominado MDA
- (Model Driven Architecture).
- Análisis de técnicas básicas para el desarrollo
de herramientas CASE basadas en MDA.
21CONTENIDO
- PARTE I
- UML (Unified Modeling Language)
- OCL (Object Constraint Language)
- Metamodelado
- MOF (Meta Object Facility)
- Cómo construir metamodelos
- Semántica de UML
-
22CONTENIDO
- PARTE II
- MDA (Model-Driven Architecture)
- CIM, PIM, PSM, ISM
- Transformaciones de modelos y metamodelado
- Refinamiento y refactoring
- Evolución de software y MDA
- Herramientas CASE basadas en MDA
- Técnicas para el desarrollo de CASE basadas en
UML/MDA - Ingeniería directa, ingeniería reversa
- Refactoring, patrones de reinmgeniería wrapping,