Home > Research > Publications & Outputs > Components meet aspects
View graph of relations

Components meet aspects: assessing design stability of a software product line

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Components meet aspects: assessing design stability of a software product line. / Tizzei, Leonardo P.; Dias, Marcelo; Rubira, Cecília M. F. et al.
In: Information and Software Technology, Vol. 53, No. 2, 02.2011, p. 121-136.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Tizzei, LP, Dias, M, Rubira, CMF, Garcia, A & Lee, J 2011, 'Components meet aspects: assessing design stability of a software product line', Information and Software Technology, vol. 53, no. 2, pp. 121-136. https://doi.org/10.1016/j.infsof.2010.08.007

APA

Tizzei, L. P., Dias, M., Rubira, C. M. F., Garcia, A., & Lee, J. (2011). Components meet aspects: assessing design stability of a software product line. Information and Software Technology, 53(2), 121-136. https://doi.org/10.1016/j.infsof.2010.08.007

Vancouver

Tizzei LP, Dias M, Rubira CMF, Garcia A, Lee J. Components meet aspects: assessing design stability of a software product line. Information and Software Technology. 2011 Feb;53(2):121-136. doi: 10.1016/j.infsof.2010.08.007

Author

Tizzei, Leonardo P. ; Dias, Marcelo ; Rubira, Cecília M. F. et al. / Components meet aspects : assessing design stability of a software product line. In: Information and Software Technology. 2011 ; Vol. 53, No. 2. pp. 121-136.

Bibtex

@article{3f8527d986bf4556944567fc5968af9e,
title = "Components meet aspects: assessing design stability of a software product line",
abstract = "ContextIt is important for Product Line Architectures (PLA) to remain stable accommodating evolutionary changes of stakeholder{\textquoteright}s requirements. Otherwise, architectural modifications may have to be propagated to products of a product line, thereby increasing maintenance costs. A key challenge is that several features are likely to exert a crosscutting impact on the PLA decomposition, thereby making it more difficult to preserve its stability in the presence of changes. Some researchers claim that the use of aspects can ameliorate instabilities caused by changes in crosscutting features. Hence, it is important to understand which aspect-oriented (AO) and non-aspect-oriented techniques better cope with PLA stability through evolution.ObjectiveThis paper evaluates the positive and negative change impact of component and aspect based design on PLAs. The objective of the evaluation is to assess how aspects and components promote PLA stability in the presence of various types of evolutionary change. To support a broader analysis, we also evaluate the PLA stability of a hybrid approach (i.e. combined use of aspects and components) against the isolated use of component-based, OO, and AO approaches.MethodAn quantitative and qualitative analysis of PLA stability which involved four different implementations of a PLA: (i) an OO implementation, (ii) an AO implementation, (iii) a component-based implementation, and (iv) a hybrid implementation where both components and aspects are employed. Each implementation has eight releases and they are functionally equivalent. We used conventional metrics suites for change impact and modularity to measure the architecture stability evaluation of the 4 implementations.ResultsThe combination of aspects and components promotes superior PLA resilience than the other PLAs in most of the circumstances.ConclusionIt is concluded that the combination of aspects and components supports the design of high cohesive and loosely coupled PLAs. It also contributes to improve modularity by untangling feature implementation.",
keywords = "Product Line Architecture, Component-based Development, Aspect-Oriented Software Development, Design stability",
author = "Tizzei, {Leonardo P.} and Marcelo Dias and Rubira, {Cec{\'i}lia M. F.} and Alessandro Garcia and Jaejoon Lee",
year = "2011",
month = feb,
doi = "10.1016/j.infsof.2010.08.007",
language = "English",
volume = "53",
pages = "121--136",
journal = "Information and Software Technology",
issn = "0950-5849",
publisher = "Elsevier",
number = "2",

}

RIS

TY - JOUR

T1 - Components meet aspects

T2 - assessing design stability of a software product line

AU - Tizzei, Leonardo P.

AU - Dias, Marcelo

AU - Rubira, Cecília M. F.

AU - Garcia, Alessandro

AU - Lee, Jaejoon

PY - 2011/2

Y1 - 2011/2

N2 - ContextIt is important for Product Line Architectures (PLA) to remain stable accommodating evolutionary changes of stakeholder’s requirements. Otherwise, architectural modifications may have to be propagated to products of a product line, thereby increasing maintenance costs. A key challenge is that several features are likely to exert a crosscutting impact on the PLA decomposition, thereby making it more difficult to preserve its stability in the presence of changes. Some researchers claim that the use of aspects can ameliorate instabilities caused by changes in crosscutting features. Hence, it is important to understand which aspect-oriented (AO) and non-aspect-oriented techniques better cope with PLA stability through evolution.ObjectiveThis paper evaluates the positive and negative change impact of component and aspect based design on PLAs. The objective of the evaluation is to assess how aspects and components promote PLA stability in the presence of various types of evolutionary change. To support a broader analysis, we also evaluate the PLA stability of a hybrid approach (i.e. combined use of aspects and components) against the isolated use of component-based, OO, and AO approaches.MethodAn quantitative and qualitative analysis of PLA stability which involved four different implementations of a PLA: (i) an OO implementation, (ii) an AO implementation, (iii) a component-based implementation, and (iv) a hybrid implementation where both components and aspects are employed. Each implementation has eight releases and they are functionally equivalent. We used conventional metrics suites for change impact and modularity to measure the architecture stability evaluation of the 4 implementations.ResultsThe combination of aspects and components promotes superior PLA resilience than the other PLAs in most of the circumstances.ConclusionIt is concluded that the combination of aspects and components supports the design of high cohesive and loosely coupled PLAs. It also contributes to improve modularity by untangling feature implementation.

AB - ContextIt is important for Product Line Architectures (PLA) to remain stable accommodating evolutionary changes of stakeholder’s requirements. Otherwise, architectural modifications may have to be propagated to products of a product line, thereby increasing maintenance costs. A key challenge is that several features are likely to exert a crosscutting impact on the PLA decomposition, thereby making it more difficult to preserve its stability in the presence of changes. Some researchers claim that the use of aspects can ameliorate instabilities caused by changes in crosscutting features. Hence, it is important to understand which aspect-oriented (AO) and non-aspect-oriented techniques better cope with PLA stability through evolution.ObjectiveThis paper evaluates the positive and negative change impact of component and aspect based design on PLAs. The objective of the evaluation is to assess how aspects and components promote PLA stability in the presence of various types of evolutionary change. To support a broader analysis, we also evaluate the PLA stability of a hybrid approach (i.e. combined use of aspects and components) against the isolated use of component-based, OO, and AO approaches.MethodAn quantitative and qualitative analysis of PLA stability which involved four different implementations of a PLA: (i) an OO implementation, (ii) an AO implementation, (iii) a component-based implementation, and (iv) a hybrid implementation where both components and aspects are employed. Each implementation has eight releases and they are functionally equivalent. We used conventional metrics suites for change impact and modularity to measure the architecture stability evaluation of the 4 implementations.ResultsThe combination of aspects and components promotes superior PLA resilience than the other PLAs in most of the circumstances.ConclusionIt is concluded that the combination of aspects and components supports the design of high cohesive and loosely coupled PLAs. It also contributes to improve modularity by untangling feature implementation.

KW - Product Line Architecture

KW - Component-based Development

KW - Aspect-Oriented Software Development

KW - Design stability

U2 - 10.1016/j.infsof.2010.08.007

DO - 10.1016/j.infsof.2010.08.007

M3 - Journal article

VL - 53

SP - 121

EP - 136

JO - Information and Software Technology

JF - Information and Software Technology

SN - 0950-5849

IS - 2

ER -