Formal Aspects of Computing

, Volume 24, Issue 3, pp 393–416 | Cite as

Temporal-logic property preservation under Z refinement

Original Article

Abstract

Formal specification languages such as Z, B and VDM are used in the incremental development of abstract specifications (suitable for establishing required properties) to more concrete specifications (resembling the final implementation). This incremental development process, known as refinement, preserves all observable properties of the original abstract specification. Recent research has looked at applying temporal-logic model checking to such specification languages. While this assists in the establishment of properties of the abstract specification, temporal-logic properties typically refer to state variables which are regarded as non-observable. Hence, such properties are not guaranteed to be preserved by refinement. This paper investigates the classes of temporal-logic properties which are preserved by refinement, and for some of those properties that are not preserved in general, the restrictions on the refinement process under which they are preserved. Results are presented for the temporal logics LTL, CTL and the μ-calculus and the formal specification language Z. They apply equally, however, to related formal specification languages such as B and VDM.

Keywords

Refinement Temporal logic Property preservation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abr96.
    Abrial J-R (1996) The B-book: assigning programs to meanings. Cambridge University Press, LondonMATHCrossRefGoogle Scholar
  2. BD06.
    Bolton C, Davies J (2006) A singleton failures semantics for communicating sequential processes. Form Asp Comput 18(2): 181–210MATHCrossRefGoogle Scholar
  3. BS01.
    Bradfield J, Stirling C (2001) Modal logics and mu-calculi: an introduction. In: Bergstra JA, Ponse A, Smolka SA (eds) Handbook of process algebra. Elsevier, Amsterdam, pp 293–330Google Scholar
  4. CGL94.
    Clarke E, Grumberg O, Long D (1994) Model checking and abstraction. ACM Trans Program Lang Syst 16(5): 1512–1542CrossRefGoogle Scholar
  5. DB01.
    Derrick J, Boiten E (2001) Refinement in Z and Object-Z. Foundations and advanced applications. Springer, New YorkGoogle Scholar
  6. DB03.
    Derrick J, Boiten E (2003) Relational concurrent refinement. Form Asp Comput 15(1): 182–214MATHCrossRefGoogle Scholar
  7. De 87.
    De Nicola R (1987) Extensional equivalences for transition systems. Acta Inf 24: 211–237MathSciNetMATHGoogle Scholar
  8. dE98.
    de Roever W-P, Engelhardt K (1998) Data refinement: model-oriented proof methods and their comparison. CUPGoogle Scholar
  9. DGG97.
    Dams D, Gerth R, Grumberg O (1997) Abstract interpretation of reactive systems. ACM Trans Program Lang Syst 19(2): 253–291CrossRefGoogle Scholar
  10. DH84.
    De Nicola R, Hennessy M (1984) Testing equivalences for processes. Theor Comput Sci 34: 83–133MathSciNetMATHCrossRefGoogle Scholar
  11. DJK03.
    Darlot C, Julliand J, Kouchnarenko O (2003) Refinement preserves PLTL properties. In: Bert D, Bowen J, King S, Waldén M (eds) International conference of Z and B users (ZB 2003). LNCS, vol 2651. Springer, New York, pp 408–420Google Scholar
  12. DNS06.
    Derrick J, North S, Simons A (2006) Issues in implementing a model checker for Z. In: Lui Z, He J (eds) International conference on formal engineering methods (ICFEM 2006). LNCS, vol 4260. Springer, New York, pp 678–696Google Scholar
  13. DNS08.
    Derrick J, North S, Simons A (2008) Z2SAL—building a model checker for Z. In: Börger E, Butler M, Bowen J, Boca P (eds) Abstract state machines, B and Z (ABZ 2008). LNCS, vol 5238. Springer, New York, pp 280–293Google Scholar
  14. Eme90.
    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
  15. GM93.
    Gardiner PHB, Morgan C (1993) A single complete rule for data refinement. Form Asp Comput 5(4): 367–382MATHCrossRefGoogle Scholar
  16. HHS86.
    He J, Hoare CAR, Sanders JW (1986) Data refinement refined. In: European symposium on programming (ESOP ’86). Springer, New York, pp 187–196Google Scholar
  17. HHS87.
    Hoare CAR, He J, Sanders JW (1987) Prespecification in data refinement. Inf Process Lett 25(2): 71–76MathSciNetMATHCrossRefGoogle Scholar
  18. HJS01.
    Huth M, Jagadeesan R, Schmidt D (2001) Modal transition systems: a foundation for three-valued program analysis. In: Sands D (ed) 10th European symposium on programming (ESOP 2001). LNCS, vol 2028, pp 155–169Google Scholar
  19. Jon90.
    Jones CB (1990) Systematic software development using VDM. Prentice Hall, Upper Saddle RiverGoogle Scholar
  20. Kle02.
    Kleene SC (2002) Mathematical logic. Dover, New YorkMATHGoogle Scholar
  21. KMP94.
    Kesten Y, Manna Z, Pnueli A (1994) Temporal verification of simulation and refinement. In: A decade of concurrency, reflections and perspectives, REX School/symposium. Springer, London, pp 273–346Google Scholar
  22. Koz83.
    Kozen D (1983) Results on the propositional μ-calculus. Theor Comput Sci 27: 333–354MathSciNetMATHCrossRefGoogle Scholar
  23. Lam94.
    Lamport L (1994) The temporal logic of actions. ACM Trans Program Lang Syst 16(3): 872–923CrossRefGoogle Scholar
  24. LGS95.
    Loiseaux C, Graf S, Sifakis J, Bouajjani A, Bensalem S (1995) Property preserving abstractions for the verification of concurrent systems. Form Methods Syst Des 6(1): 11–44MATHCrossRefGoogle Scholar
  25. LMC01.
    Leuschel M, Massart T, Currie A (2001) How to make FDR Spin: LTL model checking of CSP using refinement. In: Oliviera JN, Zave P (eds) Formal methods Europe (FME 2001). LNCS, vol 2021. Springer, New York, pp 99–118Google Scholar
  26. LV95.
    Lynch N, Vaandrager F (1995) Forward and backward simulations I: untimed systems. Inf Comput 121(2): 214–233MathSciNetMATHCrossRefGoogle Scholar
  27. Par81.
    Park D (1981) Concurrency and automata on infinite sequences. In: Deussen P (ed) 5th GI conference on theoretical computer science. LNCS, vol 104. Springer, New York, pp 167–183Google Scholar
  28. Pet81.
    Peterson GL (1981) Myths about the mutual exclusion problem. Inf Process Lett 12(3): 115–116MATHCrossRefGoogle Scholar
  29. SD04.
    Smith G, Derrick J (2004) Linear temporal logic and Z refinement. In: Rattray C, Maharaj S (eds) Algebraic methodology and software technology (AMAST 2004). LNCS, vol 3116. Springer, New York, pp 117–131Google Scholar
  30. Smi00.
    Smith G (2000) The Object-Z specification language. Advances in formal methods. Kluwer, DordrechtGoogle Scholar
  31. Spi92.
    Spivey JM (1992) The Z notation: a reference manual, 2nd edn. Prentice Hall, Upper Saddle RiverGoogle Scholar
  32. SW03.
    Smith G, Winter K (2003) Proving temporal properties of Z specificatons using abstraction. In: Bert D, Bowen J, King S, Waldén M (eds) International conference of Z and B users (ZB 2003). LNCS, vol 2651. Springer, New York, pp 260–279Google Scholar
  33. SW05.
    Smith G, Wildman L (2005) Model checking Z specifications using SAL. In: Treharne H, King S, Henson M, Schneider S (eds) International conference of Z and B users (ZB 2005). LNCS, vol 3455. Springer, New York, pp 85–103Google Scholar
  34. vG01.
    van Glabbeek RJ (2001) The linear time-branching time spectrum I. In: Bergstra JA, Ponse A, Smolka SA (eds) Handbook of process algebra, chap 1. Elsevier, Amsterdam, pp 3–99Google Scholar
  35. WD96.
    Woodcock JCP, Davies J (1996) Using Z: specification, refinement, and proof. Prentice Hall, Upper Saddle RiverGoogle Scholar

Copyright information

© British Computer Society 2011

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of SheffieldSheffieldUK
  2. 2.School of Information Technology and Electrical EngineeringThe University of QueenslandBrisbaneAustralia

Personalised recommendations