Home > Research > Publications & Outputs > Mastering crosscutting architectural decisions ...
View graph of relations

Mastering crosscutting architectural decisions with aspects

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published
  • Cláudio Sant'Anna
  • Alessandro Garcia
  • Thaís Vasconcelos Batista
  • Awais Rashid
Close
<mark>Journal publication date</mark>03/2013
<mark>Journal</mark>Software: Practice and Experience
Issue number3
Volume43
Number of pages28
Pages (from-to)305-332
Publication StatusPublished
<mark>Original language</mark>English

Abstract

When reflecting upon driving system requirements such as security and availability, software architects often face decisions that have a broadly scoped impact on the software architecture. These decisions are the core of the architecting process because they typically have implications intertwined in a multitude of architectural elements and across multiple views. Without a modular representation and management of those crucial choices, architects cannot properly communicate, assess and reason about their crosscutting effects. The result is a number of architectural breakdowns, such as misinformed architectural evaluation, time-consuming trade-off analysis and unmanageable traceability. This paper presents an architectural documentation approach in which aspects are exploited as a natural way to capture widely-scoped design decisions in a modular fashion. The approach consists of a simple high-level notation to describe crosscutting decisions, and a supplementary language that allows architects to formally define how such architectural decisions affect the final architectural decomposition according to different views. On the basis of two case studies, we have systematically assessed to what extent our approach: (i) supports the description of heterogeneous forms of crosscutting architecture decisions, (ii) improves the support for architecture modularity analysis, and (iii) enhances upstream and downstream traceability of crosscutting architectural decisions