The Aspect-Oriented Software Architecture Design Portal

 Advanced Separation of Concerns at the Architecture Design Level
 Identifying and Specifying Early Aspects
 

Home
Software Architecture
AOSD
Architectural Aspects
Publications
Events
Related Links
AOSAD Project
E-Tutorial

Site Map
Search
Contact

Edited by:
Bedir Tekinerdogan

Separation of Concerns Problem Statement Aspect Decomposition Early Aspects

 

Early Aspects

Apparently, existing aspect-oriented software development approaches have basically focused on specifying aspects at the programming level and less attention have been taken on the impact of aspects at the architecture design level. However, in every phase of the software development life cycle we have to cope with modules and concerns.

Figure 1. Mapping concerns to modules in the life cycle

Further it appears that some concerns at (also) the early life cycle phases can not be mapped to single modular units but tend to crosscut over multiple modules. Aspects at the early life cycle phases have been termed as early aspects to distinguish them from aspects at the code level. The modules could be for example requirements, use cases, architectural components, interaction diagrams etc. We argue that aspects should be identified early in the software development life cycle, that is, during the requirements analysis, domain analysis and architecture design phases. In our paper written in 1998 we propose to identify concerns from requirements analysis and domain analysis stages and model these using conceptual models.  This is illustrated in the following:

Figure 2. Early aspects