Skip to main content

Modeling Product Lines with Kripke Structures and Modal Logic

  • Conference paper
  • First Online:

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

Abstract

Product lines are an established framework for software design. They are specified by special diagrams called feature models. For formal analysis, the latter are usually encoded by propositional theories with Boolean semantics. We discuss a major deficiency of this semantics, and show that it can be fixed by considering that a product is an instantiation process rather than its final result. We call intermediate states of this process partial products, and argue that what a feature model M really defines is a poset of partial products called a partial product line, PPL(M). We argue that such PPLs can be viewed as special partial product Kripke structures (ppKS) specifiable by a suitable version of CTL (partial product CTL or ppCTL). We show that any feature model M is representable by a ppCTL theory \(\varPhi (M)\) such that for any ppKs K, \(K\models \varPhi (M)\) iff \(K = PPL (M)\); hence, \(\varPhi (M)\) is a sound and complete representation of the feature model.

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

Buying options

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 EPUB and 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

Learn about institutional subscriptions

Notes

  1. 1.

    With a more flexible view of product assembly, some possible interleavings could be prohibited and some allowed. (We owe this idea to an anonymous reviewer.) Then we need to add a suitable annotating mechanism to the fm formalism.

  2. 2.

    We cannot declare that features \(\mathsf {en}\) and \(\mathsf {ge}\) are mutually exclusive and write \(\{\mathsf {en}{\wedge }\mathsf {ge}\rightarrow \bot \}\) as down the lattice they are combined in the product \(\{{\mathsf {c}},\mathsf {en},\mathsf {ele},\mathsf {ge}\}\).

References

  1. Alves, V., Schwanninger, C., Barbosa, L., Rashid, A., Sawyer, P., Rayson, P., Pohl, C., Rummler, A.: An exploratory study of information retrieval techniques in domain analysis. In: SPLC2008 (2008)

    Google Scholar 

  2. Apel, S., Kästner, C., Lengauer, C.: Featurehouse: language-independent, automated software composition. In: ICSE, pp. 221–231 (2009)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  4. Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)

    Article  Google Scholar 

  5. Classen, A., Cordy, M., Heymans, P., Legay, A., Schobbens, P.: Formal semantics, modular specification, and symbolic verification of product-line behaviour. Sci. Comput. Program. 80, 416–439 (2014)

    Article  Google Scholar 

  6. Classen, A., Hubaux, A., Heymans, P.: A formal semantics for multi-level staged configuration. VaMoS 9, 51–60 (2009)

    Google Scholar 

  7. Cordy, M., Heymans, P., Legay, A., Schobbens, P., Dawagne, B., Leucker, M.: Counterexample guided abstraction refinement of product-line behavioural models. In: FSE, pp. 190–201 (2014)

    Google Scholar 

  8. Czarnecki, K., Helsen, S.: Staged configuration using feature models. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 266–283. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  9. Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10(1), 7–29 (2005)

    Article  Google Scholar 

  10. Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration through specialization and multilevel configuration of feature models. Softw. Process Improv. Pract. 10(2), 143–169 (2005)

    Article  Google Scholar 

  11. Czarnecki, K., Wasowski, A.: Feature diagrams and logics: there and back again. In: SPLC 2007, pp. 23–34 (2007)

    Google Scholar 

  12. Diskin, Z., Safilian, A., Maibaum, T., Ben-David, S.: Modeling product lines with kripke structures and modal logic (GSDLAB–TR 2015–04-01), April 2015

    Google Scholar 

  13. Gheyi, R., Massoni, T., Borba, P.: Automatically checking feature model refactorings. J. UCS 17(5), 684–711 (2011)

    MATH  Google Scholar 

  14. Gupta, V., Pratt, V.: Gates accept concurrent behavior. In: FOCS, pp. 62–71 (1993)

    Google Scholar 

  15. Hildebrandt, T., Mukkamala, R.: Declarative event-based workflow as distributed dynamic condition response graphs (2011, arXiv preprint). arXiv:1110.4161

  16. Höfner, P., Khédri, R., Möller, B.: An algebra of product families. Softw. Syst. Model. 10(2), 161–182 (2011)

    Article  Google Scholar 

  17. Hubaux, A., Classen, A., Heymans, P.: Formal modelling of feature configuration workflows. In: SPLC, pp. 221–230 (2009)

    Google Scholar 

  18. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (foda) feasibility study. Technical report, DTIC Document (1990)

    Google Scholar 

  19. Leucker, M., Thoma, D.: A formal approach to software product families. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012, Part I. LNCS, vol. 7609, pp. 131–145. Springer, Heidelberg (2012)

    Google Scholar 

  20. Mendonca, M., Wasowski, A., Czarnecki, K., Cowan, D.: Efficient compilation techniques for large scale feature models. In: GPCE, pp. 13–22. ACM (2008)

    Google Scholar 

  21. Niu, N., Easterbrook, S.: On-demand cluster analysis for product line functional requirements. In: SPLC (2008)

    Google Scholar 

  22. Pinna, M., Poigné, A.: On the nature of events: another perspective in concurrency. Theor. Comput. Sci. 138(2), 425–454 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  23. Pohl, K., Böckle, G., Van Der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  24. Pratt, V.R.: Event spaces and their linear logic. In: Nivat, M., Rattray, C., Rus, T., Scollo, G. (eds.) AMAST, pp. 3–25. Springer, Heidelberg (1991)

    Google Scholar 

  25. Roos-Frantz, F., Benavides, D., Ruiz-Cortés, A.: Feature model to orthogonal variability model transformation towards interoperability between tools. KISS@. ASE (2009)

    Google Scholar 

  26. Safilian, A., Maibaum, T., Diskin, Z.: The semantics of cardinality-based feature models via formal languages. In: Bjørner, N., de Boer, F. (eds.) FM 2015. LNCS, vol. 9109, pp. 453–469. Springer, Heidelberg (2015)

    Chapter  Google Scholar 

  27. Schobbens, P-Y., Heymans, P., Trigaux, J-C.: Feature diagrams: a survey and a formal semantics. In: RE 2006, pp. 136–145. IEEE (2011)

    Google Scholar 

  28. She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: ICSE 2011, pp. 461–470. IEEE (2011)

    Google Scholar 

  29. Thum, T., Batory, D., Kastner, C.: Reasoning about edits to feature models. In: ICSE, pp. 254–264 (2009)

    Google Scholar 

  30. Trinidad, P., Cortés, A.: Abductive reasoning and automated analysis of feature models: how are they connected? VaMos 9, 145–153 (2009)

    Google Scholar 

  31. Trujillo, V., Batory, D., Díaz, O.: Feature oriented model driven development: a case study for portlets. In: ICSE, pp. 44–53 (2007)

    Google Scholar 

  32. van Glabbeek, R., Plotkin, G.: Configuration structures. In: LICS, pp. 199–209 (1995)

    Google Scholar 

  33. Winskel, G.: Event structures. In: Rozenberg, G. (ed.) Advances in Petri Nets. LNCS, vol. 255. Springer, Heidelberg (1987)

    Google Scholar 

Download references

Acknowledgement

We are grateful to Krzysztof Czarnecki for several fruitful discussions of the subject, particularly, of the staged configuration approach. Thanks also go to anonymous reviewers for stimulating criticism and, specifically, for references to DCR-graphs and PL-CCS work. Financial support was provided by Automotive Partnership Canada via the NECSIS project.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zinovy Diskin .

Editor information

Editors and Affiliations

Appendix

Appendix

 The list of abbreviations used in the paper:

Abbreviation

Meaning

Abbreviation

Meaning

ccc

crosscutting constraint

\(\mathsf {BL}\)

Boolean logic

ppKS

partial product Kripke structure

\(\mathsf {ppCTL}\)

partial product CTL

fm

feature model

FM

feature modeling

pl

product line

\(\mathsf {I2C}\)

instantiate-to-completion

ppl

partial product line

\(\mathsf {ML}\)

Modal Logic

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Diskin, Z., Safilian, A., Maibaum, T., Ben-David, S. (2015). Modeling Product Lines with Kripke Structures and Modal Logic. In: Leucker, M., Rueda, C., Valencia, F. (eds) Theoretical Aspects of Computing - ICTAC 2015. ICTAC 2015. Lecture Notes in Computer Science(), vol 9399. Springer, Cham. https://doi.org/10.1007/978-3-319-25150-9_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-25150-9_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-25149-3

  • Online ISBN: 978-3-319-25150-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics