Software architecture design
prescribes the structure of software systems and is generally considered as a
key artefact to cope with the large, complex and evolving software systems. To
identify the relevant architectural components from the corresponding
stakeholder requirements various software architecture
design methods have been introduced. These approaches, however, do not
explicitly consider the management of concerns, or aspects, which cannot
be easily captured in local modular units and as such crosscut multiple
components. Industrial practices and academic research
have shown that this lack of expression techniques for identifying and managing
these crosscutting concerns, directly results in increased complexity and
reduced maintenance of the software systems.
Aspect-Oriented Software Development (AOSD) is an
emerging technology that provides explicit abstractions and mechanisms to model
crosscutting concerns. Existing aspect-oriented software development approaches
have basically focused on identifying the aspects at the programming level and
less attention has been taken on the impact of crosscutting concerns at the
architecture design level.
Based on our experience in both software
architecture design and aspect-oriented software development this project aims
to enhance architecture design methods, by introducing new techniques that can
identify, represent and compose aspects at the architecture design level. The
enhanced method will be validated using experimentations within the context of
IBM Global Services. We think that the problems that are addressed are generic
and the techniques that will be defined will be beneficial for the larger
industrial and academic software projects.
The AOSAD project
is funded by the
Dutch Organisation for Scientific Research (NWO).