A Systematic Verification Approach for Mondex Electronic Purses Using ASMs

  • Gerhard Schellhorn
  • Holger Grandy
  • Dominik Haneberg
  • Nina Moebius
  • Wolfgang Reif
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5115)


In previous work we solved the challenge to mechanically verify the Mondex challenge about the specification and refinement of an electronic purse, using the given data refinement framework. In this paper we show that using ASM refinement and generalized forward simulations instead of the original approach allows to find a more systematic proof. Our technique of past and future invariants and simulations avoids the need to define a lot of properties for intermediate states during protocol runs. The new proof can be better automated in KIV. The systematic development of a generalized forward simulation uncovered a weakness of the protocol that could be exploited in a denial of service attack. We show a modification of the protocol that avoids this weakness, and that is even slightly easier to verify.


Request Message Idle State Proof Obligation Forward Simulation Simulation Relation 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BJPS06]
    Banach, R., Jeske, C., Poppleton, M., Stepney, S.: Retrenching the purse: The balance enquiry quandary, and generalised and (1,1) forward refinements. Fundamenta Informaticae 77 (2006)Google Scholar
  2. [BM96]
    Börger, E., Mazzanti, S.: A Practical Method for Rigorously Controllable Hardware Design. In: Till, D., Bowen, J.P., Hinchey, M.G. (eds.) ZUM 1997. LNCS, vol. 1212, pp. 151–187. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  3. [Bör03]
    Börger, E.: The ASM Refinement Method. Formal Aspects of Computing 15(1–2), 237–257 (2003)zbMATHCrossRefGoogle Scholar
  4. [BR95]
    Börger, E., Rosenzweig, D.: The WAM—definition and compiler correctness. In: Beierle, C., Plümer, L. (eds.) Logic Programming: Formal Methods and Practical Applications. Studies in Computer Science and Artificial Intelligence, vol. 11, pp. 20–90. North-Holland, Amsterdam (1995)Google Scholar
  5. [BS03]
    Börger, E., Stärk, R.F.: Abstract State Machines—A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)zbMATHGoogle Scholar
  6. [BS07]
    Banach, R., Schellhorn, G.: On the refinement of atomic actions. In: Prooceedings of the REFINE Workshop at IFM 2007, Oxford (2007) (to appear in ENTCS)Google Scholar
  7. [CSW02]
    Cooper, D., Stepney, S., Woodcock, J.: Derivation of Z Refinement Proof Rules: forwards and backwards rules incorporating input/output refinement. Technical Report YCS-2002-347, University of York (2002),
  8. [DW03]
    Derrick, J., Wehrheim, H.: Using Coupled Simulations in Non-atomic Refinement. In: Bert, D., Bowen, J.P., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 127–147. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. [Gur95]
    Gurevich, Y.: Evolving algebras 1993: Lipari guide. In: Börger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)Google Scholar
  10. [HGRS06]
    Haneberg, D., Grandy, H., Reif, W., Schellhorn, G.: Verifying Smart Card Applications: An ASM Approach. Technical Report 2006-08, Universität Augsburg (2006)Google Scholar
  11. [HGRS07]
    Haneberg, D., Grandy, H., Reif, W., Schellhorn, G.: Verifying Smart Card Applications: An ASM Approach. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, pp. 313–332. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. [HGS06]
    Haxthausen, A.E., George, C., Schütz, M.: Specification and Proof of the Mondex Electronic Purse. In: Reed, M., Xin, C., Liu, Z. (eds.) Proceedings of 1st Asian Working Conference on Verified Software, AWCVS 2006, UNU-IIST Reports 348, Macau (November 2006)Google Scholar
  13. [HKT00]
    Harel, D., Kozen, D., Tiuryn, J.: Dynamic Logic. MIT Press, Cambridge (2000)zbMATHGoogle Scholar
  14. [HSGR07]
    Haneberg, D., Schellhorn, G., Grandy, H., Reif, W.: Verification of Mondex Electronic Purses with KIV: From Transactions to a Security Protocol. Formal Aspects of Computing (2007) (to appear, older version available as Techn. Report 2006-32 at [KIV])Google Scholar
  15. [JW07]
    Jones, C., Woodcock, J. (eds.): Formal Aspects of Computing. Springer, Heidelberg (2007) (to appear)Google Scholar
  16. [KIV]
    Web presentation of the mondex case study in KIV,
  17. [RJ06]
    Ramananadro, T., Jackson, D.: Mondex, an electronic purse: specification and refinement checks with the alloy model-finding method (2006),
  18. [RSSB98]
    Reif, W., Schellhorn, G., Stenzel, K., Balser, M.: Structured specifications and interactive proofs with KIV. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction—A Basis for Applications, volume II: Systems and Implementation Techniques: Interactive Theorem Proving, ch. 1, pp. 13–39. Kluwer Academic Publishers, Dordrecht (1998)Google Scholar
  19. [SA98]
    Schellhorn, G., Ahrendt, W.: The WAM Case Study: Verifying Compiler Correctness for Prolog with KIV. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction—A Basis for Applications, pp. 165–194. Kluwer Academic Publishers, Dordrecht (1998)Google Scholar
  20. [Sch01]
    Schellhorn, G.: Verification of ASM Refinements Using Generalized Forward Simulation. Journal of Universal Computer Science (J.UCS) 7(11), 952–979 (2001), MathSciNetGoogle Scholar
  21. [Sch05]
    Schellhorn, G.: ASM Refinement and Generalizations of Forward Simulation in Data Refinement: A Comparison. Journal of Theoretical Computer Science 336(2-3), 403–435 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  22. [SCW00]
    Stepney, S., Cooper, D., Woodcock, J.: AN ELECTRONIC PURSE Specification, Refinement, and Proof. Technical monograph PRG-126, Oxford University Computing Laboratory (July 2000),
  23. [SGH+06]
    Schellhorn, G., Grandy, H., Haneberg, D., Moebius, N., Reif, W.: A systematic verification Approach for Mondex Electronic Purses using ASMs. Technical Report 2006-27, Universität Augsburg (2006),
  24. [SGHR06a]
    Schellhorn, G., Grandy, H., Haneberg, D., Reif, W.: Mondex Challenge: Machine Checked Proofs for an Electronic Purse. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 16–31. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  25. [SGHR06b]
    Schellhorn, G., Grandy, H., Haneberg, D., Reif, W.: The Mondex Challenge: Machine Checked Proofs for an Electronic Purse. Technical Report 2006-2, Universität Augsburg (2006)Google Scholar
  26. [WF06]
    Woodcock, J., Freitas, L.: Z/eves and the mondex electronic purse. In: Barkaoui, K., Cavalcanti, A., Cerone, A. (eds.) ICTAC 2006. LNCS, vol. 4281, pp. 14–34. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  27. [Woo06]
    Woodcock, J.: First steps in the verified software grand challenge. IEEE Computer 39(10), 57–64 (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Gerhard Schellhorn
    • 1
  • Holger Grandy
    • 1
  • Dominik Haneberg
    • 1
  • Nina Moebius
    • 1
  • Wolfgang Reif
    • 1
  1. 1.Lehrstuhl für Softwaretechnik und ProgrammiersprachenUniversität AugsburgAugsburgGermany

Personalised recommendations