When aspect-orientation meets software product line engineering

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

Abstract

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.

Original languageEnglish
Title of host publicationDomain Engineering
Subtitle of host publicationProduct Lines, Languages, and Conceptual Models
PublisherSpringer Berlin Heidelberg
Pages83-111
Number of pages29
ISBN (Electronic)9783642366543
ISBN (Print)9783642366536
DOIs
StatePublished - 1 Jan 2013

Bibliographical note

Publisher Copyright:
© Springer-Verlag Berlin Heidelberg 2013.

Keywords

  • Aspect-orientation
  • Domain analysis
  • Domain engineering
  • Early aspects
  • Software product line engineering
  • UML
  • Variability

ASJC Scopus subject areas

  • General Computer Science

Fingerprint

Dive into the research topics of 'When aspect-orientation meets software product line engineering'. Together they form a unique fingerprint.

Cite this