Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL
description
Transcript of Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL
![Page 1: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/1.jpg)
Generación de Aplicaciones a partir de Descripciones Arquitectónicas en
Extensiones de xADL
Nadia GámezDirectoras: Lidia Fuentes y Mónica Pinto
Universidad de Málaga {nadia,lff,pinto}@lcc.uma.es
Málaga, Julio 2007
![Page 2: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/2.jpg)
Julio, 2007PFC 2
Agenda
AntecedentesObjetivosxADL 2.0El LDA de MultiTEL y MultiTELxADLDAOP-ADL y DAOPxADLGenerador de Código para MultiTELxADLGeneradores de Código para DAOPxADLUtilidad de los LDAs Orientados a AspectosConclusiones y Trabajos Futuros
![Page 3: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/3.jpg)
Julio, 2007PFC 3
Antecedentes
La Arquitectura del Software estudia la estructura de una aplicación, formada por un conjunto de componentes, sus propiedades y relaciones
El DSOA propugna la separación de aspectos en todas las fases del ciclo de vida del software
Los LDAs tradicionales no proporcionan el soporte necesario para separar cualquier comportamiento que atraviese varios elementos del sistema (crosscutting concerns)
Hay otros LDAS que si incorporan la separación avanzada de conceptos
Sería deseable disponer de un LDA que aplique la separación avanzada de conceptos con la misma estructura que los LDAs tradicionales
![Page 4: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/4.jpg)
Julio, 2007PFC 4
Objetivos
Arquitectura del Software
Se ha extendido xADL para adaptarlo a los conceptos y nociones de dos LDAs previamente definidos:
El LDA de MultiTEL, creando MultiTELxADL DAOP-ADL, creando DAOPxADL
Implementación
Generadores de código para los LDAs extendidosMultitTELxADL Java DAOPxADL JavaDAOPxADL AspectJDAOPxADL JBoss AOP
![Page 5: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/5.jpg)
Julio, 2007PFC 5
xADL 2.0 xADL es un LDA basado en XML diseñado para ser usado por sí mismo, así como para ser extendido soportando nuevas aplicaciones y dominios
Dispone un amplio conjunto de herramientas fácilmente adaptables (e incluso directamente) a las extensiones hechas de xADL
Component1
Component2
Connector1 Links Interfaces
Elementos Básicos de xADL
Componentes
Conectores
Interfaces
Links
![Page 6: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/6.jpg)
Julio, 2007PFC 6
xADL 2.0
Receptor de Infrarrojos
Sintonizador canal televisión
Sintonizador Picture-in-Picture
Conector Software
TV TunerComponent
PiP TunerComponent
Infrared Receiver Component
TV Connector
Sistema de Televisión en xADL
![Page 7: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/7.jpg)
Julio, 2007PFC 7
LDA de MultiTEL
Elementos Básicos de MultiTEL
Componentes
ConectoresProtocolo de Coordinación
Servicio
Lenguaje de Definición de Componentes
Lenguaje de Definición de Servicios
Lenguaje de Configuración de Servicios
Lenguaje de Definición de Arquitecturas
Define la arquitectura de un sistema como una colección de componentes pasivos que se comunican a través de conectores que encapsulan un protocolo de coordinación
![Page 8: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/8.jpg)
Julio, 2007PFC 8
MultiTELxADL
Elementos xADL LDC+LDS MultiTEL MultiTELxADL
Componentes ComponentType tipo-componente Se extiende ComponentType: MTComponentType
Conectores ConnectorType tipo-conectorSe extiende ConnectorType:MTConnectorType
Links Links No tiene No los usa
Interfaces InterfaceType seccion-interfaz de los componentes.
Se extiende InterfaceType:MTInterfaceType
Servicio No tiene tipo-servicio mTProgramLDS
![Page 9: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/9.jpg)
Julio, 2007PFC 9
MultiTELxADL
![Page 10: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/10.jpg)
Julio, 2007PFC 10
DAOP-ADL
Componentes y AspectosNombre de RolInterfaces Atributos de EstadoPropiedadesImplementaciones
Propiedades
Restricciones de Composición
Información de Despliegue
Contexto Inicial
Comp.: Proporcionada, Requerida y de Eventos Aspectos: Evaluada
Composición de Componentes Evaluación de Aspectos
Aspecto de Coordinación
Protocolo de Coordinación
![Page 11: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/11.jpg)
Julio, 2007PFC 11
DAOPxADL
Elementos xADL DAOP-ADL DAOPxADL
Componentes ComponentType Component ComponentDAOPType
Aspectos No tiene Aspect ComponentDAOPType
Conectores ConnectorType No tiene Reglas de Evaluación
Evaluación de Aspectos No tiene AspectEvaluationRuleType AspectualConnectorType
Links Links No tiene Reglas de Composición
Composición de Comp. No tiene Resuelven dos
IncompatibilidadesComponentRuleTypePropertyRules
Interfaces InterfaceTypeProvided, RequiredEvent, Evaluated
Se extiende InterfaceType
Asp. Coord. No tiene CoordinationAspectType CoordinationAspectType
![Page 12: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/12.jpg)
Julio, 2007PFC 12
DAOPxADL
Elementos Básicos de DAOPxADL
Estructuras
Tipos
Propiedades
Reglas de las Propiedades
Información de Despliegue
Contexto inicial
![Page 13: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/13.jpg)
Julio, 2007PFC 13
DAOPxADL
![Page 14: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/14.jpg)
Julio, 2007PFC 14
DAOPxADL Sistema de Televisión en DAOPxADL
Persistencia para guardar estado del PiPAutenticación para acceder a canales restringidos
TV TunerComponent
PiP TunerComponent
Infrared Receiver Component
AuthenticationComponent
PersistenceComponent
TunerPI TunerPI
InfraredRI
Aut
hEvI
PerEvIB
PerE
vIA
Aspectual Connector
Create and FinalizeComponent
Send Message(codifiedChannel)
![Page 15: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/15.jpg)
Julio, 2007PFC 15
Generador de Código MultiTELxADL Java
¿Cómo generar una aplicación Java a partir de MultiTELxADL?
![Page 16: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/16.jpg)
Julio, 2007PFC 16
Generador de Código DAOPxADL Java
¿Cómo generar una aplicación Java a partir de DAOPxADL?
![Page 17: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/17.jpg)
Julio, 2007PFC 17
Generador de Código DAOPxADL AspectJ
¿Cómo generar una aplicación AspectJ a partir de DAOPxADL?
![Page 18: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/18.jpg)
Julio, 2007PFC 18
Generador de Código DAOPxADL JBoss AOP
¿Cómo generar una aplicación JBoss AOP a partir de DAOPxADL?
![Page 19: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/19.jpg)
Julio, 2007PFC 19
Generadores de Código DAOPxADL Generación de una aplicación real descrita en DAOPxADL
![Page 20: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/20.jpg)
Julio, 2007PFC 20
Generadores de Código DAOPxADLComparación entre los Generadores
El generador más sencillo para DAOPxADL es el que genera código Java para la plataforma DAOP
El modelo de puntos de corte de DAOPxADL coincide con el de la plataforma
JBoss AOP es más intuitivo que AspectJ para generar código desde una descripción de la arquitectura de una aplicación en DAOPxADL
DAOPxADL y JBoss AOP son propuestas simétricasLos puntos de cortes se especifican en una entidad aparte y no en el propio aspecto
En AspectJ los aspectos son implementados como una entidad completamente diferente a los componentes y en ellos se especifica la relación con el resto de componentes de la aplicación
![Page 21: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/21.jpg)
Julio, 2007PFC 21
Utilidad de los LDAs orientados a aspectos
C. Sant’Anna, N. Gamez , A. Garcia, M.Pinto, L. Fuentes. Architecture Evaluation Process/ Architectural Metrics. Milestone M6.13 (AOSD-Europe Network of Excelence), Noviembre 2006.
M. Pinto, N. Gámez, L. Fuentes. Towards the architectural definition of the health watcher system with AO-ADL. Early Aspect Workshop at ICSE, Mayo 2007.
L.Fuentes, N.Gámez. Adding Aspects to xADL 2.0 for Software Product Line Architectures. VaMoS Workshop, Enero 2007.
![Page 22: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/22.jpg)
Julio, 2007PFC 22
Conclusiones y Trabajos Futuros
En este proyecto se han abarcado varios temas para ayudar al proceso de desarrollo del software:
Fase de diseño arquitectónico Fase de implementación
Para contribuir en la fase del diseño de arquitecturas de sistemas se han creado dos LDAs nuevos como extensión de xADL
MultiTELxADLDAOPxADL
Para solventar el salto existente en entre el diseño arquitectónico de un sistema y su implementación hemos desarrollados varios generadores de código
Para MultitTELxADL: JavaPara DAOpxADL: Java, AspectJ, AOPJBoss
Como trabajo futuro se pueden adaptar las herramientas basadas en la semántica que proporciona xADL para que sirvan para las extensiones hechas del lenguaje
![Page 23: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/23.jpg)
Julio, 2007PFC 23
Referencias[Dashofy et al., 2005] E. Dashofy, A. Van Der Hoek, R. Taylor. A Comprehensive Approach for the Development of Modular Software Architecture Description Languages. ACM Transactions on Software Engineering and Methodology, Vol. 14, No. 2, April 2005, 199–245.
L. Fuentes. Una Arquitectura Software para el desarrollo de Servicios Avanzados de Telecomunicación, Tesis Doctoral. Dpto. de Lenguajes y Ciencias de la Computación, Universidad de Málaga (1998).
L. Fuentes, N. Gámez, M. Pinto. DAOPxADL: Una extensión del lenguaje de descripción de arquitecturas xADL con aspectos. Proceedings of DSOA 2006, Barcelona, España.
M. Pinto. CAM/DAOP: Modelo y Plataforma Basados en Componentes y Aspectos, Tesis Doctoral. Departamento de Lenguajes y Ciencias de la Computación, Universidad de Málaga (2004).
![Page 24: Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL](https://reader030.fdocumento.com/reader030/viewer/2022020220/56814de7550346895dbb581d/html5/thumbnails/24.jpg)
Julio, 2007PFC 24
Gracias