FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming [chapter]

Sven Apel, Thomas Leich, Marko Rosenmüller, Gunter Saake
2005 Lecture Notes in Computer Science  
This paper presents FeatureC++, a novel language extension to C++ that supports Feature-Oriented Programming (FOP) and Aspect-Oriented Programming (AOP). Besides well-known concepts of FOP languages, FeatureC++ contributes several novel FOP language features, in particular multiple inheritance and templates for generic programming. Furthermore, FeatureC++ solves several problems regarding incremental software development by adopting AOP concepts. Starting our considerations on solving these
more » ... lems, we give a summary of drawbacks and weaknesses of current FOP languages in expressing incremental refinements. Specifically, we outline five key problems and present three approaches to solve them: Multi Mixins, Aspectual Mixin Layers, and Aspectual Mixins that adopt AOP concepts in different ways. We use FeatureC++ as a representative FOP language to explain these three approaches. Finally, we present a case study to clarify the benefits of FeatureC++ and its AOP extensions.
doi:10.1007/11561347_10 fatcat:6xcfzmdhqzauhcxwyv7m4vwzs4