Introduccion MDA

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 22

Arquitectura de software

dirigida por modelos


(Model-Driven Architecture)
Liliana Favre
UNCPBA
2006

Model-Driven Architecture (MDA)


Es una evolucin de estndares definidos por OMG
(Object Management Group) para mejorar
procesos de desarrollo de sistemas de software dirigidos
por modelos.
Ideas centrales en MDA
Separar la especificacin de la funcionalidad del
sistema de su implementacin sobre una plataforma en
una tecnologa especfica.
Controlar la evolucin desde modelos abstractos a
implementaciones tendiendo a aumentar el grado de
automatizacin.

Plataforma en MDA
Plataforma
Es un conjunto de subsistemas y tecnologas que
proveen un conjunto coherente de funcionalidad
que puede ser usada en cualquier aplicacin sin
tener en cuenta detalles de cmo la
funcionalidad
es implementada

Modelos y MDA
Distingue diferentes tipos de modelos:

CIM (Computation Independent Model)

PIM (Platform Independent Model)

PSM (Platform Specific Model)

ISM (Implementation Specific Model)

Modelos y MDA
Computation Independent Model (CIM)
Es una descripcin de la lgica del negocio desde una
perspectiva independiente de la computacin. Es un
modelo del dominio
Platform Independent Model
Es una descripcin de la funcionalidad del sistema en
forma independiente de las caractersticas de
plataformas de implementacin especficas.

Modelos y MDA
Platform Specific Model (PSM)
Es una descripcin del sistema en trminos de
una plataforma especfica
Implementation Specific Model
Es una descripcin (especificacin) del sistema a
nivel de cdigo

MDD (Model-Driven Development)


PIM
PIM
PSM

PSM

PSM

J2EE

REL

dotNE
T

CODE

CODE

COD
E

Transformaciones y MDA
La evolucin desde modelos CIM a ISM es alcanzada
por:
Refinamientos que permiten construir una
especificacin ms especfica a partir de una ms
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)

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

Metamodelos

Modelos, Transformaciones y
Metamodelos
Estndares de OMG
UML/OCL

Modelos

MOF
(Meta Object Facility)

Metamodelos

QVT
(Query-View-Transformation)

Transformaciones

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

MOF (Meta Object


Facility)
MOF captura la diversidad de estndares de
modelamiento para integrar diferentes tipos de
modelos y metadatos e intercambiarlos entre
diferentes herramientas.

MOF (Meta Object


Facility)
Se describen mediante:
Modelos estticos UML
Clases
Asociaciones binarias
Tipos de datos
Package

Especificaciones OCL

Metamodelo
Especificaciones OCL

Metamodelo
Especificaciones OCL
context Package
self.class -> forAll (e1,e2 / e1.name = e2.name implies e1 = e2)
self.association->forAll(a1,a2/ a1.name=a2.name implies a1=a2)
self.nestedPackages->
forAll(p1,p2 / p1.name = p2.name implies p1=p2)
context AssociationEnd
source = self.otherEnd.target and target = otherEnd.source

Transformaciones y metamodelos

Metamodelo

PIM
es-instancia-de

PIM

Refinamiento

Refinamiento PIM-PIMmetamodelo

PIM-PSM

PSM- PSMmetamodelo
Metamodelo

PSM

PSM

es-instancia-de

HERRAMIENTAS 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

Herramientas CASE-MDA
Unas 120 herramientas CASE se basan en UML
y
slo un 10% soporta parcialmente MDA.
Limitaciones en procesos de:
ingeniera directa (forward engineering)
ingeniera reversa (reverse engineering)
transformaciones (refinamientos, refactoring)
anlisis de consistencia
No proveen asistencia en reenginera de
sistemas legacy

MDA y Reingeniera
Domain Model

CIM

PIM Metamodel
Classifier

PIM Metamodel

Associati on

Relations hip

Cl ass

Generalizat ion

Generalization

0.. *
Assoc EndAdaptee

1..*
TargetAdapter

0..*

AdapteeAdapter

Target

OCL
Constraints

Adaptee

Target

Adapter

{or}

0.. *

Attribute

0..*
1
1

1
Assoc EndAdapter

0..*

Adaptees

GetAdaptees

1
Class

O
peration
1

AssociationEnd

<instance of>

OCL
Constraints

AdapteeAdapter

1..*
1
Adapter

0..*
1

0..*

1..*
T
argetAdapter

1
AdapterAdaptee

1..*

Adaptee

SetAdaptees

<instance of>

PIM

Refactoring
Patterns

Rules + Strategies
Components
PSM Metamodel
Nam
edEle
ment

+sup
plier
1..*
+client
1..*

Op
aq
ueExpression
0..1
(fro
m Kernel)

DirectedRelationship

Depende
ncy

+supplier

Abstractio
n

NamedElement

OCL
Constraints

U
sa
ge

+m
apping

1.. *

1.. *

0..1 0..1
OpaqueExpression
(from Kernel)

ct
* +contra

Dependency

OCL
Constraints

+client

Realiza
tio
n

Su
bstitutio
n

Rules

(from Kernel )

*
*

0..1

PSM Metamodel
*

Abstraction

Usage

Realization

Classifier

1
1

<instance of>

<instance of>

PSM

Refactoring

Rules + Strategies
Components
ISM Metamodel

ISM Metamodel
Rules

+declari ngClass
0..1
Interface

+declari ngInterface

0..*

+declaredClass

JavaClass
isPublic
isAbstract
isFi nal

+jav
aExceptions

TypedElement

+client

+declarin gClass

OCL
Constraints

DataType
(Jav
a_Li br ary)

+declaringClass
+declaringInterface

Interface

0..*
+declare dClass

JavaClass
isPubli c
isAbstract
isFinal

+declaringClass
+declaredClass
*

*
NewClass

+localAtt

OCL
Constraints

+client

*
Member

*
Member
isFi nal
isStatic

1..*
Method
i sAbst ract
i sNative
i sSyncronized
i sConstr uctor

0..1

+declaringInterface
+ declaredInte rface

Field

*
{ordered}

isFinal
isStatic

Method
isAbstract
isNative
isSyncronized
isConstructor

JavaParameter

<instance of>

<instance of>
Refactoring

Rules + Strategies

ISM

Curso: Arquitectura de software


dirigida por modelos
Los contenidos del curso se centran
en:
Conceptos de modelado de software bajo
el enfoque propuesto por el estndar del Object
Management Group (OMG)denominado MDA
(Model Driven Architecture).
Anlisis de tcnicas bsicas para el desarrollo
de herramientas CASE basadas en MDA.

CONTENIDO
PARTE I

UML (Unified Modeling Language)


OCL (Object Constraint Language)
Metamodelado
MOF (Meta Object Facility)
Cmo construir metamodelos
Semntica de UML

CONTENIDO
PARTE II
MDA (Model-Driven Architecture)
CIM, PIM, PSM, ISM
Transformaciones de modelos y metamodelado
Refinamiento y refactoring
Evolucin de software y MDA
Herramientas CASE basadas en MDA
Tcnicas para el desarrollo de CASE basadas en
UML/MDA
Ingeniera directa, ingeniera reversa
Refactoring, patrones de reinmgeniera wrapping,

También podría gustarte