SMT-Based Automatic Proof of ASM Model Refinement

  • Paolo Arcaini
  • Angelo Gargantini
  • Elvinia Riccobene
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9763)


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.


Model Refinement Satisfiability Modulo Theory Abstract Machine Refined State Monitor Function 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Abadi, M., Lamport, L.: The existence of refinement mappings. Theor. Comput. Sci. 82(2), 253–284 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Abrial, J.-R., Hallerstede, S.: Refinement, decomposition, and instantiation of discrete models: Application to Event-B. Fundam. Inform. 77(1), 1–28 (2007)MathSciNetzbMATHGoogle Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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 CrossRefGoogle Scholar
  5. 5.
    Arcaini, P., Gargantini, A., Riccobene, E.: Using SMT for dealing with nondeterminism in ASM-based runtime verification. In: ECEASST, vol. 70 (2014)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    Boiten, E.A.: Introducing extra operations in refinement. Formal Aspects Comput. 26(2), 305–317 (2012)MathSciNetCrossRefGoogle Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Börger, E.: The ASM refinement method. Formal Aspects Comput. 15(2), 237–257 (2003)CrossRefzbMATHGoogle Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    Börger, E., Stärk, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)CrossRefzbMATHGoogle Scholar
  15. 15.
    Derrick, J., Boiten, E.: Refinement in Z and object-Z: Foundations and Advanced Applications. Springer, London (2001)CrossRefzbMATHGoogle Scholar
  16. 16.
    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)CrossRefGoogle Scholar
  17. 17.
    Farahbod, R., Glässer, U.: The CoreASM modeling framework. Softw. Pract. Experience 41(2), 167–178 (2011)CrossRefGoogle Scholar
  18. 18.
    Lynch, N.A., Tuttle, M.R.: An introduction to input/output automata. CWI Q. 2, 219–246 (1989)MathSciNetzbMATHGoogle Scholar
  19. 19.
    Lynch, N.A., Vaandrager, F.W.: Forward and backward simulations: Part I. untimed systems. Inf. Comput. 121(2), 214–233 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Meseguer, J., Palomino, M., Martí-Oliet, N.: Algebraic simulations. J. Logic Algebraic Program. 79(2), 103–143 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Riccobene, E., Schmid, J.: Capturing requirements by abstract state machines: The light control case study. J. UCS 6(7), 597–620 (2000)Google Scholar
  22. 22.
    Schellhorn, G.: Verification of ASM refinements using generalized forward simulation. J. UCS 7(11), 952–979 (2001)MathSciNetGoogle Scholar
  23. 23.
    Schellhorn, G.: ASM refinement preserving invariants. J. UCS 14(12), 1929–1948 (2008)MathSciNetzbMATHGoogle Scholar
  24. 24.
    Stärk, R., Schmid, J., Börger, E.: Java and the Java Virtual Machine, vol. 24. Springer, Heidelberg (2001)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Paolo Arcaini
    • 1
  • Angelo Gargantini
    • 2
  • Elvinia Riccobene
    • 3
  1. 1.Charles University in Prague, Faculty of Mathematics and PhysicsPragueCzech Republic
  2. 2.Dipartimento di IngegneriaUniversità degli Studi di BergamoBergamoItaly
  3. 3.Dipartimento di InformaticaUniversità degli Studi di MilanoMilanItaly

Personalised recommendations