• DocumentCode
    1016951
  • Title

    Aspectual Feature Modules

  • Author

    Apel, Sven ; Leich, Thomas ; Saake, Gunter

  • Author_Institution
    Univ. of Passau, Passau
  • Volume
    34
  • Issue
    2
  • fYear
    2008
  • Firstpage
    162
  • Lastpage
    180
  • Abstract
    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
    object-oriented programming; software reusability; C++; Java; aspect-oriented programming; aspectual feature module; crosscutting concern; feature-oriented programming; incremental software development; large-scale compositional programming; large-scale software building block; software product line; systematic evaluation; Design; Design Tools and Techniques; Language Constructs and Features;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2007.70770
  • Filename
    4407729