A Formal Model for Multi SPLs

  • Ferruccio DamianiEmail author
  • Michael Lienhardt
  • Luca Paolini
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10522)


A Software Product Line (SPL) is a family of similar programs generated from a common artifact base. A Multi SPL (MPL) is a set of interdependent SPLs that are typically managed and developed in a decentralized fashion. Delta-Oriented Programming (DOP) is a flexible and modular approach to implement SPLs. This paper presents new concepts that extend DOP to support the implementation of MPLs. These extensions aim to accommodate compositional analyses. They are presented by means of a core calculus for delta-oriented MPLs of Java programs. Suitability for MPL compositional analyses is demonstrated by compositional reuse of existing SPL analysis techniques.


Software Product Line (SPL) Basic Artifacts Delta-oriented Programming (DOP) Core Calculus SPL Signal (SPLS) 
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.



We thank the anonymous reviewers for comments and suggestions for improving the presentation. We also thank Lorenzo Testa for comments and suggestions during the preparation of the post-proceedings version.


  1. 1.
    Acher, M., Collet, P., Lahire, P., France, R.B: Slicing feature models. In: 26th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2011, pp. 424–427 (2011). doi: 10.1109/ASE.2011.6100089
  2. 2.
    Apel, S., Batory, D.S., Kästner, C., Saake, G.: Feature-Oriented Software Product: Concepts and Implementation. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-37521-7 CrossRefGoogle Scholar
  3. 3.
    Batory, D.: Feature models, grammars, and propositional formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005). doi: 10.1007/11554844_3 CrossRefGoogle Scholar
  4. 4.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Softw. Eng. 30, 355–371 (2004)CrossRefGoogle Scholar
  5. 5.
    Bettini, L., Damiani, F., Schaefer, I.: Compositional type checking of delta-oriented software product lines. Acta Informatica 50(2), 77–122 (2013)CrossRefzbMATHMathSciNetGoogle Scholar
  6. 6.
    Bubel, R., Damiani, F., Hähnle, R., Johnsen, E.B., Owe, O., Schaefer, I., Yu, I.C.: Proof repositories for compositional verification of evolving software systems. In: Steffen, B. (ed.) Transactions on Foundations for Mastering Change I. LNCS, vol. 9960, pp. 130–156. Springer, Cham (2016). doi: 10.1007/978-3-319-46508-1_8 CrossRefGoogle Scholar
  7. 7.
    Clements, P., Northrop, L.: Software Product Lines: Practices & Patterns. Addison Wesley Longman, Boston (2001)Google Scholar
  8. 8.
    Damiani, F., Lienhardt, M.: On type checking delta-oriented product lines. In: Ábrahám, E., Huisman, M. (eds.) IFM 2016. LNCS, vol. 9681, pp. 47–62. Springer, Cham (2016). doi: 10.1007/978-3-319-33693-0_4 CrossRefGoogle Scholar
  9. 9.
    Damiani, F., Schaefer, I.: Family-based analysis of type safety for delta-oriented software product lines. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012. LNCS, vol. 7609, pp. 193–207. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-34026-0_15 CrossRefGoogle Scholar
  10. 10.
    Damiani, F., Schaefer, I., Winkelmann, T.: Delta-oriented multi software product lines. In: Proceedings of the 18th International Software Product Line Conference SPLC 2014, Vol. 1, pp. 232–236. ACM (2014). doi: 10.1145/2648511.2648536
  11. 11.
    Hähnle, R., Schaefer, I.: A liskov principle for delta-oriented programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012. LNCS, vol. 7609, pp. 32–46. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-34026-0_4 CrossRefGoogle Scholar
  12. 12.
    Hähnle, R., Schaefer, I., Bubel, R.: Reuse in software verification by abstract method calls. In: Bonacina, M.P. (ed.) CADE 2013. LNCS (LNAI), vol. 7898, pp. 300–314. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-38574-2_21 CrossRefGoogle Scholar
  13. 13.
    Holl, G., Grünbacher, P., Rabiser, R.: A systematic review and an expert survey on capabilities supporting multi product lines. Inf. Softw. Technol. 54(8), 828–852 (2012)CrossRefGoogle Scholar
  14. 14.
    Igarashi, A., Pierce, B., Wadler, P.: Featherweight java: a minimal core calculus for java and GJ. ACM TOPLAS 23(3), 396–450 (2001)CrossRefGoogle Scholar
  15. 15.
    Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: a core language for abstract behavioral specification. In: Aichernig, B.K., Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-25271-6_8 CrossRefGoogle Scholar
  16. 16.
    Kästner, C., Ostermann, K., Erdweg, S.: A variability-aware module system. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications OOPSLA 2012, pp. 773–792. ACM (2012). doi: 10.1145/2384616.2384673
  17. 17.
    Koscielny, J., Holthusen, S., Schaefer, I., Schulze, S., Bettini, L., Damiani, F.: DeltaJ 1.5: delta-oriented programming for Java. In: International Conference on Principles and Practices of Programming on the Java Platform Virtual Machines, Languages and Tools PPPJ 2014, pp. 63–74 (2014). doi: 10.1145/2647508.2647512
  18. 18.
    Lienhardt, M., Clarke, D.: Conflict detection in delta-oriented programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012. LNCS, vol. 7609, pp. 178–192. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-34026-0_14 CrossRefGoogle Scholar
  19. 19.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering - Foundations, Principles, and Techniques. Springer, Heidelberg (2005). doi: 10.1007/3-540-28901-1 CrossRefzbMATHGoogle Scholar
  20. 20.
    Rosenmüller, M., Siegmund, N., ur Rahman, S.S., Kästner, C.: Modeling dependent software product lines. In: Proceedings of the GPCE Workshop on Modularization, Composition and Generative Techniques for Product Line Engineering (McGPLE), MIP-0802, pp. 13–18. Department of Informatics and Mathematics, University of Passau (2008)Google Scholar
  21. 21.
    Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-oriented programming of software product lines. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 77–91. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-15579-6_6 CrossRefGoogle Scholar
  22. 22.
    Schaefer, I., Damiani, F.: Pure delta-oriented programming. In: Proceedings of the 2nd International Workshop on Feature-Oriented Software Development, FOSD 2010, pp. 49–56. ACM (2010). doi: 10.1145/1868688.1868696
  23. 23.
    Schaefer, I., Rabiser, R., Clarke, D., Bettini, L., Benavides, D., Botterweck, G., Pathak, A., Trujillo, S., Villela, K.: Software diversity: state of the art and perspectives. Int. J. Softw. Tools Technol. Transfer 14(5), 477–495 (2012)CrossRefGoogle Scholar
  24. 24.
    Schröter, R., Krieter, S., Thüm, T., Benduhn, F., Saake, G.: Feature-model interfaces: The highway to compositional analyses of highly-configurable systems. In: Proceedings of the 38th International Conference on Software Engineering ICSE 2016, pp. 667–678. ACM (2016). doi: 10.1145/2884781.2884823
  25. 25.
    Schröter, R., Siegmund, N., Thüm, T.: Towards modular analysis of multi product lines. In: Proceedings of the 17th International Software Product Line Conference Co-located Workshops SPLC 2013, pp 96–99. ACM (2013). doi: 10.1145/2499777.2500719
  26. 26.
    Schröter, R., Siegmund, N., Thüm, T., Saake, G.: Feature-context interfaces: Tailored programming interfaces for spls. In: Proceedings of the 18th International Software Product Line Conference SPLC 2014, Vol. 1, pp. 102–111. ACM (2014). doi: 10.1145/2648511.2648522
  27. 27.
    Thüm, T., Apel, S., Kästner, C., Schaefer, I., Saake, G.: A classification and survey of analysis strategies for software product lines. ACM Comput. Surv. 47(1), 6:1–6:45 (2014)CrossRefGoogle Scholar
  28. 28.
    Thüm, T., Winkelmann, T., Schröter, R., Hentschel, M., Krüger, S.: Variability hiding in contracts for dependent spls. In: Proceedings of the Tenth International Workshop on Variability Modelling of Software-intensive Systems VaMoS 2016, pp. 97–104. ACM (2016). doi: 10.1145/2866614.2866628
  29. 29.
    von Rhein, A., Thm, T., Schaefer, I., Liebig, J., Apel, S.: Variability encoding: from compile-time to load-time variability. J. Logical and Algebraic Methods Program. 85(1, Part 2), 125–145 (2016)CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2017

Authors and Affiliations

  • Ferruccio Damiani
    • 1
    Email author
  • Michael Lienhardt
    • 1
  • Luca Paolini
    • 1
  1. 1.University of TorinoTorinoItaly

Personalised recommendations