swMATH ID: 24978
Software Authors: Apel, S., Leich, T., Rosenmüller, M., Saake, G.
Description: 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.
Homepage: https://link.springer.com/chapter/10.1007%2F11561347_10
Related Software: CaesarJ; AspectJ; Classbox/J; Jiazzi; AspectC++; Ruby; XVCL; Tribe; HyVar; JavAdaptor; DeltaJ; gbeta; Featherweight Java; JastAdd
Cited in: 2 Publications

Citations by Year