Model checking action system refinements
2009, Formal Aspects of Computing
https://doi.org/10.1007/S00165-007-0053-4Abstract
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 ...
References (43)
- CS1: p=4 AND acr1 --> aw'=aw+1+1; acr1'=FALSE; p'=2;
- NS1: p=4 AND NOT(acr1) --> acr1' IN {t:BOOLEAN|true}; p'=2;
- % % no abstract stuttering actions (these would be enabled in p=2 and p=6)
- %----------- [] BS0: (p=1 OR p=4 OR p=5) AND ccr0 AND cpc0=0 --> cb0'=TRUE; cpc0'=1;
- BS1: (p=1 OR p=4 OR p=5) AND ccr1 AND cpc1=0 --> cb1'=TRUE; cpc1'=1;
- TS0: (p=1 OR p=4 OR p=5) AND cpc0=1 --> ct'=0; cpc0'=2;
- TS1: (p=1 OR p=4 OR p=5) AND cpc1=1 --> ct'=1; cpc1'=2;
- CCS0: p=3 AND cpc0=2 AND (NOT(cb1) OR ct=1) --> cw'=cw+0+1; ccr0'=FALSE; cpc0'=3; p'=4;
- CCS1: p=3 AND cpc1=2 AND (NOT(cb0) OR ct=0) --> cw'=cw+1+1; ccr1'=FALSE; cpc1'=3; p'=4;
- BR0: (p=1 OR p=4 OR p=5) AND cpc0=3 --> cpc0'=0; cb0'=FALSE;
- BR1: (p=1 OR p=4 OR p=5) AND cpc1=3 --> cpc1'=0; cb1'=FALSE;
- CNS0: p=3 AND NOT(ccr0) --> ccr0' IN {t:BOOLEAN|true}; p'=4;
- CNS1: p=3 AND NOT(ccr1) --> ccr1' IN {b:BOOLEAN|true}; p'=4;
- ELSE --> ] END; % of Module AandC REFINE: THEOREM AandC |-AG(p=1 => EX(p=2 AND EF(R
- AND (NOT(Aaborting) => (AG(p=4 => EX(p=2 AND EF(R
- AND (p=3 AND Caborting => Aaborting) AND (p=3 AND Cterminating => (Aaborting OR Aterminating)) AND (EX(EG(p=5)) => (Aaborting OR EX(EG(p=6))));
- Abrial J-R (1996) The B-Book: Assigning programs to meanings. Cambridge University Press, Cambridge
- Back RJR (1992) Refinement of parallel and reactive programs. Technical Report Caltech-CS-TR-92-23, Computer Science Department, California Institute of Technology [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-61
- Back RJR, Kurki-Suonio R (1989) Decentralization of process nets with centralized control. Distributed Comput 3(2):73-87
- 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
- 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
- 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
- Back RJR, von Wright J (1998) Refinement calculus: A systematic introduction. Graduate Texts in Computer Science. Springer, Berlin
- Derrick J, Boiten E (2001) Refinement in Z and Object-Z, foundations and advanced applications. Springer, Berlin [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-500
- Emerson EA (1990) Temporal and modal logic. In: van Leeuwen J (ed) Handbook of theoretical computer science, vol B. Elsevier, Amsterdam, pp 996-1072
- 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
- He J (1989) Process refinement. In: McDermid J (ed) The theory and practice of refinement. Butterworths, London
- Jackson D (2002) Alloy: a lightweight object modelling notation. ACM Trans Software Eng Methodol 11(2):256-290
- Josephs M (1988) A state-based approach to communicating processes. Distributed Comput 3:9-18
- 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
- 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
- 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
- Mota A, Sampaio A (2001) Model-checking CSP-Z: strategy, tool support and industrial application. Sci Comput Program 40:59-96
- Robinson N, Fidge C (2002) Animation of data refinements. In: Strooper P, Muenchaisri P (eds) Asia-Pacific Software Engi- neering Conference (APSEC 2002). IEEE Computer Society Press, Washington, pp 137-146
- 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
- Robinson N (2003) Finding abstraction relations for data refinement. Technical Report TR03-03, Software Verification Research Centre, The University of Queensland
- Robinson N (2003) Incremental derivation of abstraction relations for data refinement. In: Dong JS, Woodcock J (eds) Inter- national Conference on Formal Engineering Methods (ICFEM 2003). LNCS, vol 2885. Springer, Berlin, pp 246-265
- Roscoe AW (1998) The theory and practice of concurrency. Series in Computer Science. Prentice-Hall, Englewood Cliffs
- Smith G, Derrick J (2006) Verifying data refinements using a model checker. Formal Aspects Comput 18(3):264-287
- Smith G (2000) The Object-Z Specification language. Advances in formal methods. Kluwer, Dordrecht
- Spivey JM (1992) The Z notation: A reference manual 2nd edn. Prentice-Hall, Englewood Cliffs
- 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
- 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