24
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

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

  • Upload
    reia

  • View
    33

  • Download
    1

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: 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á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

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

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

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

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

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

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

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

Julio, 2007PFC 9

MultiTELxADL

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

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

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

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

Julio, 2007PFC 13

DAOPxADL

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

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

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

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

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

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

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

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

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

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

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

Julio, 2007PFC 24

Gracias