FeatureC++ is a C++ language extension to support
Feature-Oriented Programming (FOP).
FOP is the study of feature modularity in program families. FeatureC++ enables a programmer
to express features in a modular way. It supports easy derivation and composition of
program family members based on declarative specifications in form of algebraic equations.
FeatureC++ also adopts
language concepts of
Aspect-Oriented Programming (AOP)
to further increase modularity of cross-cutting concerns.
Currently, it supports Aspectual Mixin
Layers (AML). AML combine the advantages of Mixins and Aspects to increase the crosscutting
modularity.
FeatureC++ comes in form of a C++ preprocesser that transforms FeatureC++ code into native
C++ code. Binaries and source code are available at Source Forge.
FeatureC++ was developed at
the Institute
for Technical and Business Information Systems at the Otto-von-Guericke University at Magdeburg, Germany.
|
Paper on combining static and dynamic feature binding in ASE Journal | ![]() |
|
|
Paper on generating component hierarchies at the FOSD Workshop | ![]() |
|
|
FeatureC++ Version 0.8 is available | Download from ![]() |
|
|
FeatureC++ is on Source Forge | ![]() |
|
|
Paper on Berkeley DB Refactoring in Journal of Data & Knowledge Engineering | ![]() |
|
|
Paper on static and dynamic feature composition to be presented at the 7th International Conference on Generative Programming and Component Engineering (GPCE'08), Nashville, TN, USA. | ![]() |
|
|
FeatureC++ Version 0.4 is available | Downloads | |
|
Paper on Aspectual Mixin Layers to be presented at the IEEE / ACM SIGSOFT 28th International Conference on Software Engineering (ICSE'06), Shanghai, China. | ![]() |
|
|
Paper on Aspect Refinement and Bounded Quantification presented at the APSEC'05 Asian Workshop on AOSD, Taipei, Taiwan. | ![]() |
|
|
Paper on Optional Features to be presented at the OOPSLA Workshop on Managing Variabilities consistently in Design and Code, San Diego, USA. | ||
|
Paper on FeatureIDE-Eclipse-Plugin to be presented at the eclipse Technology eXchange (eTX) Workshop at OOPSLA'05, San Diego, USA. | ||
|
Paper on FeatureC++ and software evolution presented at the 4th International Conference on Generative Programmingand Component Engineering (GPCE'05), Tallinn, Estonia. | ![]() |
|
|
Paper on FeatureC++ and Aspect Refinement presented at the Early Aspects Workshop (SPLC-Europe'05), Rennes, France. | ||
|
FeatureC++ Version 0.3 is available | Downloads | |
|
FeatureC++ Version 0.2 is available | Downloads | |
|
Paper on FeatureC++ and software evolution presented at the 2nd International ECOOP Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE'05), Glasgow, Scotland. | ![]() |
|
|
FeatureC++ Version 0.1 is available | Downloads |