This paper proposes a method (based on the use Creational Design Patterns) to simplify software configuration management by reifying the variants of an object-oriented software system into language-level objects. This proposal improves performance with respect to memory footprint and execution time. The authors demonstrate this algorithms effectiveness through an artificial case study in which they provide all the source code and details so that it can be easily replicated.
The artificial case study involves the use of Mercure which is a communications simulation program. The authors evaluate their approach and conclude a number of disadvantages as well as advantages:
1. It forces some SCM issues such as variant management to be considered during the design phase of a project (However the authors believe these issues belong in that phase).
2. The compiler must have access to the full code.
3. Their approach does not remove the need for classical configuration management tools, and it acts more like an add-on.
4. Specifying the configurations is straightforward, but quite tedious.
5. Developers do not need to learn another complex language since all configuration is done in the target language.