Specifying aspect-oriented architectures in AO-ADL - Pinto, Mónica; Fuentes, Lidia; Troya, José María (Information and software technology, 2011)
Architecture description languages (ADLs) are a well-accepted approach to software architecture representation. The majority of well-known ADLs are defined by means of components and connectors. Architectural connectors are mainly used to model interactions among components, specifying component communication and coordination separately. However, there are other properties that cut across several components and also affect component interactions (e.g. security). It seems reasonable therefore to model how such crosscutting properties affect component interactions as part of connectors. Using an aspect-oriented approach, the AO-ADL architecture description language extends the classical connector semantics with enough expressiveness to model the influences of such crosscutting properties on component interactions (defined as ‘aspectual compositions’ in connectors). This paper describes the AO-ADL language putting special emphasis on the extended connectors used to specify aspectual and non-aspectual compositions between concrete components. The contributions of AO-ADL are validated using concern-oriented metrics available in the literature. The measured indicators show that using AO-ADL it is possible to specify more reusable and scalable software architectures.