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

About This Presentation
Title:

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

Description:

Separar la especificaci n de la funcionalidad del sistema de su implementaci n ... Controlar la evoluci n desde modelos abstractos a implementaciones tendiendo a ... – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 31
Provided by: Usua980
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
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
  • 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.

3
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

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

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

6
Modelos y MDA
  • Platform Specific Model (PSM)
  • Es una descripción del sistema en términos de
  • una plataforma específica. Por ejemplo, .NET,
    J2EE, relacional,
  • Implementation Specific Model
  • Es una descripción (especificación) del sistema a
  • nivel de código. Por ejemplo, Java, C,

7
MDA
  • Clasificación de modelos
  • Independencia de plataformas específicas
  • Transformación de modelos y refinamiento

8
Model-driven Development (MDD)
  • Un desarrollo MDD distingue al menos las
    siguientes
  • etapas
  • Construir un PIM en un alto nivel de abstracción,
    independiente de una tecnología específica.
  • Transformar al PIM en uno o más modelos
    dependientes de una paltaforma específica,
    denominados PSM. Por ejemplo, relacional, J2EE,
    .NET
  • Transformar los PSM a código.

9
MDD (Model-Driven Development)
CIM
PIM
PSM J2EE
PSM REL
PSM dotNET
CODE
CODE
CODE
10
Transformaciones y MDA
  • Una transformación es el proceso para convertir
  • un modelo en un lenguaje en un modelo en otro
  • lenguaje.
  • Refinamientos horizontales
  • Refinamientos verticales
  • Antirefinamientos
  • Refactorings
  • Puentes

11
Transformaciones 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
  • Verticales (por ejemplo, PIM a PSM, PSM a
    ISM)
  • Horinzontales (por ejemplo, PIM a PIM, PSM a PSM)
  • Refactorings que permiten transformar modelos en
    un determinado nivel (PIM, PSM, ISM) sin cambiar
    su funcionalidad, pero mejorando algunos factores
    de calidad no funcionales.

12
Transformaciones y MDA
  • Otras transformaciones
  • Puentes entre diferentes PSMs, ISMs. Por ejemplo
    de COBOL a JAVA, de J2EE a .NET,
  • Anti-refinamientos que permiten construir una
    especificación más abstracta a partir de una más
    específica. Por ejemplo, de ISM a PSM, de PSM a
    PIM,.

13
Transformaciones en MDA
  • Transformaciones automáticas

tool
tool
PIM
PSM
ISM
14
MDA- Beneficios
  • Productividad
  • Portabilidad
  • Interoperabilidad
  • Evolución del software

15
Metamodelos y MDA
  • En MDA es crucial analizar, automatizar y
    transformar
  • modelos
  • Mantener trazas y relaciones entre diferentes
    modelos
  • Lograr interoperabilidad en diferentes niveles
  • Descripciones precisas de la semántica de los
    modelos
  • Metamodelos

16
Modelos, Transformaciones y Metamodelos
  • OMG provee un framework conceptual y estándares
  • para expresar modelos, relaciones y
    transformaciones
  • modelo-a-modelo.
  • UML/OCL Modelos
  • MOF
    Metamodelos
  • (Meta Object Facility)
  • QVT
    Transformaciones
  • (Query-View-Transformation)

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

18
Transformaciones y metamodelos
Metamodelo PIM
PIM
es-instancia-de
Refinamiento PIM-PSM
Refinamiento PIM-PIMmetamodelo
PSM- PSMmetamodelo
Metamodelo PSM
PSM
es-instancia-de
19
MDA y Reingeniería
20
Especificación de transformacionescomo contratos
OCL
  • TRANSFORMATION transformationName
  • PARAMETERSltparameterListgt
  • PRE ltpreconditionListgt
  • POST ltpostconditionListgt
  • Additional Operations
  • def
  • def
  • END

21
EjemploBON-Metamodel simplificado
22
EjemploMetamodel UML simplificado
23
EjemploMetamodel UML simplificado
24
EjemploMetamodel UML simplificado
25
Especificación de transformaciones
  • TRANSFORMATION BASIC PACKAGE
  • PARAMETERS
  • source UMLMetamodel Package
  • target BON-PSM-Metamodel Model
  • PRE
  • -- source es un Package simple, que sólo contiene
    clases y asociaciones
  • source.ownedMember -gt
  • forAll (s / s.oclIsTypeOf (Class) or
    s.oclIsTypeOf(Association))
  • POST.

26
Especificación de transformaciones
  • POST
  • -- para cada clase en source existe una clase
    target que tiene
  • --el mismo nombre
  • source.ownedMember -gt
  • select (oclIsTypeOf (Class)) -gt
  • forAll(classSourcetarget.abstractions-gt
  • select(oclIsTypeOf (Class)) -gt
  • exists(classTargetclassSource.name
  • classTarget.name
    )and

27
Especificación de transformaciones
  • --para cada clase en el conjunto de superclases
    de
  • --source existe una relación de herencia en el
    target con
  • --el mismo nombre
  • classSource.superclasses -gt
  • forAll (classParent
  • target.relationshipsgtselect(oclIsTypeOf(inheritan
    ce) -gt
  • exists (rel (rel.name classParent.name)))
  • and

28
Especificación de transformaciones
  • --para cada operación/atributo en source
  • --existe una rutina/atributo en el target
  • classSource.ownedOperation -gt
  • forAll (op target.abstractions -gt
  • select(oclIsTypeOf(Routine)-gt
  • exists(op1 operTransf (op, op1)))
  • and
  • classSource.ownedAttribute -gt
  • forAll (at target.abstractions -gt
  • select(oclIsTypeOf(Attribute))-gt
  • exists(at1attribTransf(at, at1))) )

29
Especificación de transformaciones
  • POST
  • --para cada asociación en source existe una en
    target..
  • source.ownedMember-gt
  • select(oclIsTypeOf(Association) -gt
  • forAll (assoc
  • exists(assoc1assocTransf (assoc, assoc1))
  • Additional Operations

30
Especificación de transformaciones
  • Additional Operations
  • defoperTransf(OPackageoperation,FModelfeatu
    re) Boolean
  • if O.stereotype.name constructor
  • then F.name make else F.name O.name endif
  • and (F.type.conformsTo.O.type)
  • and O.parameters -gt size () lt F.parameters
    -gtsize()
  • and Sequence 1..(O.parameters -gtsize()) -gt
    forAll (iInteger
  • F.parameters -gt (at(i).name O.parameters -gt
    at(i).name) and
  • O.parameters -gtat(i).type.conformsTo.(F.parameters
    -gtat(i).type))
  • def
  • attribTransf(SPackageAttribute,TModelAttribu
    te)Boolean
  • def
  • assocTransf(SPackageAssociation,TModelAssoci
    ation)Boolean.
  • END-TRANSFORMATION
Write a Comment
User Comments (0)
About PowerShow.com