Arquitectura de software dirigida por modelos ModelDriven Architecture
- Slides: 22
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) 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 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 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 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 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
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 modelos n Lograr interoperabilidad en diferentes niveles 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, 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 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 Asociaciones binarias n Tipos de datos n Package n 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 “es-instancia-de”
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% 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
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 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 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, …
- Tradução dirigida por sintaxe
- Concepto de arquitectura de computadoras
- Modelos de arquitectura de computadoras
- Modelos de arquitectura de computadoras
- Carta a la familia corta
- Es una parte del dialogo dirigida al espectador
- Discusión dirigida
- Mutagénesis dirigida
- Na frase organizada e dirigida
- Architecture business cycle
- Call and return architecture in software engineering
- Arquitectura de software
- Arquitectura del hardware
- Un patrón de comportamiento
- Iso/iec 12207
- Iso 12207 – modelos de ciclos de vida del software
- Product architecture example
- Integral vs modular design
- Bus architecture in computer organization
- Las personas valen por lo que son y no por lo que tienen
- A diferencia b
- Gracias dios por morir por mi
- Conjuntos por comprensión