arrow
Return

Aspectual feature modules

delete2008-03-01
delete84
delete
OA
AI
S
Sven Apel *
T
Thomas Leich
G
Gunter Saake
DOI:10.1109/TSE.2007.70770delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Two programming paradigms are gaining attention in the overlapping fields of software product lines (SPLs) and incremental software development (ISD). Feature-oriented programming (FOP) aims at large-scale compositional programming and feature modularity in SPLs using ISD. Aspect-oriented programming (AOP) focuses on the modularization of crosscutting concerns in complex software. Although feature modules, the main abstraction mechanisms of FOP, perform well in implementing large-scale software building blocks, they are incapable of modularizing certain kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction mechanisms of AOP. We contribute a systematic evaluation and comparison of FOP and AOP. It reveals that aspects and feature modules are complementary techniques. Consequently, we propose the symbiosis of FOP and AOP and aspectual feature modules (AFMs), a programming technique that integrates feature modules and aspects. We provide a set of tools that support implementing AFMs on top of Java and C++. We apply AFMs to a nontrivial case study demonstrating their practical applicability and to justify our design choices.
Keywords:
feature-oriented programming
aspect-oriented programming
software product lines
incremental software development
collaboration-based design
separation of concerns
crosscutting modularity

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

O
Otto von Guericke University
Scholars:
8.5K
Papers: 6.7K
Citations: 54
U
University of Passau
Scholars:
690
Papers: 679
Citations: 515