Aspect-oriented software development (AOSD) and software product line engineering (SPLE) are two approaches for software reuse, which promote model-driven development and variability management. While AOSD supports developing crosscutting concerns separately from traditional units and weaving them to different software products, software product line engineering (SPLE) handles the development and maintenance of families of software products utilizing different domain and application engineering techniques. In this chapter, we review the existing points of synergy between these two approaches and, in particular, the complementary and aggregative use of these approaches. Furthermore, we present a method that uses aspect-oriented principles for horizontal reuse and domain engineering guidelines for vertical reuse. We term this kind of use dimensional synergy. The presented method supports defining families of aspects and their weaving rules applied to families of software products, potentially increasing the reuse throughout the entire development life cycle. We exemplify the method on a Check-In check-Out product line and a family of security aspects, utilizing UML 2 class and sequence diagrams.
|Title of host publication||Domain Engineering|
|Subtitle of host publication||Product Lines, Languages, and Conceptual Models|
|Publisher||Springer Berlin Heidelberg|
|Number of pages||29|
|State||Published - 1 Jan 2013|
Bibliographical notePublisher Copyright:
© Springer-Verlag Berlin Heidelberg 2013.
- Domain analysis
- Domain engineering
- Early aspects
- Software product line engineering
ASJC Scopus subject areas
- Computer Science (all)