Arquitectos y Arquitecturas - 52..140.184

Arquitectos y Arquitecturas - 52..140.184

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

Recently Viewed Presentations

  • Agujeros negros: una luz diferente - NASA

    Agujeros negros: una luz diferente - NASA

    Agujeros negros: una luz diferente Dr. Jim Lochner (NASA/GSFC), Chris Foster (UCSB) NSTA, 27 Marzo 2002 Traducción: Javier Sánchez Quirós Introducción ¿Por qué enseñar los agujeros negros?
  • Chaucer and the Canterbury Tales - Pequannock Township High ...

    Chaucer and the Canterbury Tales - Pequannock Township High ...

    Common to their work is an anti-hero who rebels against a corrupt social order and strives for personal integrity. The term has been used to describe Kingsley Amis, John Osborne, Colin Wilson, John Wain, and others. Antagonist: The major characterin...
  • Objective : Identify characteristic of a Greek tragedy

    Objective : Identify characteristic of a Greek tragedy

    Objective : Identify and analyze characteristic of a Greek tragedy by taking notes on guided questions. Set up for Cornell notes and use pages 958, 964,965 to answer the questions. 1. What are the characteristics of a Greek Tragedy? 2....
  • General Physics I

    General Physics I

    Principles of Quantum Mechanics Physics 123 Concepts De Broigle waves Heisenberg's uncertainty principle Schrödinger's equation Particle in a box Boundary conditions Unitarity condition Wave - Particle duality If light exhibits both wave and particle properties then particles (e.g. electrons) must...
  • Management areas/restriction/ regulation zones and reporting ...

    Management areas/restriction/ regulation zones and reporting ...

    GML application schemas as standard encoding. conceptual models independent of concrete encodings. also possible to derive other encodings (e.g. based on RDF) provide unique and persistent identifiers for resources. allow their consistent management and versioning. items can be made unique...
  • This week in 206 Dr. Lloyd Sea urchin

    This week in 206 Dr. Lloyd Sea urchin

    UT-Austin Other titles: Times Helvetica Arial Blank PowerPoint Presentation PowerPoint Presentation PowerPoint Presentation PowerPoint Presentation PowerPoint Presentation PowerPoint Presentation PowerPoint Presentation PowerPoint Presentation PowerPoint Presentation PowerPoint Presentation ...
  • ROOM 208 WELCOME TO HOMEROOM. 1. Find your

    ROOM 208 WELCOME TO HOMEROOM. 1. Find your

    Lab Safety Video. 5. Review Lab safety around the lab room. Tomorrow- 1. Gluing Safety and Equipment information our notebook. 2. Goal Setting. ... SpongeBob fished without any bait, while Patrick used the new bait. Both of them kept track...
  • Introduction to Oceans

    Introduction to Oceans

    Areas of Study in Aquatic Science. Physical: currents, tides, waves, pressure, temperature, depth, density, as relating to weather phenomenon. Geological: history of the Earth, seafloor features, sediments, changes over time. Chemical: evolution and composition of seawater, its influences on animal...