Model Checking Object-Z Using ASM

  • Kirsten Winter
  • Roger Duke
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2335)


A major problem with creating tools for Object-Z is that its high-level abstractions are difficult to deal with directly. Integrating Object-Z with a more concrete notation is a sound strategy. With this in mind, in this paper we introduce an approach to model-checking Object-Z specifications based on first integrating Object-Z with the Abstract State Machine (ASM) notation to get the notation OZ-ASM. We show that this notation can be readily translated into the specification language ASM-SL, a language that can be automatically translated into the language of the temporal logic model checker SMV.


Object-Z Abstract State Machines language transformation model checking automated tool support 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    G. Del Castillo and K. Winter. Model checking support for the ASM high-level language. In S. Graf and M. Schwartzbach, editors, Proc. of 6th Int. Conference for Tools and Algorithms for the Construction and Analysis of Systems, (TACAS 2000), vol. 1785 of LNCS, Springer-Verlag, 2000.CrossRefGoogle Scholar
  2. 2.
    G. Del Castillo. The ASM Workbench. PhD thesis, Department of Mathematics and Computer Science of Paderborn University, Germany, 2000.Google Scholar
  3. 3.
    R. Duke and G. Rose. Formal Object-Oriented Specification Using Object-Z. Macmillan Press, 2000.Google Scholar
  4. 4.
    E. A. Emerson. Temporal and Modal Logic. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 996–1072. Elsevier Science Publishers, 1990.Google Scholar
  5. 5.
    C. Fischer and H. Wehrheim. Model-checking CSP-OZ specifications with FDR. In K. Araki, A. Galloway and K. Taguchi editors, Proceedings of the 1st International Conference on Integrated Formal Methods (IFM’99), pages 315–334. Springer-Verlag, 1999.Google Scholar
  6. 6.
    Formal Systems (Europe) Ltd. Failures-Divergence Refinement: FDR2 User Manual, Oct 1997.Google Scholar
  7. 7.
    W. Grieskamp. A computation model for Z based on concurrent constraint resolution. In ZB2000-International Conference of Z and B Users, September, 2000.Google Scholar
  8. 8.
    Y. Gurevich. May 1997 Draft of the ASM Guide. Technical report, University of Michigan EECS Department, 1997.Google Scholar
  9. 9.
    Y. Gurevich. Sequential abstract state machines capture sequential algorithms. ACM Transactions on Computational Logic, 2000.Google Scholar
  10. 10.
    G. Holzmann. Design and validation of protocols: A tutorial. In Computer Networks and ISDN Systems, volume XXV, pages 981–1017, 1993.CrossRefGoogle Scholar
  11. 11.
    G. Holzmann. The SPIN model checker. IEEE Transactions on Software Engineering, 23(5):279–295, May 1997.Google Scholar
  12. 12.
    D. Jackson. Nitpick: A checkable specification language. In Proc. of the First ACM SIGSOFT Workshop on Formal Methods in Software Practice, pages 60–69, 1996.Google Scholar
  13. 13.
    D. Jackson, I. Schechter and I. Shlyakhter. Alcoa: the Alloy constraint analyser. In Int. Conf. on Software Engineering, 2000.Google Scholar
  14. 14.
    J. Jacky and M. Patrick. Modelling, checking and implementing a control program for a radiation therapy machine. In R. Cleaveland, D. Jackson, editors, Proc. of the First ACM SIGPLAN Workshop on Automated Analysis of Software(AAS’97), pages 25–32, 1997.Google Scholar
  15. 15.
    G. Kassel and G. Smith. Model checking Object-Z classes: Some experiments with FDR. In 8th Asia-Pacific Software Engineering Conference (APSEC 2001), IEEE Computer Society Press, 2001 (to appear).Google Scholar
  16. 16.
    K. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.Google Scholar
  17. 17.
    F. Corella, Z. Zhou, X. Song, M. Langevin and E. Cerny. Multiway Decision Graphs for automated hardware verification. In Formal Methods in System Design, 10(1), 1997.Google Scholar
  18. 18.
    A. Cimatti, E.M. Clarke, F. Giunchiglia and M. Roveri. NuSMV: a new Symbolic Model Verifier. In N. Halbwachs and D. Peled, editors, 11th Conference on Computer-Aided Verification (CAV’99), vol. 1633 of LNCS, Springer-Verlag, 1999.CrossRefGoogle Scholar
  19. 19.
    G. Smith. The Object-Z Specification Language. Kluwer Academic Publishers, 2000.Google Scholar
  20. 20.
    J.M. Spivey. The Z Notation-A Reference Manual. Prentice Hall, 1992.Google Scholar
  21. 21.
    S. Valentine. The programming language Z. Information and Software Technology, volume 37, number 5-6, pages 293–301, May-June, 1995.CrossRefGoogle Scholar
  22. 22.
    The VIS Group. VIS: A System for Verification and Synthesis. In R. Alur and T. Henzinger, editors, 8th Int. Conf. on Computer Aided Verifaction, (CAV’96). vol. 1102 of LNCS, Springer-Verlag, 1996.Google Scholar
  23. 23.
    K. Winter. Model Checking Abstract State Machines. PhD thesis, Technical University of Berlin, Germany,, 2001.Google Scholar
  24. 24.
    K. Winter. Model checking with abstract types. In S. Stoller and W. Visser, editors, Electronic Notes in Theoretical Computer Science, volume 55. Elsevier Science Publishers, 2001.Google Scholar
  25. 25.
    P. Zave. Formal description of telecommunication services in Promela and Z. In Calculational System Design, Proc. of the Nineteenth International NATO Summer School. IOS Press, 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Kirsten Winter
    • 1
  • Roger Duke
    • 1
  1. 1.Software Verification Research Centre School of Information Technology and Electrical EngineeringUniversity of QueenslandAustralia

Personalised recommendations