FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. 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 problems, 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.
Keywords for this software
References in zbMATH (referenced in 5 articles )
Showing results 1 to 5 of 5.
- Damiani, Ferruccio; Padovani, Luca; Schaefer, Ina; Seidl, Christoph: A core calculus for dynamic delta-oriented programming (2018)
- Apel, Sven; Kolesnikov, Sergiy; Liebig, Jörg; Kästner, Christian; Kuhlemann, Martin; Leich, Thomas: Access control in feature-oriented programming (2012) ioport
- Günther, Sebastian; Sunkle, Sagar: RbFeatures: feature-oriented programming with Ruby (2012) ioport
- Apel, Sven; Lengauer, Christian; Möller, Bernhard; Kästner, Christian: An algebraic foundation for automatic feature-based program synthesis (2010)
- Apel, Sven; Kästner, Christian; Kuhlemann, Martin; Leich, Thomas: Pointcuts, advice, refinements, and collaborations: Similarities, differences, and synergies (2007) ioport