Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7609))

Abstract

Software product line engineering deals with the combined development of a family of similar software systems. These systems provide a similar set of features and should therefore share a large number of common components. We study the user perspective of features and the engineering perspective of components and present a formal notion of features, component-based product families and their interaction. We then demonstrate using Milner’s CCS how our formalism can be applied to extend an arbitrary modelling formalism with support for product lines. To verify that certain products indeed realize certain features, we propose μ-calculus model-checking for multi-valued Kripke-structures. The model checking result in that case no longer is a simple truth-value, but a set of products, conforming to a certain property.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bauer, A., Leucker, M., Streit, J.: SALT—Structured Assertion Language for Temporal Logic. In: Liu, Z., Kleinberg, R.D. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 757–775. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  2. Batory, D., O’Malley, S.: The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology 1(4), 355–398 (1992)

    Article  Google Scholar 

  3. Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley (2000)

    Google Scholar 

  4. Campetelli, A., Gruler, A., Leucker, M., Thoma, D.: Don’t Know for Multi-valued Systems. In: Liu, Z., Ravn, A.P. (eds.) ATVA 2009. LNCS, vol. 5799, pp. 289–305. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  5. Classen, A., Heymans, P., Schobbens, P.-Y., Legay, A.: Symbolic model checking of software product lines. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 321–330. ACM, New York (2011)

    Google Scholar 

  6. Dam, M.: CTL* and ECTL* as fragments of the modal μ-calculus. Theoretical Computer Science 126(1), 77–96 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  7. Emerson, E.A., Jutla, C.S., Sistla, A.P.: On Model-Checking for Fragments of μ-Calculus. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 385–396. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  8. Emerson, E.A., Lei, C.L.: Efficient model checking in fragments of the propositional μ-calculus. In: LICS 1986: Proceedings of the 1st Annual Symposium on Logic in Computer Science, pp. 267–278. IEEE Computer Society Press, Washington, D.C., USA (1986)

    Google Scholar 

  9. Gruler, A., Leucker, M., Scheidemann, K.: Modeling and Model Checking Software Product Lines. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 113–131. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  10. Höfner, P., Khedri, R., Möller, B.: Feature Algebra. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 300–315. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  11. Höfner, P., Khedri, R., Möller An, B.: algebra of product families. Software and Systems Modeling 10, 161–182 (2011) 10.1007/s10270-009-0127-2

    Article  Google Scholar 

  12. Sholom, G., Cohen Kyo, C., Kang, J.A., Hess, W.E.: Novak, and A. Spencer Peterson. Feature oriented design analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21-ESD-90/TR-222, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA (1990)

    Google Scholar 

  13. Kozen, D.: Results on the propositional μ-calculus. Theoretical Computer Science 27, 333–354 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  14. 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)

    Chapter  Google Scholar 

  15. Schobbens, P.-Y., Heymans, P., Trigaux, J.-C.: Feature diagrams: A survey and a formal semantics. In: 14th IEEE International Requirements Engineering Conference RE 2006, pp. 139–148 (2006)

    Google Scholar 

  16. Stirling, C.: Local Model Checking Games. In: Lee, I., Smolka, S.A. (eds.) CONCUR 1995. LNCS, vol. 962, pp. 1–11. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  17. Tarski, A.: A lattice-theoretical fixpoint theorem and its application. Pacific Journal of Mathematics 5, 285–309 (1955)

    MathSciNet  MATH  Google Scholar 

  18. Wirsing, M.: Algebraic specification. In: Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics (B), pp. 675–788 (1990)

    Google Scholar 

  19. Wolper, P.: A translation from full branching time temporal logic to one letter propositional dynamic logic with looping (unpublished manuscript)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Leucker, M., Thoma, D. (2012). A Formal Approach to Software Product Families. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change. ISoLA 2012. Lecture Notes in Computer Science, vol 7609. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34026-0_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-34026-0_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-34025-3

  • Online ISBN: 978-3-642-34026-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics