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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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.
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
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)
Apel, S., Kästner, C., Lengauer, C.: Featurehouse: language-independent, automated software composition. In: ICSE, pp. 221–231 (2009)
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)
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)
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)
Classen, A., Hubaux, A., Heymans, P.: A formal semantics for multi-level staged configuration. VaMoS 9, 51–60 (2009)
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)
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)
Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10(1), 7–29 (2005)
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)
Czarnecki, K., Wasowski, A.: Feature diagrams and logics: there and back again. In: SPLC 2007, pp. 23–34 (2007)
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
Gheyi, R., Massoni, T., Borba, P.: Automatically checking feature model refactorings. J. UCS 17(5), 684–711 (2011)
Gupta, V., Pratt, V.: Gates accept concurrent behavior. In: FOCS, pp. 62–71 (1993)
Hildebrandt, T., Mukkamala, R.: Declarative event-based workflow as distributed dynamic condition response graphs (2011, arXiv preprint). arXiv:1110.4161
Höfner, P., Khédri, R., Möller, B.: An algebra of product families. Softw. Syst. Model. 10(2), 161–182 (2011)
Hubaux, A., Classen, A., Heymans, P.: Formal modelling of feature configuration workflows. In: SPLC, pp. 221–230 (2009)
Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (foda) feasibility study. Technical report, DTIC Document (1990)
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)
Mendonca, M., Wasowski, A., Czarnecki, K., Cowan, D.: Efficient compilation techniques for large scale feature models. In: GPCE, pp. 13–22. ACM (2008)
Niu, N., Easterbrook, S.: On-demand cluster analysis for product line functional requirements. In: SPLC (2008)
Pinna, M., Poigné, A.: On the nature of events: another perspective in concurrency. Theor. Comput. Sci. 138(2), 425–454 (1995)
Pohl, K., Böckle, G., Van Der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)
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)
Roos-Frantz, F., Benavides, D., Ruiz-Cortés, A.: Feature model to orthogonal variability model transformation towards interoperability between tools. KISS@. ASE (2009)
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)
Schobbens, P-Y., Heymans, P., Trigaux, J-C.: Feature diagrams: a survey and a formal semantics. In: RE 2006, pp. 136–145. IEEE (2011)
She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: ICSE 2011, pp. 461–470. IEEE (2011)
Thum, T., Batory, D., Kastner, C.: Reasoning about edits to feature models. In: ICSE, pp. 254–264 (2009)
Trinidad, P., Cortés, A.: Abductive reasoning and automated analysis of feature models: how are they connected? VaMos 9, 145–153 (2009)
Trujillo, V., Batory, D., DÃaz, O.: Feature oriented model driven development: a case study for portlets. In: ICSE, pp. 44–53 (2007)
van Glabbeek, R., Plotkin, G.: Configuration structures. In: LICS, pp. 199–209 (1995)
Winskel, G.: Event structures. In: Rozenberg, G. (ed.) Advances in Petri Nets. LNCS, vol. 255. Springer, Heidelberg (1987)
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
Corresponding author
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
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)