Abstract
We present a translation of sequential ASMs to Event-B specifications. The translation also addresses the partial update problem, and allows a variable to be updated (consistently) in parallel. On the theoretical side, the translation highlights the intricacies of ASM rule execution in terms of Event-B semantics. On the practical side, we show on a series of examples that the Event-B encoding remains compact and is amenable to proof within Rodin as well as animation and model checking using ProB.
Keywords
Part of this research by the second author was funded by a renewed Forschungspreis grant of the Humboldt Foundation in the summer of 2015.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
This fact is known as the sequential ASM Thesis Gurevich proved in [14] from three natural postulates which axiomatize the underlying concept of ‘sequential algorithm’.
- 2.
This is related to the circumstance that for reasons of generality arbitrary terms s, not only variables, are permitted on the left side of an assignment statement \(s:=t\). Therefore a machine may contain assignment statements \(t_1:=t\) and \(t_2:=t'\) with syntactically different \(t_i=f(t_{i,1},\ldots ,t_{i,n})\) for which however in some state S their evaluation may yield the same arguments \(eval_S(t_{1,j})=eval_S(t_{2,j})\) for all \(1 \le j \le n\) resulting in two updates \((l,eval_S(t))\) and \((l,eval_S(t'))\) to the same location \(l=(f,(eval_S(t_{1,1}),\ldots ,eval_S(t_{1,n})))\) so that the consistency condition \(eval_S(t)=eval_S(t')\) is required.
- 3.
An overwrite particle in the terminology of [15].
- 4.
- 5.
A recent feature of ProB; it needs to be explicitly enabled via the CSE preference; it does not work across multiple events and thus cannot be applied to Fig. 2.
References
Abrial, J.-R.: The B-Book. Cambridge University Press, New York (1996)
Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, New York (2010)
Abrial, J.-R., Butler, M., Hallerstede, S., Voisin, L.: An open extensible tool environment for Event-B. In: Liu, Z., Kleinberg, R.D. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 588–605. Springer, Heidelberg (2006)
Arcaini, P., Gargantini, A., Riccobene, E.: AsmetaSMV: a way to link high-level ASM models to low-level NuSMV specifications. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds.) ABZ 2010. LNCS, vol. 5977, pp. 61–74. Springer, Heidelberg (2010)
The Abstract State Machine Metamodel Website (2006). http://asmeta.sourceforge.net
Bendisposto, J., Fritz, F., Jastram, M., Leuschel, M., Weigelt, I.: Developing Camille, a text editor for Rodin. Softw. Pract. Exp. 41(2), 189–198 (2011)
Blass, A., Gurevich, Y.: Abstract state machines capture parallel algorithms: correction and extension. ACM Trans. Comput. Log. 8(3), 19:1–19:32 (2008)
Börger, E., Stärk, R.F.: Abstract State Machines. A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)
Butler, M., Maamria, I.: Practical theory extension in Event-B. In: Liu, Z., Woodcock, J., Zhu, H. (eds.) Theories of Programming and Formal Methods. LNCS, vol. 8051, pp. 67–81. Springer, Heidelberg (2013)
Déharbe, D.: Automatic verification for a class of proof obligations with SMT-solvers. In: Proceedings ASM, pp. 217–230 (2010)
Déharbe, D., Fontaine, P., Guyot, Y., Voisin, L.: SMT solvers for Rodin. In: Derrick, J., Fitzgerald, J., Gnesi, S., Khurshid, S., Leuschel, M., Reeves, S., Riccobene, E. (eds.) ABZ 2012. LNCS, vol. 7316, pp. 194–207. Springer, Heidelberg (2012)
Farahbod, R., et al.: The CoreASM Project. http://www.coreasm.org and https://github.com/coreasm/
Foundations of Software Engineering Group, Microsoft Research. AsmL (2001). http://research.microsoft.com/foundations/AsmL/
Gurevich, Y.: Sequential abstract state machines capture sequential algorithms. ACM Trans. Comput. Log. 1(1), 77–111 (2000)
Gurevich, Y., Tillmann, N.: Partial updates. Theor. Comput. Sci. 336(2–3), 311–342 (2005)
Krings, S., Bendisposto, J., Leuschel, M.: From failure to proof: the ProB disprover for B and Event-B. In: Calinescu, R., Rumpe, B. (eds.) SEFM 2015. LNCS, vol. 9276, pp. 199–214. Springer, Heidelberg (2015)
Leuschel, M., Butler, M.J.: ProB: an automated analysis toolset for the B method. STTT 10(2), 185–203 (2008)
Acknowledgement
We would like to thank the reviewers of ABZ’16 for very useful feedback. The second author thanks Laurent Voisin for discussing with him during the Dagstuhl seminar Integration of Tools for Rigorous Software Construction and Analysis (September 8–13, 2013) the problem of an Asm2EventB translation. (http://drops.dagstuhl.de/opus/volltexte/2014/4358/.)
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
Leuschel, M., Börger, E. (2016). A Compact Encoding of Sequential ASMs in 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_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-33600-8_7
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)