Abstract
Model refinement is a technique indispensable for modeling large and complex systems. Many formal specification methods share this concept which usually comes together with the definition of refinement correctness, i.e., the mathematical proof of a logical relation between an abstract model and its refined models.
Model refinement is one of the main concepts which the Abstract State Machine (ASM) formal method is built on. Proofs of correct model refinement are usually performed manually, which reduces the usability of the ASM model refinement approach. An automatic support to assist the developer in proving refinement correctness along the chain of refinement steps could be of extreme importance to improve, in practice, the adoption of ASMs.
In this paper, we present how the integration between the ASMs and Satisfiability Modulo Theories (SMT) can be used to automatically prove correctness of model refinement for the ASM method.
This work was partially supported by the Grant Agency of the Czech Republic project 14-11384S.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Note that in concrete instances we also do not declare constants for monitored and derived functions belonging to \(\bar{f}_R ^{ nc \prime }\) and \(\bar{f}_A ^{ nc \prime }\), as they do not appear in the asserted formulas.
- 3.
The tool and experimental results can be found at http://asmeta.sourceforge.net/download/asmrefprover.html.
References
Abadi, M., Lamport, L.: The existence of refinement mappings. Theor. Comput. Sci. 82(2), 253–284 (1991)
Abrial, J.-R., Hallerstede, S.: Refinement, decomposition, and instantiation of discrete models: Application to Event-B. Fundam. Inform. 77(1), 1–28 (2007)
Arcaini, P., Bonfanti, S., Gargantini, A., Mashkoor, A., Riccobene, E.: Formal validation and verification of a medical software critical component. In: Proceedings of MEMOCODE 2015, pp. 80–89. IEEE (2015)
Mashkoor, A.: The hemodialysis machine case study. In: Butler, M., Schewe, K.-D., Mashkoor, A., Biro, M. (eds.) ABZ 2016. LNCS, vol. 9675, pp. 329–343. Springer, Heidelberg (2016). doi:10.1007/978-3-319-33600-8_29
Arcaini, P., Gargantini, A., Riccobene, E.: Using SMT for dealing with nondeterminism in ASM-based runtime verification. In: ECEASST, vol. 70 (2014)
Arcaini, P., Gargantini, A., Riccobene, E.: Rigorous development process of a safety-critical system: from ASM models to Java code. Int. J. Softw. Tools Technol. Transf. 1–23 (2015)
Arcaini, P., Gargantini, A., Riccobene, E., Scandurra, P.: A model-driven process for engineering a toolset for a formal method. Softw. Pract. Experience 41, 155–166 (2011)
Arcaini, P., Holom, R.-M., Riccobene, E.: ASM-based formal design of an adaptivity component for a cloud system. Formal Aspects Comput. 1–29 (2016)
Beierle, C., Börger, E., Durdanović, I., Glässer, U., Riccobene, E.: Refining abstract machine specifications of the steam boiler control to well documented executable code. In: Abrial, J.-R., Börger, E., Langmaack, H. (eds.) Dagstuhl Seminar 1995. LNCS, vol. 1165, pp. 52–78. Springer, Heidelberg (1996)
Boiten, E.A.: Introducing extra operations in refinement. Formal Aspects Comput. 26(2), 305–317 (2012)
Boniol, F., Wiels, V.: The landing gear system case study. In: Boniol, F., Wiels, V., Ait Ameur, Y., Schewe, K.-D. (eds.) ABZ 2014. CCIS, vol. 433, pp. 1–18. Springer, Heidelberg (2014)
Börger, E.: The ASM refinement method. Formal Aspects Comput. 15(2), 237–257 (2003)
Börger, E.: The Abstract State Machines method for high-level system design and analysis. In: Formal Methods: State of the Art and New Directions, pp. 79–116. Springer, London (2010)
Börger, E., Stärk, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)
Derrick, J., Boiten, E.: Refinement in Z and object-Z: Foundations and Advanced Applications. Springer, London (2001)
Ernst, G., Pfähler, J., Schellhorn, G., Reif, W.: Modular refinement for submachines of ASMs. In: Ait Ameur, Y., Schewe, K.-D. (eds.) ABZ 2014. LNCS, vol. 8477, pp. 188–203. Springer, Heidelberg (2014)
Farahbod, R., Glässer, U.: The CoreASM modeling framework. Softw. Pract. Experience 41(2), 167–178 (2011)
Lynch, N.A., Tuttle, M.R.: An introduction to input/output automata. CWI Q. 2, 219–246 (1989)
Lynch, N.A., Vaandrager, F.W.: Forward and backward simulations: Part I. untimed systems. Inf. Comput. 121(2), 214–233 (1995)
Meseguer, J., Palomino, M., Martí-Oliet, N.: Algebraic simulations. J. Logic Algebraic Program. 79(2), 103–143 (2010)
Riccobene, E., Schmid, J.: Capturing requirements by abstract state machines: The light control case study. J. UCS 6(7), 597–620 (2000)
Schellhorn, G.: Verification of ASM refinements using generalized forward simulation. J. UCS 7(11), 952–979 (2001)
Schellhorn, G.: ASM refinement preserving invariants. J. UCS 14(12), 1929–1948 (2008)
Stärk, R., Schmid, J., Börger, E.: Java and the Java Virtual Machine, vol. 24. Springer, Heidelberg (2001)
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
Arcaini, P., Gargantini, A., Riccobene, E. (2016). SMT-Based Automatic Proof of ASM Model Refinement. In: De Nicola, R., Kühn, E. (eds) Software Engineering and Formal Methods. SEFM 2016. Lecture Notes in Computer Science(), vol 9763. Springer, Cham. https://doi.org/10.1007/978-3-319-41591-8_17
Download citation
DOI: https://doi.org/10.1007/978-3-319-41591-8_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-41590-1
Online ISBN: 978-3-319-41591-8
eBook Packages: Computer ScienceComputer Science (R0)