Sei sulla pagina 1di 66

Especificacin y Modelado de Arquitecturas Software

Raquel Anaya
ranaya@eafit.edu.co

Septiembre 27 a Octubre 01 de 2005 Bogot, Colombia

Agenda Conferencia
+ Motivacin
+ El proceso de desarrollo basado en la arquitectura + Evaluacin de la arquitectura + Lenguajes para representacin de la arquitectura + MDA una propuesta de arquitectura alrededor de los

modelos + Conclusiones y Preguntas

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Orgenes
+ La arquitectura descansa en tres principios: la Belleza

(Venustas), la Firmeza (Firmitas) y la Utilidad (Utilitas) + (Vitruvio, siglo I a de C)

Templo de Artemisa en Efeso Siglo IV a de C. 127 columnas de 20 metros de altura

El coloso de rodas 277 a de C. 32 metros de altura Placas de bronce sobre armazn de hierro
Fuente: http://sietemaravillas.tripod.com/

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Orgenes (2)

Es arquitecto aquel que con mtodo y procedimiento seguro y perfecto sepa proyectar racionalmente y realizar en la prctica obras que se acomoden perfectamente a las ms importantes necesidades humanas. Len Batista Alberti ( 1485)

Las pirmides de Egipto. El faro de Alejandra. Ao 280 a de C. Ao 2750 a de C. Altura 120 metros. Cima equipada con espejos metlicos 146.59 m de altura, 230 m de ancho que reflejaban la luz del sol; y por las noches, Alineadas hacia el norte con una inclinacin de a falta de luz, se enciende una hoguera. 51 grados 4
XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Orgenes (3)
+ Una arquitectura debe incorporar la unidad difcil de la

inclusin en vez de la unidad fcil de la exclusin + Robert Venturi (1966)

Evolucin de la Ingeniera Civil


- Imitacin de esfuerzos previos - Aprendiendo de las fallas - Integracin de otras fuerzas - Experimentacin

Fuente: Rational Rose


5

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Qu es una arquitectura software?


+ La arquitectura del software define el sistema en trminos de sus

componentes computacionales y de las relaciones entre ellos (Shaw & Garlan, 1996) + Estructura o estructuras del sistema que comprende componentes de software, propiedades visibles de esos componentes y las relaciones entre ellos.

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Arquitectura: Pensar primero en lo importante

Diseo de alto nivel versus diseo detallado (David Budgen) Esqueleto versus Carne y Msculos (Rational Unify Process)
7

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Arquitectura vs. complejidad


+ En la medida que la complejidad de los sistemas

crece, los algoritmos y las estructuras de datos dejan de convertirse en el mayor problema. + El diseo y especificacin de la estructura general del sistema emerge como un nuevo tipo de problema: el diseo a nivel de arquitectura. + En aplicaciones OO las clases representan unidades de granularidad muy fina; en sistemas grandes se requiere hablar de unidades que represente una funcionalidad mayor (mdulos / subsistemas / componentes de negocio)
XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Arquitectura vs. complejidad (2)

Fuente: Architecture as a Business Competency. Bredemeyer Consulting


9

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Elementos relacionados con la arquitectura


Qu?
Cualidades de la Arquitectura Arquitectura Representacin de la arquitectura Satisface Restringe Requerimientos S/W

Por qu?
Caractersticas Del Sistema

Atributos de Calidad del sistema


Tecnologa Analiza Defines

Quin?

Produce Arquitecto

Para qu?

Procesos Define roles

Habilidades Stakeholders

Organizacin

10

Fuente: Rational Software


XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Influencias hacia y desde la arquitectura

El ciclo ABC (Arquitecture Business Cycle)


Fuente: Linda Northrop. Cargnegie Melon University
11

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Influencias de los participantes sobre el arquitecto


usuario final Funcionalidad Rendimiento Seguridad usabilidad

gerente del proyecto Bajo costo Rendimiento del equipo

soporte aplicativo

modificabilidad

arquitecto
lder de mercadeo Corto tiempo en mercado Bajo costo; ventajas con productos similares cliente Bajo costo y tiempo de entrega, que no cambie muy a menudo

12

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Agenda Conferencia
+ Motivacin
+ El proceso de desarrollo basado en la arquitectura + Evaluacin de la arquitectura + Lenguajes para representacin de la arquitectura + MDA una propuesta de arquitectura alrededor de los

modelos + Conclusiones y Preguntas

13

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Pasos generales de un proceso de desarrollo basado en la arquitectura


+ 1. Evaluar la necesidad empresarial del sistema Asegurar que la organizacin requiere el sistema Cunto costar el producto? Cul es el mercado objetivo? Cul es el tiempo de puesta en el mercado? Qu interacciones se requieren con otros sistemas? + 2. Entender los requerimientos Tcnicas de elicitacin de requisitos (casos de uso, escenarios) Para sistemas de seguridad crtica utilizar aproximaciones rigurosas como mquinas de estado finito o lenguajes formales Cules son las caractersticas particulares del sistema con respecto a otros sistemas (por ejemplo lneas de producto)?

14

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Pasos generales de un proceso basado en la arquitectura (2)


+ 3. Crear o seleccionar la Arquitectura Cules son los estilos de arquitectura adecuados?
Layer, MVC, Blackboard, Tuberias y Flitros, etc.

Qu papel juegan las aplicaciones legado? Cules son las tcticas de arquitectura para cumplir un atributo de

calidad? + 4. Representar y comunicar la arquitectura Uso de modelos y de documentos de definicin de arquitecturas Sesiones para comunicacin y discusin de la arquitectura con todos los stakeholders + 5. Analizar o evaluar la arquitectura Definir varias alternativas de arquitectura Utilizar mtodos de evaluacin de arquitectura

15

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Pasos generales de un proceso basado en la arquitectura (3)


+

6. Implementar el sistema basado en la arquitectura


Implementar las interfaces definidas en la arquitectura Tener un ambiente o infraestructura que asista activamente a los desarrolladores en la creacin y mantenimiento de la arquitectura

7. Asegurar que la implementacin corresponde a la arquitectura

Establecer un proceso de monitoreo permanente para asegurar que la arquitectura actual y su representacin se mantienen consistentes durante su operacin y evolucin

16

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La arquitectura y la propuesta del Proceso Unificado


Phases Process Workflows
Business Modeling Requirements Analysis & Design Implementation Test Deployment
Inception Elaboration Construction Transition

Supporting Workflows
Configuration Mgmt Management Environment
Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #n
Iter. #n+1

Enfatiza la importancia de:


Especificacin precisa de requisitos no funcionales Pruebas de concepto de la arquitectura Definicin de la lnea base de la arquitectura Procesos formales de anlisis y evaluacin de la arquitectura
17

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Impactos del desarrollo basado en la arquitectura En la ingeniera


Importancia de modelos de alto nivel que luego se refinan Desarrollo basado en interfaces antes que clases Uso de patrones y tcticas de arquitectura Desarrollo Basado en la Arquitectura En la calidad del producto
Medicin de la calidad sobre planos Adopcin de frameworks de atributos de calidad

En la gestin del proyecto

Estimar esfuerzo de construccin Plan de construccin de los CU segn su impacto en la arquitectura Nuevos esquemas de negociacin del proyecto Nuevos esquemas de interaccin cliente/proveedor La arquitectura como elemento para evaluar riesgos
18

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Agenda Conferencia
+ Motivacin
+ El proceso de desarrollo basado en la arquitectura + Evaluacin de la arquitectura + Lenguajes para representacin de la arquitectura + MDA una propuesta de arquitectura alrededor de los

modelos + Conclusiones y Preguntas

19

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Escenarios de atributos de calidad

+ Utilizados para:
Precisar los atributos de calidad en la fase de definicin de

requisitos Verificar el cumplimiento del contrato en las fases de diseo e implantacin


20

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Tcnicas de apoyo al anlisis y evaluacin de arquitecturas propuestas por el SEI


+ Para obtener los casos de negocio y entender los

requerimientos
Quality Attribute Workshop (QAW)

+ Para crear o seleccionar la arquitectura


Attribute Driven Desing (ADD)

+ Para documentar y comunicar la arquitectura


View and Beyond Approach

+ Para analizar y evaluar la arquitectura


Architecture Tradeoff Analysis Method (ATAM) Cost Benefit Analysis Method (CBAM) Software Architecture Analysis Method (SAAM)

21

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

rbol de calidad (ATAM)


Utilizado para articular las metas esperadas del sistema con respecto a los atributos de calidad Las hojas del rbol presentan los escenarios considerados relevantes a la arquitectura Se asignan peso a cada rama del rbol segn su importancia y dificultad de implementacin

22

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Agenda Conferencia
+ Motivacin
+ El proceso de desarrollo basado en la arquitectura + Evaluacin de la arquitectura + Lenguajes para representacin de la arquitectura + MDA una propuesta de arquitectura alrededor de los

modelos + Conclusiones y Preguntas

23

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Qu es un ADL (Architecture Definition Language)?


+ Un ADL enfoca en la descripcin de la estructura de la

aplicacin a alto nivel, en lugar de la descripcin de la implementacin de cualquier mdulo especfico. + ADL es un lenguaje que provee elementos para modelar la arquitectura conceptual de un sistema software, distinguindola de la implementacin del sistema (Medvidovic&Taylor) + Constructores bsicos de un ADL: Componentes, Conectores, Configuraciones y Restricciones (Tracz, 1993). + El problema: Los lenguajes formales son difciles de entender y manejar en aplicaciones industriales + Reto: Convertir a UML en un lenguaje suficientemente preciso para especificar una arquitectura

24

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Relacin de ADLs con otras notaciones y herramientas

25

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Principales lenguajes ADL


+ ACME: Architectural interchange, predominantly at

26

the structural level + Aesop: Specification of architectures in specific styles + C2: Architectures of highly-distributed, evolvable, and dynamic systems + Darwin: Architectures of highly-distributed systems whose dynamism is guided by strict formal underpinnings + MetaH: Architectures in the guidance, navigation, and control (GN&C) domain + Rapide: Modelling and simulation of the dynamic behaviour described by an architecture + SADL: Formal refinement of architectures across
XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Ejemplo de un ADL: Acme Studio

Editor grfico para diseo de arquitecturas Diseo de estilos o familias de arquitectura Implementado como plugin de Eclipse

27

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Alternativas de integracin de UML con ADLs


+ Alternativa 1. Buscar correspondencia entre ADLs

existentes y UML

ADL : Para el diseo de alto nivel UML : Para el diseo detallado

28

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Correspondencia ADL & UML - Ejemplo en C2

29

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Correspondencia ADL & UML - Ejemplo en C2 (2)

30

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Alternativas de utilizacin de UML como ADL


Alternativa 2. Adecuar UML por medio de estereotipos
+ Esta estrategia ha sido aplicada en lenguajes como C2 , Wright y

Rapide + Ventajas:

Representa de manera explcita las restricciones arquitecturales a travs

de OCL Entendible por los desarrolladores y soportado por herramientas CASE Las tareas de ingeniera inversa a travs de estereotipos podran simplificarse + Desventajas: Dificultad para establecer los lmites entre el diseo de la arquitectura y el diseo detallado Incapacidad de las herramientas CASE para forzar el cumplimiento de restricciones escritas en OCL Dificultad para representar en UML la semntica particular de algunos lenguajes de ADL
31

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Alternativas de utilizacin de UML como ADL


Alternativa 3. Extender UML
Extender el metamodelo de UML para soportar directamente

los constructores de arquitectura Incorporar formalmente en UML nuevas capacidades de modelado Se puede simplificar las tareas de generar la arquitectura a partir del diseo Reto: Estandarizar el lenguaje sin incrementar demasiado la complejidad de la especificacin (?)

32

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Caractersticas de las extensiones de UML 2.0


+ Mayor riqueza semntica en la definicin del

comportamiento del sistema + Facilidad para definir composicin de elementos


Composicin estructural Composicin del comportamiento

+ Conectores y puertos como constructores asociados a

los clasificadores (clases y componentes)

33

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

UML2.0: Extensiones en la definicin del comportamiento en diagrama de secuencias


Variaciones para expresar

Paralelismo y alternativas Iteraciones y opcionalidad Excepciones


Este cambio reduce el nmero de diagramas requeridos para expresar la funcionalidad
Operador De la interaccin

sd ValidateCoin

:User

:VendingMachine

Insert(coin)

alt

Display(price)
else

RejectCoin()

34

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

UML2.0: Facilidad para especificar el comportamiento en diferentes niveles de detalle


La lnea de vida de un objeto puede ser expandida con el propsito de proveer diferentes niveles de abstraccin
sd Overview

sd Decomposition

:Detector

create
:Controller

Insert(coin)
:User :VendingMachine ref Decomposition

ValidateCoin() RejectCoin()

Insert(coin) RejectCoin()

35

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

UML2.0: Facilidad para factorizar comportamientos comunes / alternativos


Evita duplicacin de secuencias repetitivas Mayor consistencia con la definicin de flujos obligatorios y opcionales declarados en el caso de uso
sd BuyScenario

:User

:VendingMachine

ref

ChooseProduct Display(price)
ref

ValidateCoin

36

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

UML2.0: Facilidad para composicin estructural

La clase como una entidad stand-alone con interfaces requeridas y provistas

VendingMachine
InsertCoin

Interface
Provista

Display Interface Requerida

37

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

UML2.0: Facilidad para composicin estructural (2)


Una misma clase con diferentes comportamientos Cada comportamiento representa un puerto de acceso a la clase El puerto actua como un nico punto de interaccin de la clase
composite port port

pCtrl Maintenance

Detector
InsertCoin

CoinControl,
Counter

38

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

UML2.0: Facilidad para composicin estructural (3)


Permite descomposicin jerrquica de la clase Los conectores son utilizados como asociaciones contextuales
Class Part

VendingMachine
pCtrl Counter

:Detector InsertCoin
InsertCoin

:Counter

CoinControl Display

:Controller

Display Connector
39

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El modelo de arquitectura de UML: 4+1 vistas

Logical View
End-user Functionality

Implementation View
Programmers Software management

Use Case View Process View


System integrators Performance Scalability Throughput

Deployment View
System engineering System topology Delivery, installation Communication

Fuente: Rational Software


40

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Agenda Conferencia
+ Motivacin
+ El proceso de desarrollo basado en la arquitectura + Evaluacin de la arquitectura + Lenguajes para representacin de la arquitectura + MDA una propuesta de arquitectura alrededor de

los modelos + Conclusiones y Preguntas

41

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La promesa de MDA (Model Driven Architecture)


De desarrollo basado en cdigo a desarrollo basado en modelos

From:
42

Automating Software Development with UML 2.0, Cris Cobryn

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Vista general de MDA

43

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Quin lidera la iniciativa de MDA?


+ El grupo OMG (Object Management

Group)
OMG

MDA: The new OMG baby

+ Nueva orientacin de las actividades de la


Ms all de las propuestas de

middleware (CORBA) Influenciado por la amplia aceptacin de UML

+ Estndares que ha impulsado la OMG


Meta Object FacilityTM (MOF) Unified Modeling LanguageTM (UML) Common Warehouse MetamodelTM (CWM) XML Metadata InterchangeTM (XMI)

44

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Arquitectura de UML de cuatro niveles (OMG)


EBNF

Level M3

the MOF MMM

the Pascal grammar

Level M2

the SPEM MM

the UML MM

the CWM MM

a Pascal program P

Level M1

a UML model m

another UML model m

an execution X of program P

Level M0

a particular use of m

another use of m

45

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Arquitectura de UML de cuatro niveles (OMG): Ejemplo

46

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Estructura de extensin de los lenguajes

47

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso de transformacion
+ La transformacin es la generacin automtica de un

modelo fuente en un modelo objetivo, de acuerdo a unas definiciones de transformacin + Una definicin de transformacin esta conformada por un conjunto de reglas que describen como el modelo en el lenguaje fuente puede ser transformado en un modelo en el lenguaje destino + Una regla de transformacin es una descripcin de uno o ms constructores en el lenguaje fuente que pueden ser transformados en uno o mas constructores en el lenguaje destino
48

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso de transformacin

49

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso MDA: 1. Construccin del CIM


Modelo Independiente de la Computacin

Modelo que representa la semntica del negocio

50

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso MDA: 2. Transformacin de CIM a PIM


CIM
Modelo detallado con Pre y Post en (OCL) y con semantica de comportamiento (Action Semantic)

Modelo Independiente De Plataforma

El modelo representa funcionalidad y comportamiento sin detalles de la tecnologa,

51

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso MDA: 3. Probar PIM


CIM

Modelo Independiente De Plataforma

Entorno de Animacin del Modelo

52

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso MDA: 4. Definir reglas de transformacin


CIM
Entorno de Animacin del Modelo

Modelo Independiente De Plataforma

Reglas de Transformacin PIM - PSM

53

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso MDA: 5. Marcar el modelo


CIM
Entorno de Animacin del Modelo + Marcas para transformacin

Modelo Independiente De Plataforma

Reglas de Transformacin PIM - PSM

54

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso MDA: 6. Generar PSM (PlatformSpecific Model)


CIM
Entorno de Animacin del Modelo + Marcas para transformacin Mapear PIM a tecnologa de middleware especfica

PlatformIndependent Model

CORBA Model

55

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso MDA: 6. Mapear a mltiples tecnologas

PlatformIndependent Model

Map a PIM to Many Middleware Technologies via OMG Standard Mappings

CORBA Model

Java/EJB Model

XML/SOAP Model

Other Model

MDA tool applies an standard mapping to generate PlatformSpecific Model (PSM) from the PIM. Code is partially automatic, partially hand-written.

56

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso MDA: 7. Generacin de cdigo


Map PSM to application interfaces, code, GUI descriptors, SQL queries, etc.

PlatformIndependent Model

Las herramientas MDA generar la mayor parte del cdigo en la tecnologa especfica

CORBA Model

Java/EJB Model

XML/SOAP Model

Other Model

CORBA

Java/EJB

XML/SOAP

Other

57

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso MDA: 8. Integrar aplicaciones legado y COTS

PlatformIndependent Model

Reverse-engineer existing application into a model and redeploy.

Las herramientas MDA para ingeniera reversa apoyan el proceso de integracin de aplicaciones legado

Legacy App

COTS App

Other Model

Other

58

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El proceso MDA: 9. Generacin de adaptadores (bridges)

PlatformIndependent Model

CORBA Model

MDA Tools combine application and platform knowledge to generate bridges

XML/SOAP Model

CORBA System Interop Bridge


59

XML/SOAP System

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Herramientas MDA

60

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Herramientas MDA (Libres)


+ UMT - (UML Model Transformation Tool + Model Transformation Framework (MTF) + open Architectureware Eclipse plugin + iQgen 2.0 + Metadata Transformer/Generator (MTG) + Motion Modeling + The ATL Engine + MTL Engine + ModFact + Generative Model Transformer (GMT) (Surge
61

OMELET) + Kent Modelling Framework (KMF)

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Herramientas MDA (Comerciales)


+ ArcStyler
+ MCC (Model Component Compiler) + Codagen Architect + OptimalJ + Xactium XMF Mosiac + SosyInc Modeler and Transformation Engine + Model-in-Action

62

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Clasificacin de soluciones existentes


+ De modelo a cdigo
Visitor based: mecanismo para recorrer la representacin interna del modelo y

generar el cdigo (Ej. Jamda) Template based: (Ej: b+m Generator Framework, JET, FUUT-je, Codagen Architect, AndroMDA, ArcStyler, OptimalJ and XDE)

+ De modelo a modelo

direct-manipulation: Generalmente implementadas como framework OO como una

estructura para organizar las transformaciones (Ej: jamda, jmi) Relational:Aproximaciones declarativas basadas en relaciones matemticas utilizando lenguajes lgicos (ej: F-Logic) graph-transformation-based: Se utilizan grafos para expresar en un nico formalismo los diferentes modelos (Ej:VIATRA, ATOM, GreAT, UMLX, and BOTL) structure-driven: Realiza la transformacin en dos fases: en la primera fase se crea la estructura jerrquica del modelo destino y en la segunda fase se actualizan las propiedades y referencias en el modelo destino (ej: OptimaJ, IOPT). Practica para transformacin a plataformas como J2EE hybrid approaches. Combinan diferentes tcnicas de las categoras anteriores (Ej: TRL combina aproximacion declarativa e imperativa; ATL puede ser completamente declarativa, hbidra o totalmente imperativa) transformacin utilizando XSLT. Dificultades: baja escalabilidad, dificultad para escribir las reglas de transformacin

+ Jamda, XDE, OptimalJ permite ambas

transformaciones
63

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Agenda Conferencia
+ Motivacin
+ El proceso de desarrollo basado en la arquitectura + Evaluacin de la arquitectura + Lenguajes para representacin de la arquitectura + MDA una propuesta de arquitectura alrededor de los

modelos + Conclusiones y Preguntas

64

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Conclusiones
+ La arquitectura como estrategia para enfrentar la

complejidad de los sistemas actuales + Las actividades alrededor de la arquitectura deben integrarse al proceso de desarrollo + UML2.0 provee facilidades para definicin de la arquitectura + MDA como enfoque de desarrollo donde los modelos son los constructores de primera clase

65

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Preguntas?

66

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Potrebbero piacerti anche