Abstract
In this paper we present a static analysis to determine how events influence each other in Event-B models. The analysis, called an enabling analysis, uses syntactic and constraint-based techniques to compute the effect of executing one event on the guards of another event. We describe the foundations of the approach along with the realisation in ProB. The output of the analysis can help a user to understand the control flow of a formal model. Additionally, we discuss how the information of the enabling analysis can be used to obtain a new optimised model checking algorithm. We evaluate both the performance of the enabling analysis and the new model checking technique on a variety of models. The technique is also applicable to B, \(\mathrm{TLA}^{+}\), and Z models.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Note: we include the invariant \( Inv \) here, meaning that all results are only valid so-long as the invariant remains true. In practice, this is usually ok: animation and model checking with ProB will detect invariant violations. Adding the invariant is often important to help the constraint solver. On the other hand, it is possible to remove the invariant from Definition 3 and one would then obtain an analysis that is also valid for states which do not satisfy the invariant.
- 2.
In addition, we illustrate some of the enabling relations on concrete examples in https://www3.hhu.de/stups/prob/index.php/Tutorial_Enabling_Analysis.
- 3.
The models and the results of the enabling analysis can be obtained from the following web page http://nightly.cobra.cs.uni-duesseldorf.de/enabling_analysis/.
- 4.
The models and their evaluations can be obtained from the following web page http://nightly.cobra.cs.uni-duesseldorf.de/pge/.
- 5.
Ideally the present paper should have been published before [9].
References
Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, New York (1996)
Abrial, J.R.: Modeling in Event-B: System and Software Engineering, 1st edn. Cambridge University Press, New York (2010)
Bendisposto, J., Leuschel, M.: Proof assisted model checking for B. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 504–520. Springer, Heidelberg (2009)
Bendisposto, J., Leuschel, M.: Automatic flow analysis for Event-B. In: Giannakopoulou, D., Orejas, F. (eds.) FASE 2011. LNCS, vol. 6603, pp. 50–64. Springer, Heidelberg (2011)
Bert, D., Cave, F.: Construction of finite labelled transition systems from B abstract systems. In: Grieskamp, W., Santen, T., Stoddart, B. (eds.) IFM 2000. LNCS, vol. 1945, pp. 235–254. Springer, Heidelberg (2000)
Bert, D., Potet, M.-L., Stouls, N.: Genesyst: a tool to reason about behavioral aspects of B event specifications. application to security properties. In: ZB , pp. 299–318 (2005)
Clarke, E., Enders, R., Filkorn, T., Jha, S.: Exploiting symmetry in temporal logic model checking. Formal Methods Syst. Des. 9(1–2), 77–104 (1996)
Clarke, E., Grumberg, O., Minea, M., Peled, D.: State space reduction using partial order techniques. Int. J. STTT 2(3), 279–287 (1999)
Dobrikov, I., Leuschel, M.: Optimising the ProB model checker for B using partial order reduction. In: Giannakopoulou, D., Salaün, G. (eds.) SEFM 2014. LNCS, vol. 8702, pp. 220–234. Springer, Heidelberg (2014)
Dobrikov, I., Leuschel, M.: Enabling analysis for Event-B (technical report). Technical report, Institut für Informatik, University of Düsseldorf (2016). http://stups.hhu.de/w/Special:Publication/LeuschelDobrikov-EnablingTR
Donaldson, A.F., Miller, A.: Exact and approximate strategies for symmetry reduction in model checking. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 541–556. Springer, Heidelberg (2006)
Fekih H, Ayed LJ, Merz S.: Transformation of B specifications into UML class diagrams and state machines. ACM Symposium on Applied Computing - SAC 2006, vol. 2, pp. 1840–1844. Dijon, France (Apr. 2006)
Godefroid, P. (ed.): Partial-Order Methods for the Verification of Concurrent Systems. LNCS, vol. 1032. Springer, Heidelberg (1996)
Hammad, A., Tatibouët, B., Voisinet, J.-C., Wu, W.-P.: From a B specification to UML statechart diagrams. In: George, C.W., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 511–522. Springer, Heidelberg (2002)
Hansen, D., Ladenberger, L., Wiegard, H., Bendisposto, J., Leuschel, M.: Validation of the ABZ landing gear system using ProB. In: Boniol, F., Wiels, V., Ait Ameur, Y., Schewe, K.-D. (eds.) ABZ 2014. CCIS, vol. 433, pp. 66–79. Springer, Heidelberg (2014)
Hansen, D., Leuschel, M.: Translating TLA\(^ \text{+ } \) to B for validation with ProB. In: Derrick, J., Gnesi, S., Latella, D., Treharne, H. (eds.) IFM 2012. LNCS, vol. 7321, pp. 24–38. Springer, Heidelberg (2012)
Ladenberger, L., Leuschel, M.: Mastering the visualization of larger state spaces with projection diagrams. In: Butler, M., Conchon, S., Zaïïdi, F. (eds.) Formal Methods and Software Engineering. LNCS, pp. 153–169. Springer, Switzerland (2015)
Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc, Boston (2002)
Legeard, B., Peureux, F., Utting, M.: Automated boundary testing from Z and B. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 21–40. Springer, Heidelberg (2002)
Leuschel, M., Butler, M.: ProB: a model checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003: Formal Methods. LNCS, pp. 855–874. Springer, Heidelberg (2003)
Leuschel, M., Butler, M.: ProB: an automated analysis toolset for the B method. STTT 10(2), 185–203 (2008)
Leuschel, M., Turner, E.: Visualising larger state spaces in Pro B. In: Treharne, H., King, S., C. Henson, M., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 6–23. Springer, Heidelberg (2005)
McMillan, K.L.: Symbolic Model Checking: An Approach to the State Explosion Problem. Ph. D. thesis, Carnegie Mellon University, Pittsburgh, PA, USA, UMI Order No. GAX92-24209 (1992)
Plagge, D., Leuschel, M.: Validating Z specifications using the ProB animator and model checker. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, pp. 480–500. Springer, Heidelberg (2007)
Savary, A., Frappier, M., Leuschel, M., Lanet, J.-L.: Model-based robustness testing in Event-B using mutation. In: Calinescu, R., Rumpe, B. (eds.) SEFM 2015. LNCS, vol. 9276, pp. 132–147. Springer, Heidelberg (2015)
Snook, C., Butler, M.: Verifying Dynamic Properties of UML Models by Translation to the B Language and Toolkit. In: UML 2000 WORKSHOP Dynamic Behaviour in UML Models: Semantic Questions, October 2000
Spivey, J.M.: The Z Notation: A Reference Manual. Prentice-Hall Inc, Upper Saddle River (1989)
Su, W., Abrial, J.-R.: Aircraft landing gear system: approaches with Event-B to the modeling of an industrial system. In: Boniol, F., Wiels, V., Ait Ameur, Y., Schewe, K.-D. (eds.) ABZ 2014. CCIS, vol. 433, pp. 19–35. Springer, Heidelberg (2014)
Turner, E., Leuschel, M., Spermann, C., Butler, M.: Symmetry reduced model checking for B. In: Proceedings TASE, pp. 25–34. IEEE (2007)
Acknowledgements
We would like to thank the reviewers of ABZ’16 for their very useful suggestions, e.g., concerning Fig. 2. We also thank Jens Bendisposto for very useful feedback and ideas.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Dobrikov, I., Leuschel, M. (2016). Enabling Analysis for Event-B. In: Butler, M., Schewe, KD., Mashkoor, A., Biro, M. (eds) Abstract State Machines, Alloy, B, TLA, VDM, and Z. ABZ 2016. Lecture Notes in Computer Science(), vol 9675. Springer, Cham. https://doi.org/10.1007/978-3-319-33600-8_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-33600-8_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-33599-5
Online ISBN: 978-3-319-33600-8
eBook Packages: Computer ScienceComputer Science (R0)