Especificacin y Modelado de Arquitecturas Software Raquel Anaya [email protected] 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 2 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/ 3 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. 6 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) 8 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 Por qu? Qu? Cualidades de la Arquitectura
Arquitectura Representacin de la arquitectura Quin? Produce Arquitecto Caractersticas Del Sistema Satisface Requerimientos S/W Restringe Atributos de Calidad del sistema Tecnologa
Analiza Habilidades Defines Para qu? Procesos Define roles Organizacin Stakeholders Fuente: Rational Software 10 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 12 Corto tiempo en mercado Bajo costo; ventajas con productos similares cliente Bajo costo y tiempo de entrega, que no cambie muy a menudo 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 + 7. Asegurar que la implementacin corresponde a la arquitectura
16 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 Establecer un proceso de monitoreo permanente para asegurar que la arquitectura actual y su representacin se mantienen consistentes durante su operacin y evolucin 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 Inception Elaboration
Preliminary Iteration(s) Iter. #1 Construction Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment Supporting Workflows Configuration Mgmt Management Environment Iter.
#2 Iter. #n Iter. #n+1 Iter. #n+2 Enfatiza la importancia de: Iter. #n Iter. #n+1 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 Importanciade demodelos modelosde dealto altonivel nivelque queluego luegose serefinan refinan Importancia Desarrollobasado basadoen eninterfaces interfacesantes
antesque queclases clases Desarrollo Usode depatrones patronesyytcticas tcticasde dearquitectura arquitectura Uso En la gestin del proyecto Desarrollo Desarrollo Basado Basadoen en lalaArquitectura Arquitectura
Estimaresfuerzo esfuerzode deconstruccin construccin Estimar Plande deconstruccin construccinde delos losCU CUsegn segnsu su Plan impactoen enlalaarquitectura arquitectura impacto Nuevosesquemas esquemasde denegociacin negociacindel
delproyecto proyecto Nuevos Nuevosesquemas esquemasde deinteraccin interaccincliente/proveedor cliente/proveedor Nuevos Laarquitectura arquitecturacomo comoelemento elementopara paraevaluar evaluar La riesgos riesgos 18 En la calidad del producto Medicinde
delalacalidad calidadsobre sobre Medicin planos planos Adopcinde deframeworks frameworksde de Adopcin atributosde decalidad calidad atributos 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) 22 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
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 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 levels of detail + UniCon: Glue code generation for interconnecting existing components using common interaction protocols + Weaves: Data-flow architectures, characterized by high volume of data and realtime requirements on its processing + Wright: Modelling and analysis (specifically, deadlock analysis) of the dynamic behaviour of concurrent systemsx + XADL: Extensible XML-based ADL based on xArch 26 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 34 sd ValidateCoin :User :VendingMachine Insert(coin) alt else Display(price) RejectCoin() 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 Decomposition :Detector create sd Overview Insert(coin) :User :VendingMachine ref
Decomposition Insert(coin) ValidateCoin() RejectCoin() RejectCoin() 35 :Controller 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 36 sd BuyScenario :User ref :VendingMachine ChooseProduct Display(price) ref ValidateCoin 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 InsertCoin Interface Provista VendingMachine 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 InsertCoin Detector 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 InsertCoin InsertCoin Counter :Counter :Detector 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 Implementation View End-user Functionality 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) MDA: The new OMG baby + Nueva orientacin de las actividades de la OMG Ms all de las propuestas de middleware (CORBA) Influenciado por la amplia aceptacin de UML
+ Estndares que ha impulsado la OMG 44 Meta Object FacilityTM (MOF) Unified Modeling LanguageTM (UML) Common Warehouse MetamodelTM (CWM) XML Metadata InterchangeTM (XMI) XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 Arquitectura de UML de cuatro niveles (OMG) the MOF MMM a particular use of m
another UML model m another use of m XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 an execut ion X of program P 45 a UML model m the CWM MM a Pascal
program P Level M1 Level M0 the UML MM the SPEM MM t he Pascal grammar Level M2 EBN F Level M3 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 50 Modelo que representa
la semntica del negocio 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 Independiente De Plataforma 51 Modelo detallado con Pre y Post en (OCL) y con semantica de comportamiento (Action Semantic)
El modelo representa funcionalidad y comportamiento sin detalles de la tecnologa, 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 52 XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 Entorno de Animacin del
Modelo El proceso MDA: 4. Definir reglas de transformacin CIM Modelo Independiente De Plataforma Reglas de Transformacin PIM - PSM 53 XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 Entorno de Animacin del Modelo
El proceso MDA: 5. Marcar el modelo CIM Modelo Independiente De Plataforma + Marcas para transformacin Reglas de Transformacin PIM - PSM 54 XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 Entorno de Animacin del
Modelo El proceso MDA: 6. Generar PSM (PlatformSpecific Model) CIM PlatformIndependent Model Entorno de Animacin del Modelo + Marcas para transformacin CORBA Model 55 XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 Mapear PIM a
tecnologa de middleware especfica El proceso MDA: 6. Mapear a mltiples tecnologas PlatformIndependent Model CORBA Model 56 Java/EJB Model Map a PIM to Many Middleware Technologies via OMG Standard Mappings
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. XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 El proceso MDA: 7. Generacin de cdigo PlatformIndependent Model CORBA Model
CORBA 57 Map PSM to application interfaces, code, GUI descriptors, SQL queries, etc. Java/EJB Model XML/SOAP Model Other Model Java/EJB XML/SOAP
Other Las herramientas MDA generar la mayor parte del cdigo en la tecnologa especfica XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 El proceso MDA: 8. Integrar aplicaciones legado y COTS Reverse-engineer existing application into a model and redeploy. PlatformIndependent Model Legacy App
COTS App Las herramientas MDA para ingeniera reversa apoyan el proceso de integracin de aplicaciones legado 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 CORBA System 59 MDA Tools combine application and platform knowledge to generate bridges Interop Bridge XML/SOAP
Model 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 OMELET) + Kent Modelling Framework (KMF) + AndroMDA + OpenMDX + JunoMDA 61 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