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

Standard

Mastering crosscutting architectural decisions with aspects. / Sant'Anna, Cláudio; Garcia, Alessandro; Batista, Thaís Vasconcelos et al.
In: Software: Practice and Experience, Vol. 43, No. 3, 03.2013, p. 305-332.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Sant'Anna, C, Garcia, A, Batista, TV & Rashid, A 2013, 'Mastering crosscutting architectural decisions with aspects', Software: Practice and Experience, vol. 43, no. 3, pp. 305-332. https://doi.org/10.1002/spe.2113

APA

Sant'Anna, C., Garcia, A., Batista, T. V., & Rashid, A. (2013). Mastering crosscutting architectural decisions with aspects. Software: Practice and Experience, 43(3), 305-332. https://doi.org/10.1002/spe.2113

Vancouver

Sant'Anna C, Garcia A, Batista TV, Rashid A. Mastering crosscutting architectural decisions with aspects. Software: Practice and Experience. 2013 Mar;43(3):305-332. doi: 10.1002/spe.2113

Author

Sant'Anna, Cláudio ; Garcia, Alessandro ; Batista, Thaís Vasconcelos et al. / Mastering crosscutting architectural decisions with aspects. In: Software: Practice and Experience. 2013 ; Vol. 43, No. 3. pp. 305-332.

Bibtex

@article{b6ce5e55a42e4c6aa52164e82140cbe4,
title = "Mastering crosscutting architectural decisions with aspects",
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",
keywords = "architectural decisions, modularity , aspect-oriented software development , early aspects",
author = "Cl{\'a}udio Sant'Anna and Alessandro Garcia and Batista, {Tha{\'i}s Vasconcelos} and Awais Rashid",
year = "2013",
month = mar,
doi = "10.1002/spe.2113",
language = "English",
volume = "43",
pages = "305--332",
journal = "Software: Practice and Experience",
issn = "0038-0644",
publisher = "John Wiley and Sons Ltd",
number = "3",

}

RIS

TY - JOUR

T1 - Mastering crosscutting architectural decisions with aspects

AU - Sant'Anna, Cláudio

AU - Garcia, Alessandro

AU - Batista, Thaís Vasconcelos

AU - Rashid, Awais

PY - 2013/3

Y1 - 2013/3

N2 - 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

AB - 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

KW - architectural decisions

KW - modularity

KW - aspect-oriented software development

KW - early aspects

U2 - 10.1002/spe.2113

DO - 10.1002/spe.2113

M3 - Journal article

VL - 43

SP - 305

EP - 332

JO - Software: Practice and Experience

JF - Software: Practice and Experience

SN - 0038-0644

IS - 3

ER -