Formal Aspects of Computing

, Volume 21, Issue 1–2, pp 155–186 | Cite as

Model checking action system refinements

  • Graeme Smith
  • Kirsten Winter
Original Article


Action systems provide a formal approach to modelling parallel and reactive systems. They have a well established theory of refinement supported by simulation-based proof rules. This paper introduces an automatic approach for verifying action system refinements utilising standard CTL model checking. To do this, we encode each of the simulation conditions as a simulation machine, a Kripke structure on which the proof obligation can be discharged by checking that an associated CTL property holds. This procedure transforms each simulation condition into a model checking problem. Each simulation condition can then be model checked in isolation, or, if desired, together with the other simulation conditions by combining the simulation machines and the CTL properties.


Refinement model checking action systems CTL 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Abr96.
    Abrial J-R (1996) The B-Book: Assigning programs to meanings. Cambridge University Press, CambridgezbMATHGoogle Scholar
  2. Bac92.
    Back RJR (1992) Refinement of parallel and reactive programs. Technical Report Caltech-CS-TR-92-23, Computer Science Department, California Institute of TechnologyGoogle Scholar
  3. BGL+97.
    Butler M, Grundy J, Langbacka T, Ruksenas R, von Wright J (1997) The refinement calculator: Proof support for program refinement. In: Groves L, Reeves S (eds) Formal Methods Pacific ’97. Springer, Berlin, pp 40–61Google Scholar
  4. BKS89.
    Back RJR, Kurki-Suonio R (1989) Decentralization of process nets with centralized control. Distributed Comput 3(2):73–87CrossRefGoogle Scholar
  5. Bol05.
    Bolton C (2005) Using the Alloy analyzer to verify data refinement in Z. In: Derrick J, Boiten E (eds) REFINE 2005, vol 137, Issue 2 of ENTCS. Elsevier, Amsterdam, pp 23–44Google Scholar
  6. BS92.
    Back RJR, Sere K (1992) Superposition refinement of parallel algorithms. In: Parker K, Rose G (eds) Formal Description Techniques (FORTE IV). North-Holland, Amsterdam, pp 475–493Google Scholar
  7. BvW94.
    Back RJR, von Wright J (1994) Trace refinement of action systems. In: Jonsson B, Parrow J (eds) Concurrency theory (CONCUR ’94). LNCS, vol 836. Springer, Berlin, pp 367–384CrossRefGoogle Scholar
  8. BvW98.
    Back RJR, von Wright J (1998) Refinement calculus: A systematic introduction. Graduate Texts in Computer Science. Springer, BerlinGoogle Scholar
  9. DB01.
    Derrick J, Boiten E (2001) Refinement in Z and Object-Z, foundations and advanced applications. Springer, BerlinzbMATHGoogle Scholar
  10. dMOR+04.
    de Moura L, Owre S, Rueß H, Rushby J, Shankar N, Sorea M, Tiwari A (2004) SAL 2. In: Alur R, Peled D (eds) International Conference on Computer Aided Verification (CAV 2004). LNCS, vol 3114. Springer, Berlin, pp 496–500Google Scholar
  11. Eme90.
    Emerson EA (1990) Temporal and modal logic. In: van Leeuwen J (ed) Handbook of theoretical computer science, vol B. Elsevier, Amsterdam, pp 996–1072Google Scholar
  12. FW99.
    Fischer C, Wehrheim H (1999) Model-checking CSP-OZ specifications with FDR. In: Araki K, Galloway A, Taguchi K (eds) International Conference on Integrated Formal Methods (IFM’99). Springer, Berlin, pp 315–334Google Scholar
  13. He89.
    He J (1989) Process refinement. In: McDermid J (ed) The theory and practice of refinement. Butterworths, LondonGoogle Scholar
  14. Jac02.
    Jackson D (2002) Alloy: a lightweight object modelling notation. ACM Trans Software Eng Methodol 11(2):256–290CrossRefGoogle Scholar
  15. Jos88.
    Josephs M (1988) A state-based approach to communicating processes. Distributed Comput 3:9–18zbMATHCrossRefGoogle Scholar
  16. KS01.
    Kassel G, Smith G (2001) Model checking Object-Z classes: some experiments with FDR. In: Asia-Pacific Software Engineering Conference (APSEC 2001). IEEE Computer Society Press, WashingtonGoogle Scholar
  17. LB03.
    Leuschel M, Butler M (2003) ProB: a model checker for B. In: Araki K, Gnesi S, Mandrioli D (eds) Formal Methods Europe (FME 2003). LNCS, vol 2805. Springer, Berlin, pp 855–874Google Scholar
  18. LB05.
    Leuschel M, Butler M (2005) Automatic refinement checking for B. In: Lau K, Banach R (eds) International Conference on Formal Engineering Methods (ICFEM 2005). LNCS, vol 3785. Springer, Berlin, pp 345–359Google Scholar
  19. MS01.
    Mota A, Sampaio A (2001) Model-checking CSP-Z: strategy, tool support and industrial application. Sci Comput Program 40:59–96zbMATHCrossRefGoogle Scholar
  20. RF02.
    Robinson N, Fidge C (2002) Animation of data refinements. In: Strooper P, Muenchaisri P (eds) Asia-Pacific Software Engineering Conference (APSEC 2002). IEEE Computer Society Press, Washington, pp 137–146CrossRefGoogle Scholar
  21. Rob02.
    Robinson N (2002) Checking Z data refinement using an animation tool. In: Bert D, Bowen JP, Henson MC, Robinson K (eds) International Conference of Z and B users (ZB 2002). LNCS, vol 2272. Springer, Berlin, pp 62–81Google Scholar
  22. Rob03a.
    Robinson N (2003) Finding abstraction relations for data refinement. Technical Report TR03-03, Software Verification Research Centre, The University of QueenslandGoogle Scholar
  23. Rob03b.
    Robinson N (2003) Incremental derivation of abstraction relations for data refinement. In: Dong JS, Woodcock J (eds) International Conference on Formal Engineering Methods (ICFEM 2003). LNCS, vol 2885. Springer, Berlin, pp 246–265Google Scholar
  24. Ros98.
    Roscoe AW (1998) The theory and practice of concurrency. Series in Computer Science. Prentice-Hall, Englewood CliffsGoogle Scholar
  25. SD06.
    Smith G, Derrick J (2006) Verifying data refinements using a model checker. Formal Aspects Comput 18(3):264–287zbMATHCrossRefGoogle Scholar
  26. Smi00.
    Smith G (2000) The Object-Z Specification language. Advances in formal methods. Kluwer, DordrechtzbMATHGoogle Scholar
  27. Spi92.
    Spivey JM (1992) The Z notation: A reference manual 2nd edn. Prentice-Hall, Englewood CliffsGoogle Scholar
  28. SW06.
    Smith G, Winter K (2006) Simulation machines for checking action system refinements. In: Aichernig B, Boiten E, Derrick J, Groves L (eds) International Refinement Workshop (Refine 2006), vol 187 of ENTCS. Elsevier, Amsterdam, pp 75–90Google Scholar
  29. WS96.
    Waldén M, Sere K (1996) Refining action systems within B-Tool. In Formal Methods Europe (FME ’96). LNCS, vol 1051. Springer, Berlin, pp 84–103Google Scholar

Copyright information

© British Computer Society 2007

Authors and Affiliations

  1. 1.School of Information Technology and Electrical EngineeringThe University of QueenslandBrisbaneAustralia

Personalised recommendations