Skip to main content
Log in

Model checking action system refinements

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abrial J-R (1996) The B-Book: Assigning programs to meanings. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  2. Back RJR (1992) Refinement of parallel and reactive programs. Technical Report Caltech-CS-TR-92-23, Computer Science Department, California Institute of Technology

  3. 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–61

    Google Scholar 

  4. Back RJR, Kurki-Suonio R (1989) Decentralization of process nets with centralized control. Distributed Comput 3(2):73–87

    Article  Google Scholar 

  5. 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–44

    Google Scholar 

  6. 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–493

    Google Scholar 

  7. 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–384

    Chapter  Google Scholar 

  8. Back RJR, von Wright J (1998) Refinement calculus: A systematic introduction. Graduate Texts in Computer Science. Springer, Berlin

    Google Scholar 

  9. Derrick J, Boiten E (2001) Refinement in Z and Object-Z, foundations and advanced applications. Springer, Berlin

    MATH  Google Scholar 

  10. 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–500

    Google Scholar 

  11. Emerson EA (1990) Temporal and modal logic. In: van Leeuwen J (ed) Handbook of theoretical computer science, vol B. Elsevier, Amsterdam, pp 996–1072

    Google Scholar 

  12. 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–334

    Google Scholar 

  13. He J (1989) Process refinement. In: McDermid J (ed) The theory and practice of refinement. Butterworths, London

    Google Scholar 

  14. Jackson D (2002) Alloy: a lightweight object modelling notation. ACM Trans Software Eng Methodol 11(2):256–290

    Article  Google Scholar 

  15. Josephs M (1988) A state-based approach to communicating processes. Distributed Comput 3:9–18

    Article  MATH  Google Scholar 

  16. 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, Washington

  17. 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–874

    Google Scholar 

  18. 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–359

    Google Scholar 

  19. Mota A, Sampaio A (2001) Model-checking CSP-Z: strategy, tool support and industrial application. Sci Comput Program 40:59–96

    Article  MATH  Google Scholar 

  20. 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–146

    Chapter  Google Scholar 

  21. 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–81

    Google Scholar 

  22. Robinson N (2003) Finding abstraction relations for data refinement. Technical Report TR03-03, Software Verification Research Centre, The University of Queensland

  23. 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–265

    Google Scholar 

  24. Roscoe AW (1998) The theory and practice of concurrency. Series in Computer Science. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  25. Smith G, Derrick J (2006) Verifying data refinements using a model checker. Formal Aspects Comput 18(3):264–287

    Article  MATH  Google Scholar 

  26. Smith G (2000) The Object-Z Specification language. Advances in formal methods. Kluwer, Dordrecht

    MATH  Google Scholar 

  27. Spivey JM (1992) The Z notation: A reference manual 2nd edn. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  28. 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–90

    Google Scholar 

  29. 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–103

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Graeme Smith.

Additional information

B. K. Aichernig, E. A. Boiten, M. J. Butler, J. Derrick and L. Groves

Rights and permissions

Reprints and permissions

About this article

Cite this article

Smith, G., Winter, K. Model checking action system refinements. Form Asp Comp 21, 155–186 (2009). https://doi.org/10.1007/s00165-007-0053-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-007-0053-4

Keywords

Navigation