On the Need of Safe Software Product Line Architectures

  • Roberto E. Lopez-Herrejon
  • Alexander Egyed
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6285)


A Software Product Line (SPL) is a family of related software systems distinguished by the different sets of features each system provides. Over the last decade, the substantial benefits of SPL practices have been extensively documented and corroborated both in academia and industry. Several architecture methods have been proposed that employ different artifacts for expressing the components of a SPL, their properties and relationships. Of crucial importance for any SPL architecture method is to guarantee that the variability, for instance as expressed in feature models, is not only preserved but also kept consistent across all artifacts used. In this research challenge paper we argue that Safe Composition – the guarantee that all programs of a product line are type safe – can be leveraged to address this guarantee for structural properties of SPL architectures and the challenges that that entails.


Software Architecture Software Product Line Product Architecture Software Artifact Product Line Engineering 
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.
    Batory, D.S., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Software Eng. 30(6), 355–371 (2004)CrossRefGoogle Scholar
  2. 2.
    Pohl, K., Bockle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)CrossRefzbMATHGoogle Scholar
  3. 3.
    Bosch, J.: Design and Use of Software Architectures. In: Adopting and evolving a product-line approach, Addison-Wesley, Reading (2000)Google Scholar
  4. 4.
    van der Linden, F.J., Schimd, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw., Pract. Exper. 35(8), 705–754 (2005)CrossRefGoogle Scholar
  6. 6.
    Taylor, R.N., Medvidovic, N., Dashofy, E.: Software Architecture: Foundations, Theory, and Practice. John Wiley & Sons, Chichester (2009)CrossRefGoogle Scholar
  7. 7.
    Perry, D.E.: Generic architecture descriptions for product lines. In: van der Linden, F.J. (ed.) ESPRIT ARES. LNCS, vol. 1429, pp. 51–56. Springer, Heidelberg (1998)Google Scholar
  8. 8.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)Google Scholar
  9. 9.
    Thaker, S., Batory, D.S., Kitchin, D., Cook, W.R.: Safe composition of product lines. In: Consel, C., Lawall, J.L. (eds.) GPCE, pp. 95–104. ACM, New York (2007)CrossRefGoogle Scholar
  10. 10.
    Groher, I., Völter, M.: Aspect-oriented model-driven software product line engineering. T. Aspect-Oriented Software Development VI 6, 111–152 (2009)CrossRefGoogle Scholar
  11. 11.
    Gomaa, H.: Designing Software Product Lines with UML. In: From Use Cases to Pattern-Based Software Architectures, Addison-Wesley, Reading (2004)Google Scholar
  12. 12.
    Zhang, H., Jarzabek, S.: Xvcl: a mechanism for handling variants in software product lines. Sci. Comput. Program 53(3), 381–407Google Scholar
  13. 13.
    Batory, D.: AHEAD Tool Suite (2008),
  14. 14.
    Mezini, M., Ostermann, K.: Variability management with feature-oriented programming and aspects. In: Taylor, R.N., Dwyer, M.B. (eds.) SIGSOFT FSE, pp. 127–136. ACM, New York (2004)Google Scholar
  15. 15.
    Jayaraman, P., Whittle, J., Elkhodary, A., Gomaa, H.: Model Composition in Product Lines and Feature Interaction Detection Using Critical Pair Analysis. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 151–165. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  16. 16.
    Kästner, C., Apel, S., Kuhlemann, M.: A model of refactoring physically and virtually separated features. In: Siek, J.G. (ed.) GPCE, pp. 157–166. ACM, New York (2009)CrossRefGoogle Scholar
  17. 17.
    Lopez-Herrejon, R.E., Rivera, J.E.: Realizing feature oriented software development with equational logic: An exploratory study. In: Vallecillo, A., Sagardui, G. (eds.) JISBD, pp. 269–274 (2009)Google Scholar
  18. 18.
    Bosch, J.: Software product families: Towards compositionality. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 1–10. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  19. 19.
    Bosch, J., Bosch-Sijtsema, P.: From integration to composition: On the impact of software product lines, global development and ecosystems. Journal of Systems and Software 83(1), 67–76 (2010)CrossRefGoogle Scholar
  20. 20.
    Dashofy, E.M., van der Hoek, A., Taylor, R.N.: A comprehensive approach for the development of modular software architecture description languages. ACM Trans. Softw. Eng. Methodol. 14(2), 199–245 (2005)CrossRefGoogle Scholar
  21. 21.
    Pinto, M., Fuentes, L., Valenzuela, J.A., Pires, P.F., Delicato, F.C., Marinho, E.: On the need of architectural patterns in aosd for software evolution. In: [29], pp. 245–248Google Scholar
  22. 22.
    Loughran, N., Sánchez, P., Garcia, A., Fuentes, L.: Language support for managing variability in architectural models. In: Pautasso, C., Tanter, É. (eds.) SC 2008. LNCS, vol. 4954, pp. 36–51. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  23. 23.
    Adachi, E., Batista, T., Kulesza, U., Medeiros, A.L., Chavez, C., Garcia, A.: Variability management in aspect-oriented architecture description languages: An integrated approach, pp. 1–11 (2009)Google Scholar
  24. 24.
    Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: A literature review. Information System (in Press, 2010) (Corrected Proof)Google Scholar
  25. 25.
    Egyed, A., Wile, D.S.: Support for managing design-time decisions. IEEE Trans. Software Eng. 32(5), 299–314 (2006)CrossRefGoogle Scholar
  26. 26.
    Lopez-Herrejon, R.E., Egyed, A.: Detecting inconsistencies in multi-view models with variability. In: ECMFA (to appear, 2010)Google Scholar
  27. 27.
    Etxeberria, L., Mendieta, G.S.: Variability driven quality evaluation in software product lines. In: SPLC, pp. 243–252. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  28. 28.
    Brito, P.H.S., Rubira, C.M.F., de Lemos, R.: Verifying architectural variabilities in software fault tolerance techniques. In: [29], pp. 231–240Google Scholar
  29. 29.
    Joint Working IEEE/IFIP Conference on Software Architecture 2009 and European Conference on Software Architecture 2009, WICSA/ECSA 2009, Cambridge, UK, September 14-17. IEEE, Los Alamitos (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Roberto E. Lopez-Herrejon
    • 1
  • Alexander Egyed
    • 1
  1. 1.Institute for Systems Engineering and AutomationJohannes Kepler University LinzAustria

Personalised recommendations