1 / 24

Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL

Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL. Nadia Gámez Directoras: Lidia Fuentes y Mónica Pinto Universidad de Málaga {nadia,lff,pinto}@lcc.uma.es. Málaga, Julio 2007. Agenda. Antecedentes Objetivos xADL 2.0

reia
Download Presentation

Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Generación de Aplicaciones a partir de Descripciones Arquitectónicas en Extensiones de xADL Nadia Gámez Directoras: Lidia Fuentes y Mónica Pinto Universidad de Málaga {nadia,lff,pinto}@lcc.uma.es Málaga, Julio 2007

  2. Agenda • Antecedentes • Objetivos • xADL 2.0 • El LDA de MultiTEL y MultiTELxADL • DAOP-ADL y DAOPxADL • Generador de Código para MultiTELxADL • Generadores de Código para DAOPxADL • Utilidad de los LDAs Orientados a Aspectos • Conclusiones y Trabajos Futuros PFC

  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 PFC

  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 extendidos • MultitTELxADL  Java • DAOPxADL  Java • DAOPxADL  AspectJ • DAOPxADL  JBoss AOP PFC

  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 Elementos Básicos de xADL • Componentes • Conectores • Interfaces • Links PFC

  6. xADL 2.0 • Receptor de Infrarrojos • Sintonizador canal televisión • Sintonizador Picture-in-Picture • Conector Software Sistema de Televisión en xADL PFC

  7. LDA de MultiTEL 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 Elementos Básicos de MultiTEL • Componentes • Conectores • Protocolo de Coordinación • Servicio PFC

  8. MultiTELxADL PFC

  9. MultiTELxADL PFC

  10. DAOP-ADL • Componentes y Aspectos • Nombre de Rol • Interfaces • Atributos de Estado • Propiedades • Implementaciones • Propiedades • Restricciones de Composición • Información de Despliegue • Contexto Inicial Aspecto de Coordinación Protocolo de Coordinación • Comp.: Proporcionada, Requerida y de Eventos • Aspectos: Evaluada Composición de Componentes Evaluación de Aspectos PFC

  11. DAOPxADL PFC

  12. DAOPxADL Elementos Básicos de DAOPxADL • Estructuras • Tipos • Propiedades • Reglas de las Propiedades • Información de Despliegue • Contexto inicial PFC

  13. DAOPxADL PFC

  14. DAOPxADL Sistema de Televisión en DAOPxADL • Persistencia para guardar estado del PiP • Autenticación para acceder a canales restringidos PFC

  15. Generador de Código MultiTELxADL  Java ¿Cómo generar una aplicación Java a partir de MultiTELxADL? PFC

  16. Generador de Código DAOPxADL  Java ¿Cómo generar una aplicación Java a partir de DAOPxADL? PFC

  17. Generador de Código DAOPxADL  AspectJ ¿Cómo generar una aplicación AspectJ a partir de DAOPxADL? PFC

  18. Generador de Código DAOPxADL  JBoss AOP ¿Cómo generar una aplicación JBoss AOP a partir de DAOPxADL? PFC

  19. Generadores de Código DAOPxADL Generación de una aplicación real descrita en DAOPxADL PFC

  20. Generadores de Código DAOPxADL Comparació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étricas • Los 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 PFC

  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. EarlyAspect 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. PFC

  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 • MultiTELxADL • DAOPxADL • 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: Java • Para 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 PFC

  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). PFC

  24. Gracias PFC

More Related