Post on 24-Dec-2015
Deriving AO Software Architectures using the AO-ADL Tool Suite
Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. ValenzuelaUniversidad de Málaga
{lfernandez,pinto,lff,valenzuela}@lcc.uma.es
AOSDBrussels, April 2008
April, 2008AOSD 2
Agenda
Problem SpecificationAspect Oriented ADLs
Solution SpecificationAO-ADLAO-ADL Decomposition ModelAO-ADL Composition Model
Conclusions
April, 2008AOSD 3
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 ADLsWe can incorporate specific elements or notThe alternatives are based on the decomposition model and the composition model
April, 2008AOSD 4
Solution Specification: AO-ADL
AO-ADL is an aspect-oriented architecture description language
The main contributions of AO-ADL are two:Symmetric decomposition modelExtension of the semantic of connectors with aspectual composition information
We specially focus on:Aspectual compositionsReutilization of connectors through the definition of Connector Templates
April, 2008AOSD 5
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 interactionsTypical communication Crosscutting influence
Specify how ’aspectual’ components are weaved with ’base’ components during components’ communication.
April, 2008AOSD 6
Solution Specification: AO-ADL Decomposition Model
Decomposition Model: SymmetricAdvantages
Increases the reusability of components, which may play an aspectual or non-aspectual role 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
April, 2008AOSD 7
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
April, 2008AOSD 8
AO-ADL Tool Suite
AO-ADL Tool SuiteFeatures
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 elementsDefinition and Instantiation of Connector TemplatesTransformation of AO-ADL elements to Theme/UMLValidation of AO-ADL elementsSearch for any AO-ADL element (interfaces, components or connectors) following a search criterion.
April, 2008AOSD 9
Connector Templates
Reutilization of connectorsConnector 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 projectAllows the use of Java code in the parameterization process
April, 2008AOSD 10
Transformation to Theme/UML
Automatic transformation to Theme/UML
Mapping defined in collaboration with Trinity College (Dublin), creators of Theme/UMLMake 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 architecturesUse MDD technology
AO-ADL Model ---- rules ----> Theme/UML ModelTransformation rules implemented with ATL (ATLAS Transformation Language)
Transformations can be extended to other target models (e.g. plain UML 2.0)
April, 2008AOSD 11
Conclusions
This language is the aspect-oriented integrated ADL of the AOSD-Europe Network Of Excellence on AOSD.
Using AO-ADLCrosscutting 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.