120 likes | 225 Views
Deriving AO Software Architectures using the AO-ADL Tool Suite. Luis Fernández , Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga {lfernandez,pinto,lff,valenzuela}@lcc.uma.es. AOSD Brussels, April 2008. Agenda. Problem Specification Aspect Oriented ADLs
E N D
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga {lfernandez,pinto,lff,valenzuela}@lcc.uma.es AOSD Brussels, April 2008
Agenda • Problem Specification • Aspect Oriented ADLs • Solution Specification • AO-ADL • AO-ADL Decomposition Model • AO-ADL Composition Model • Conclusions AOSD
Problem Specification: Aspect-Oriented ADLs Separation, Representation and Composition of crosscutting concerns at the early stages of the development • Specially, the specification of crosscutting concerns at architecture level using ADLs • Is not enough with the traditional ADLs • We can incorporate specificelements or not • The alternatives are based on the decomposition model and the composition model AOSD
Solution Specification: AO-ADL • AO-ADL is an aspect-oriented architecture description language • The main contributions of AO-ADL are two: • Symmetric decomposition model • Extension of the semantic of connectors with aspectual composition information • We specially focus on: • Aspectual compositions • Reutilization of connectors through the definition of Connector Templates AOSD
AO-ADLDecomposition and Composition model Decomposition Model: Symmetric • Components model crosscutting (aspectual component) and non-crosscutting behavior (base component) • A component is considered an aspect when it participates in an aspectual interaction Composition Model: Crosscutting relationships in connectors • Provide support to describe different kinds of interactions • Typical communication • Crosscutting influence • Specify how ’aspectual’ components are weaved with ’base’ components during components’ communication. AOSD
Solution Specification: AO-ADL Decomposition Model Decomposition Model: Symmetric Advantages • Increases the reusability of components, which may play an aspectual or non-aspectualrole depending on the particular interactions in which they participate • AO-ADL explicitly and homogenously represents the dependencies of both ’aspectual’ and ’base’ components, by means of its provided and required interfaces • The modularity of components is improved, solving the tangled and the scattered behavior problem earlier, at the architectural level AOSD
Solution Specification: AO-ADL Composition Model Composition Model: Crosscutting relationships in connectors Advantages • The traditional structure of ADLs is maintained even in the presence of crosscutting behaviors • All the composition relationships are homogeneously modeled using the same building block • The pointcut specification is not part of the ’aspectual’ component definition, but part of the connector aspectual binding specification • Helps to localize in the same architectural block all aspect-oriented information • The use of quantifications help to model more generic and reusable connectors AOSD
AO-ADL Tool Suite AO-ADL Tool Suite Features • It has been developed as an Eclipse plug-in • Provides support to manage the repository of Components and Connectors (C&C Repository) • Creation, modification and deletion of AO-ADL elements • Definition and Instantiation of Connector Templates • Transformation of AO-ADL elements to Theme/UML • Validation of AO-ADL elements • Search for any AO-ADL element (interfaces, components or connectors) following a search criterion. AOSD
Connector Templates Reutilization of connectors Connector Templates • The use of Connector Templates increase the reusability of well-known behavior patterns • Through the instantiation process we can reuse the same behavior pattern is several architectures • We use JET (Java Emitter Templates) as the language for the parameterization of the connectors: • Is a part of an Eclipse project • Allows the use of Java code in the parameterization process AOSD
Transformation to Theme/UML Automatic transformation to Theme/UML • Mapping defined in collaboration with Trinity College (Dublin), creators of Theme/UML • Make easier to continue with the next stage of development process Automatic transformation to Theme/UML • It allows transforming concrete elements (a component, a connector) as well as a complete architectures • Use MDD technology • AO-ADL Model ---- rules ----> Theme/UML Model • Transformation rules implemented with ATL (ATLAS Transformation Language) • Transformations can be extended to other target models (e.g. plain UML 2.0) AOSD
Conclusions • This language is the aspect-oriented integrated ADL of the AOSD-Europe Network Of Excellence on AOSD. • Using AO-ADL • Crosscutting behaviors (modeled by ’aspectual’ components) can be separated and reused at the architectural level • Compositions between ’aspectual’ and ’base’ components (modeled by ’aspectual bindings’ inside connectors) are clearly represented at the architectural level. • Behavior patterns can be reused through the definition of connector templates. AOSD
Thank you! • Luis Fernández, Mónica Pinto, Lidia Fuentes, Juan A. Valenzuela • University of Málaga • {lfernandez,pinto,lff,valenzuela}@lcc.uma.es • AO-ADL Tool Suite Update Site • http://caosd.lcc.uma.es/AO-ADLUpdates • CAOSD Group web • http://caosd.lcc.uma.es AOSD