The Aspect-Oriented Software Architecture Design Portal

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

Software Architecture
Architectural Aspects
Related Links
AOSAD Project

Site Map

Edited by:
Bedir Tekinerdogan


Taosad stands for The Aspect-Oriented Software Architecture Design and is actually a synthesis of Tao (Aspect-Orientation) and Sad (Software Architecture Design). The simplest meaning of Tao is "way" or "rule". This site is a port(al) aiming to present/discuss a way for aspect-oriented software architecture design.

It is generally accepted that software architecture design should support the required software system qualities such as robustness, reusability and adaptability. For ensuring these quality factors the common assumption is that identifying the fundamental concerns for architecture design is necessary. A number of software architecture design approaches have been introduced to derive the fundamental architectural abstractions. 

It appears that some concerns, even at the architectural design level, can not be easily localized and specified in individual architectural components. Similar to the notion of aspect at the programming level, we say that these concerns are crosscutting and denote so-called architectural aspects. Since the crosscutting property of architectural aspects is inherent we claim that these cannot be undone simply by redefining the software architecture using conventional architectural abstractions. In fact, we believe that like various aspect-oriented programming abstractions we need explicit mechanisms to identify, specify and evaluate aspects at the architecture design level.

Current software architecture design methods do not make an explicit distinction between conventional architectural concerns that can be localized using current architectural abstractions and architectural concerns that crosscut multiple architectural components. The risk is that potential aspects might be easily overlooked during the software architecture design and remains unsolved at the design and programming level. This may lead to tangled code in the system and consequently the quality factors that the architecture analysis methods attempt to verify will still be impeded.

Aspect-Oriented Software Development (AOSD) is an emerging technology that provides explicit abstractions and mechanisms to model concerns that tend to crosscut multiple system components. 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. In a fashion similar to traditional software engineering (procedural, functional, logic, object-oriented), aspect-orientation is now starting to follow a cycle of natural progression from programming up to design and analysis phases. Despite the interest and the recognition of its importance, there is still a lack of appropriate techniques to identify concerns at the software architecture design level.

To solve the above problems is is worthwhile to integrate the ideas in software architecture design and aspect-oriented software development, and for this the term Aspect-Oriented Software Architecture Design is coined. From a software architecture design perspective this will improve and broaden the understanding of the identification and management of architecture design concerns. In this way, not only functional components will be addressed as architecture design components, but also crosscutting architectural concerns will be explicitly handled. From an aspect-orientation perspective this project will enhance the understanding of aspects at the earlier phases of the software development process, and likewise will improve the aspect-orientation approach through the overall software life cycle. 


The TRESE group has an extensive research history on the topics of software architecture design and aspect-oriented software development. The goal of this web-site is to present and share our work on aspect-oriented software architecture design. The web-site discusses both the general concepts on aspect-oriented software architecture design and the particular research outcomes of the TRESE group. We welcome any comments from our visitors.

Software Architecture Design


Architectural Aspects




Aspect-Oriented Software Development


Aspect-Oriented Software Architecture Design