Modeling and Model Checking Software Product Lines

  • Alexander Gruler
  • Martin Leucker
  • Kathrin Scheidemann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5051)


Software product line engineering combines the individual developments of systems to the development of a family of systems consisting of common and variable assets.In this paper we introduce the process algebra PL-CCS as a product line extension of CCS and show how to model the overall behavior of an entire family within PL-CCS. PL-CCS models incorporate behavioral variability and allow the derivation of individual systems in a systematic way due to a semantics given in terms of multi-valued modal Kripke structures. Furthermore, we introduce multi-valued modal μ-calculus as a property specification language for system families specified in PL-CCS and show how model checking techniques operate on such structures. In our setting the result of model checking is no longer a simple yes or no answer but the set of systems of the product line that do meet the specified properties.


  1. [BLS06]
    Bauer, A., Leucker, M., Streit, J.: SALT—structured assertion language for temporal logic. In: Liu, Z., He, J. (eds.) ICFEM 2006. LNCS, vol. 4260. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. [CN02]
    Clements, P., Northrop, L.: Software Product Lines. Practices and Patterns. Addison-Wesley, Reading (2002)Google Scholar
  3. [Dam94]
    Dam, M.: CTL* and ECTL* as fragments of the modal μ-calculus. Theoretical Computer Science 126(1), 77–96 (1994)MATHCrossRefMathSciNetGoogle Scholar
  4. [EJS93]
    Emerson, E.A., Jutla, C.S., Sistla, A.P.: On model-checking for fragments of mu-calculus. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 385–396. Springer, Heidelberg (1993)Google Scholar
  5. [EL86]
    Emerson, E.A., Lei, C.L.: Efficient model checking in fragments of the propositional μ-calculus. In: Symposium on Logic in Computer Science (LICS 1986), Washington, D.C., USA, June 1986, pp. 267–278. IEEE Computer Society Press, Los Alamitos (1986)Google Scholar
  6. [FUB07]
    Fischbein, D., Uchitel, S., Braberman, V.: A foundation for behavioural conformance in software product line architectures. In: Proceedings of the 2nd Workshop on the Role of Software Architecture for Testing and Analysis (2007)Google Scholar
  7. [GLS08]
    Gruler, A., Leucker, M., Scheidemann, K.: Modelling and Model Checking Software Product Lines. Technical Report TUM-I0806, Technische Universität München (February 2008)Google Scholar
  8. [KNK05]
    Kishi, T., Noda, N., Katayama, T.: Design verification for product line development. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 150–161. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. [Koz83]
    Kozen, D.: Results on the propositional mu-calculus. Theoretical Computer Science 27, 333–354 (1983)MATHCrossRefMathSciNetGoogle Scholar
  10. [LKF05]
    Li, H.C., Krishnamurthi, S., Fisler, K.: Modular verification of open features using three-valued model checking. Automated Software Engineering (2005)Google Scholar
  11. [LNW07]
    Larsen, K.G., Nyman, U., Wasowski, A.: Modal I/O automata for interface and product line theories. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 64–79. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. [LT91]
    Larsen, K.G., Thomsen, B.: Partial specifications and compositional verification. Theor. Comput. Sci. 88(1), 15–32 (1991)MATHCrossRefMathSciNetGoogle Scholar
  13. [MC01]
    Majster-Cederbaum, M.E.: Underspecification for a simple process algebra of recursive processes. Theor. Comput. Sci. 266(1-2), 935–950 (2001)MATHCrossRefMathSciNetGoogle Scholar
  14. [Mil80]
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)Google Scholar
  15. [Mil95]
    Milner, R.: Communication and concurrency. Prentice Hall International (UK) Ltd., Hertfordshire (1995)Google Scholar
  16. [PBvdL05]
    Pohl, K., Böckle, G., van der Linden, F. (eds.): Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin (2005)MATHGoogle Scholar
  17. [SG05]
    Shoham, S., Grumberg, O.: Multi-valued model checking games. In: Peled, D.A., Tsay, Y.-K. (eds.) ATVA 2005. LNCS, vol. 3707, pp. 354–369. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. [Sti95]
    Stirling, C.: Local model checking games. In: Lee, I., Smolka, S.A. (eds.) CONCUR 1995. LNCS, vol. 962, pp. 1–11. Springer, Heidelberg (1995)Google Scholar
  19. [Tar55]
    Tarski, A.: A lattice-theoretical fixpoint theorem and its application. Pacific J.Math. 5, 285–309 (1955)MATHMathSciNetGoogle Scholar
  20. [VN98]
    Veglioni, S., De Nicola, R.: Possible worlds for process algebras. In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 179–193. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  21. [Wol]
    Wolper, P.: A translation from full branching time temporal logic to one letter propositional dynamic logic with looping (unpublished manuscript)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Alexander Gruler
    • 1
  • Martin Leucker
    • 1
  • Kathrin Scheidemann
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenGermany

Personalised recommendations