Abstract
Formal modelling and verification of variability concepts in product families has been the subject of extensive study in the literature on Software Product Lines. In recent years, we have laid the basis for the use of modal specifications and branching-time temporal logics for the specification and analysis of behavioural variability in product family definitions. A critical point in this formalization is the lack of a possibility to model an adequate representation of the data that may need to be described when considering real systems. To this aim, we now extend the modelling and verification environment that we have developed for specifications interpreted over Modal Transition Systems, by adding the possibility to include data in the specifications. In concert with this, we also extend the variability-specific modal logic and the associated special-purpose model checker VMC. As a result, it offers the possibility to efficiently verify formulas over possibly infinite-state systems by using the on-the-fly bounded model-checking algorithms implemented in the model checker. We illustrate our approach by means of a simple yet intuitive example: a bike-sharing system.
Research partly supported by the EU FP7-ICT FET-Proactive project QUANTICOL (600708) and by the Italian MIUR project CINA (PRIN 2010LHT4KM).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Actually, each product moreover needs to satisfy assumptions of coherence and consistency and variability constraints of the form alternative, excludes, and requires [9].
- 2.
In VMC, \(\lnot \), \(\vee \), \(\wedge \), \([\,]^{\Box }\), \(\mu \), \(\nu \), and \(F^{\Box }\) are written as not, or, and, []#, min, max, and F#, respectively, whereas ‘* ’ can be used as ‘don’t care’ symbol for parameter values.
- 3.
In VMC, text or code can be commented out by prefixing it with --.
References
Antonik, A., Huth, M., Larsen, K.G., Nyman, U., Wąsowski, A.: 20 Years of modal and mixed specifications. Bull. EATCS 95, 94–129 (2008)
Åqvist, L.: Deontic logic. Handbook of Philosophical Logic, 2nd edn, pp. 147–264. Kluwer, Dordrecht (2002)
Asirelli, P., ter Beek, M.H., Fantechi, A., Gnesi, S.: A logical framework to deal with variability. In: Méry, D., Merz, S. (eds.) IFM 2010. LNCS, vol. 6396, pp. 43–58. Springer, Heidelberg (2010)
Asirelli, P., ter Beek, M.H., Fantechi, A., Gnesi, S.: Formal description of variability in product families. In: SPLC 2011, pp. 130–139. IEEE (2011)
ter Beek, M.H., Fantechi, A., Gnesi, S., Mazzanti, F.: A state/event-based model-checking approach for the analysis of abstract system properties. Sci. Comput. Program. 76(2), 119–135 (2011)
ter Beek, M.H., Gnesi, S., Mazzanti, F.: Demonstration of a model checker for the analysis of product variability. In: SPLC 2012, pp. 242–245. ACM (2012)
ter Beek, M.H., Lluch Lafuente, A., Petrocchi, M.: Combining declarative and procedural views in the specification and analysis of product families. In: SPLC 2013, Vol. 2, pp. 10–17. ACM (2013)
ter Beek, M.H., Mazzanti, F., Sulova, A.: VMC: a tool for product variability analysis. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 450–454. Springer, Heidelberg (2012)
ter Beek, M.H., Mazzanti, F.: VMC: recent advances and challenges ahead. In: SPLC 2014, Vol. 2, pp. 70–77. ACM (2014)
ter Beek, M.H., de Vink. E.P.: Using mCRL2 for the analysis of software product lines. In: FormaliSE 2014, IEEE (2014)
ter Beek, M.H., de Vink, E.P.: Software product line analysis with mCRL2. In: SPLC 2014, vol. 2, pp. 78–85. ACM (2014)
ter Beek, M.H., de Vink, E.P.: Towards modular verification of software product lines with mCRL2. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 368–385. Springer, Heidelberg (2014)
Beneš, N., Černá, I., Křetínský, J.: Modal transition systems: composition and LTL model checking. In: Bultan, T., Hsiung, P.-A. (eds.) ATVA 2011. LNCS, vol. 6996, pp. 228–242. Springer, Heidelberg (2011)
Bruns, G., Godefroid, P.: Generalized model checking: reasoning about partial state spaces. In: Palamidessi, C. (ed.) CONCUR 2000. LNCS, vol. 1877, pp. 168–182. Springer, Heidelberg (2000)
Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite state concurrent systems using temporal logic specifications. ACM TOPLAS 8(2), 244–263 (1986)
Classen, A., Cordy, M., Schobbens, P.-Y., Heymans, P., Legay, A., Raskin, J.-F.: Featured transition systems: foundations for verifying variability-intensive systems and their application to LTL model checking. IEEE TSE 39(8), 1069–1089 (2013)
DeMaio, P.: Bike-sharing: history, impacts, models of provision, and future. J. Public Transp. 12(4), 41–56 (2009)
De Nicola, R., Vaandrager, F.W.: Action versus state based logics for transition systems. In: Guessarian, I. (ed.) LITP 1990. LNCS, vol. 469, pp. 407–419. Springer, Heidelberg (1990)
De Nicola, R., Vaandrager, F.W.: Three logics for branching bisimulation. J. ACM 42(2), 458–487 (1995)
D’Ippolito, N., Fischbein, D., Chechik, M., Uchitel, S.: MTSA: the modal transition system analyser. In: ASE 2008, pp. 475–476. IEEE (2008)
Fantechi, A., Lapadula, A., Pugliese, R., Tiezzi, F., Gnesi, S., Mazzanti, F.: A logical verification methodology for service-oriented computing. ACM TOSEM 21(3), 1–46 (2012). Article 16
Fischbein, D., Uchitel, S., Braberman, V.A.: A foundation for behavioural conformance in software product line architectures. In: ROSATEA 2006, pp. 39–48. ACM (2006)
Fricker, C., Gast, N.: Incentives and redistribution in homogeneous bike-sharing systems with stations of finite capacity. EURO J. Transp. Logistics, 1–31 (2014)
Gnesi, S., Petrocchi, M.: Towards an executable algebra for product lines. In: SPLC 2012, Vol. 2, pp. 66–73. ACM (2012)
Groote, J.F., Mateescu, R.: Verification of temporal properties of processes in a setting with data. In: Haeberer, A.M. (ed.) AMAST 1998. LNCS, vol. 1548, pp. 74–90. Springer, Heidelberg (1998)
Krka, I., Edwards, G., Brun, Y., Medvidovic, N.: From system specifications to component behavioral models. In: ICSE 2009, pp. 315–318. IEEE (2009)
Larsen, K.G.: Proof systems for satisfiability in Hennessy-Milner logic with recursion. Theoret. Comput. Sci. 72(2–3), 265–288 (1990)
Larsen, K.G., Nyman, U., Wąsowski, 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)
Larsen, K.G., Thomsen, B.: A modal process logic. In: LICS 1988, pp. 203–210. IEEE (1988)
Lauenroth, K., Pohl, K., Töhning, S.: Model checking of domain artifacts in product line engineering. In: ASE 2009, pp. 269–280. IEEE (2009)
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)
Meolic, R., Kapus, T., Brezocnik, Z.: ACTLW: an action-based computation tree logic with unless operator. Inf. Sci. 178(6), 1542–1557 (2008)
Milner, R.: Communication and Concurrency. Prentice Hall (1989)
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)
Sibay, G.E., Uchitel, S., Braberman, V., Kramer, J.: Distribution of modal transition systems. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 403–417. Springer, Heidelberg (2012)
Acknowledgments
We thank Marco Bertini from PisaMo S.p.A. for generously sharing with us his knowledge on bike-sharing systems in general and CicloPi in particular.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
ter Beek, M.H., Gnesi, S., Mazzanti, F. (2015). Model Checking Value-Passing Modal Specifications. In: Voronkov, A., Virbitskaite, I. (eds) Perspectives of System Informatics. PSI 2014. Lecture Notes in Computer Science(), vol 8974. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46823-4_25
Download citation
DOI: https://doi.org/10.1007/978-3-662-46823-4_25
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-46822-7
Online ISBN: 978-3-662-46823-4
eBook Packages: Computer ScienceComputer Science (R0)