Foundations of Coloring Algebra with Consequences for Feature-Oriented Programming

  • Peter Höfner
  • Bernhard Möller
  • Andreas Zelend
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7560)


In 2011, simple and concise axioms for feature compositions, interactions and products have been proposed by Batory et al. They were mainly inspired by Kästner’s Colored IDE (CIDE) as well as by experience in feature oriented programming over the last decades. However, so far only axioms were proposed; consequences of these axioms such as variability in models have not been studied. In this paper we discuss the proposed axioms from a theoretical point of view, which yields a much better understanding of the proposed algebra and therefore of feature oriented programming. For example, we show that the axioms characterising feature composition are isomorphic to set-theoretic models.


Representation Theorem Variation Point Software Product Line Feature Interaction Code Fragment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allen, P.J.: A fundamental theorem of homomorphisms for semirings. Proceedings of the American Mathematical Society 21(2), 412–416 (1969)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Apel, S., Kästner, C., Lengauer, C.: FeatureHouse: Language-independent, automated software composition. In: 31st International Conerence on Software Engineering (ICSE), pp. 221–231. IEEE Press (2009)Google Scholar
  3. 3.
    Apel, S., Lengauer, C., Möller, B., Kästner, C.: An Algebra for Features and Feature Composition. In: Meseguer, J., Roşu, G. (eds.) AMAST 2008. LNCS, vol. 5140, pp. 36–50. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Apel, S., Lengauer, C., Möller, B., Kästner, C.: An algebraic foundation for automatic feature-based program synthesis. Sc. Comp. Prog. 75(11), 1022–1047 (2010)CrossRefzbMATHGoogle Scholar
  5. 5.
    Batory, D.: Feature-oriented programming and the AHEAD tool suite. In: ICSE 2004: 26th International Conference on Software Engineering, pp. 702–703. IEEE Press (2004)Google Scholar
  6. 6.
    Batory, D.: From implementation to theory in product synthesis. ACM SIGPLAN Notices 42(1), 135–136 (2007)CrossRefGoogle Scholar
  7. 7.
    Batory, D., O’Malley, S.: The design and implementation of hierarchical software systems with reusable components. ACM Transactions Software Engineering and Methodology 1(4), 355–398 (1992)CrossRefGoogle Scholar
  8. 8.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. In: ICSE 2003: 25th International Conference on Software Engineering, pp. 187–197. Proceedings of the IEEE (2003)Google Scholar
  9. 9.
    Batory, D., Singhal, V., Sirkin, M., Thomas, J.: Scalable software libraries. ACM SIGSOFT Software Engineering Notes 18(5), 191–199 (1993)CrossRefGoogle Scholar
  10. 10.
    Batory, D., Höfner, P., Kim, J.: Feature interactions, products, and composition. In: 10th ACM International Conference on Generative Programming and Component Engineering (GPCE 2011), pp. 13–22. ACM Press (2011)Google Scholar
  11. 11.
    Batory, D., Singhal, V., Thomas, J., Dasari, S., Geraci, B., Sirkin, M.: The GenVoca model of software-system generators. IEEE Software 11(5), 89–94 (1994)CrossRefGoogle Scholar
  12. 12.
    Bernstein, B.: Sets of postulates for boolean groups. Annals of Mathematics 40(2), 420–422 (1939)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Clarke, D., Helvensteijn, M., Schaefer, I.: Abstract delta modeling. In: Visser, E., Järvi, J. (eds.) GPCE, pp. 13–22. ACM (2010)Google Scholar
  14. 14.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley (2000)Google Scholar
  15. 15.
    Höfner, P., Möller, B., Zelend, A.: Foundations of coloring algebra with consequences for feature-oriented programming. Tech. Rep. 2012-06, Institut für Informatik der Universität Augsburg (2012)Google Scholar
  16. 16.
    Johnson, R., Foote, B.: Designing reusable classes. Journal of Object Oriented Programming 1(2), 22–35 (1988)Google Scholar
  17. 17.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Carnegie-Mellon University Software Engineering Institute (1990)Google Scholar
  18. 18.
    Kargapolov, M., Merzliakov, I.: Fundamentals of the Theory of Groups. Graduate texts in mathematics. Springer (1979)Google Scholar
  19. 19.
    Kästner, C., Apel, S., Batory, D.: A case study implementing features using AspectJ. In: Software Product Lines, 11th International Conference (SPLC), pp. 223–232. IEEE Computer Society (2007)Google Scholar
  20. 20.
    Kästner, C.: Virtual Separation of Concerns: Toward Preprocessors 2.0. Ph.D. thesis, University of Magdeburg (2010)Google Scholar
  21. 21.
    Lopez-Herrejon, R.E., Batory, D.: A Standard Problem for Evaluating Product-Line Methodologies. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 10–24. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  22. 22.
    McCune, W.W.: Prover9 and Mace4, (accessed July 12, 2012)
  23. 23.
    Reinhartz-Berger, I., Tsoury, A.: Experimenting with the Comprehension of Feature-Oriented and UML-Based Core Assets. In: Halpin, T., Nurcan, S., Krogstie, J., Soffer, P., Proper, E., Schmidt, R., Bider, I. (eds.) BPMDS 2011 and EMMSAD 2011. LNBIP, vol. 81, pp. 468–482. Springer, Heidelberg (2011)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Peter Höfner
    • 1
    • 3
  • Bernhard Möller
    • 2
  • Andreas Zelend
    • 2
  1. 1.NICTAAustralia
  2. 2.Universität AugsburgGermany
  3. 3.University of New South WalesAustralia

Personalised recommendations