Skip to main content
Log in

Specification, Refinement and Verification of Concurrent Systems—An Integration of Object-Z and CSP

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

This paper presents a method of formally specifying, refining and verifying concurrent systems which uses the object-oriented state-based specification language Object-Z together with the process algebra CSP. Object-Z provides a convenient way of modelling complex data structures needed to define the component processes of such systems, and CSP enables the concise specification of process interactions. The basis of the integration is a semantics of Object-Z classes identical to that of CSP processes. This allows classes specified in Object-Z to be used directly within the CSP part of the specification.

In addition to specification, we also discuss refinement and verification in this model. The common semantic basis enables a unified method of refinement to be used, based upon CSP refinement. To enable state-based techniques to be used for the Object-Z components of a specification we develop state-based refinement relations which are sound and complete with respect to CSP refinement. In addition, a verification method for static and dynamic properties is presented. The method allows us to verify properties of the CSP system specification in terms of its component Object-Z classes by using the laws of the CSP operators together with the logic for Object-Z.

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. M. Benjamin, “A message passing system: An example of combining CSP and Z,” in J.E. Nicholls (Ed.), Z User Workshop, Workshops in Computing, Springer-Verlag, Oxford, 1989, pp. 221–228.

    Google Scholar 

  2. E.A. Boiten, H. Bowman, J. Derrick, and M.W.A. Steen, “Viewpoint consistency in Z and LOTOS: A case study,” in J. Fitzgerald, C.B. Jones, and P. Lucas (Eds.), Formal Methods Europe (FME '97), Graz, Austria, September 1997, Lecture Notes in Computer Science, Vol. 1313, Springer-Verlag, pp. 644–664.

    Google Scholar 

  3. T. Bolognesi and E. Brinksma, “Introduction to the ISO specification language LOTOS,” Computer Networks and ISDN Systems, Vol. 14, No. 1, pp. 25–29, 1998.

    Google Scholar 

  4. C. Bolton, J. Davies, and J.C.P. Woodcock, “On the refinement and simulation of data types and processes,” in K. Araki, A. Galloway, and K. Taguchi (Eds.), International Conference on Integrated Formal Methods 1999 (IFM '99), Springer, July 1999, pp. 273–292.

  5. S.D. Brookes, C.A.R. Hoare, and A.W. Roscoe, “A theory of communicating sequential processes,” Journal of the ACM, Vol. 31, No. 3, pp. 560–599, 1984.

    Google Scholar 

  6. S.D. Brookes and A.W. Roscoe, “An improved failures model for communicating processes,” in Pittsburgh Symposium on Concurrency, Lecture Notes in Computer Science, Vol. 197, Springer-Verlag, 1985, pp. 281–305.

    Google Scholar 

  7. M.J. Butler, “A CSP Approach to Action Systems,” Ph.D. Thesis, Oxford University, 1992.

  8. M.J. Butler and C.C. Morgan, “Action systems, unbounded nondeterminism, and infinite traces,” Formal Aspects of Computing, Vol. 7, No. 1, pp. 37–53, 1995.

    Google Scholar 

  9. J. Derrick and E.A. Boiten, “Separating component and context specification using promotion,” in K. Araki, A. Galloway, and K. Taguchi (Eds.), International Conference on Integrated Formal Methods 1999 (IFM'99), Springer, July 1999, pp. 293–312.

  10. J. Derrick, E.A. Boiten, H. Bowman, and M.W.A. Steen,“Weak refinement in Z,” in J.P. Bowen, M.G. Hinchey, and D. Till (Eds.), ZUM'97: The Z formal specification notation, Lecture Notes in Computer Science, Vol. 1212, Springer-Verlag, Reading, April 1997, pp. 369–388.

    Google Scholar 

  11. J. Derrick, E.A. Boiten, H. Bowman, and M.W.A. Steen, “Specifying and refining internal operations in Z,” Formal Aspects of Computing, Vol. 10, pp. 125–159, 1998.

    Google Scholar 

  12. J. Derrick, E.A. Boiten, H. Bowman, and M.W.A. Steen, “Supporting ODP—Translating LOTOS to Z,” in First IFIP InternationalWorkshop on Formal Methods for Open Object-based Distributed Systems, Chapman & Hall, 1996.

  13. D. Duke and R. Duke, “Towards a semantics for Object-Z,” in D. Bjorner, C.A.R. Hoare, and H. Langmaack (Eds.), VDM'90: VDM and Z! Lecture Notes in Computer Science, Vol. 428, Springer-Verlag, 1990, pp. 242–262.

    Google Scholar 

  14. R. Duke, G. Rose, and G. Smith, “Object-Z: A specification language advocated for the description of standards,” Computer Standards and Interfaces, Vol. 17, pp. 511–533, 1995.

    Google Scholar 

  15. H. Ehrich, J. Goguen, and A. Sernadas, “A categorical theory of objects as observed processes,” in J.W. Bakker, W.P. de Roever, and G. Rozenberg (Eds.), Foundations of Object-Oriented Languages, Lecture Notes in Computer Science, Vol. 489, Springer-Verlag, 1991, pp. 203–228.

    Google Scholar 

  16. M. Nielsen et al., “The RAISE language, methods and tools,” Formal Aspects of Computing, Vol. 1, pp. 85–114, 1989.

    Google Scholar 

  17. C. Fischer, “CSP-OZ—A combination of CSP and Object-Z,” in H. Bowman and J. Derrick (Eds.), Second IFIP International Conference on Formal Methods for Open Object-based Distributed Systems, Chapman & Hall, July 1997, pp. 423–438.

  18. C. Fischer and G. Smith, “Combining CSP and Object-Z: Finite or infinite trace semantics,” in T. Higashino and A. Togashi (Eds.), FORTE/PSTV'97, Osaka, Japan, November 1997. Chapman & Hall, pp. 503–518.

  19. J. He, “Process refinement,” in J. McDermid (Ed.), The Theory and Practice of Refinement, Butterworths, 1989.

  20. M. Heisel and C. Sühl, “Formal specification of safety-critical software with Z and real-time CSP,” in E. Schoitsch (Ed.), Proceedings 15th International Conference on Computer Safety, Reliability and Security, Springer, 1996, pp. 31–45.

  21. C.A.R. Hoare, Communicating Sequential Processes, International Series in Computer Science, Prentice-Hall, 1985.

  22. ITU Recommendation X.901–904, Open Distributed Processing—Reference Model—Parts 1–4, July 1995.

  23. C.B. Jones, Systematic SoftwareDevelopment usingVDM, International Series in Computer Science, Prentice-Hall, 1986.

  24. M.B. Josephs, “A state-based approach to communicating processes,” Distributed Computing, Vol. 3, pp. 9–18, 1988.

    Google Scholar 

  25. Formal Systems (Europe) Ltd., Failures-Divergences Refinement: FDR 2, Oct. 1997, FDR2 User Manual.

  26. I. MacColl, “Specifying interactive systems in Object-Z and CSP,” in K. Araki, A. Galloway, and K. Taguchi (Eds.), International Conference on Integrated Formal Methods (IFM'99), Springer-Verlag, 1999, pp. 335–352.

  27. B.P. Mahony and J.S. Dong, “Blending Object-Z and timed CSP: An introduction to TCOZ,” in K. Futatsugi, R. Kemmerer, and K. Torii (Eds.), 20th International Conference on Software Engineering (ICSE'98), IEEE Press, 1998.

  28. B.P. Mahony and J.S. Dong, “Sensors and actuators in TCOZ,” in J.M. Wing, J.C.P. Woodcock, and J. Davies (Eds.), World Congress on Formal Methods (FM'99), Springer-Verlag, 1999, pp. 1166–1185.

  29. R. Milner, Communication and Concurrency, International Series in Computer Science, Prentice-Hall, 1989.

  30. A.W. Roscoe, The Theory and Practice of Concurrency, International Series in Computer Science, Prentice-Hall, 1998.

  31. A.W. Roscoe, “An alternative order for the failures model,” Journal of Logic and Computation, Vol. 3, No. 2, 1993.

  32. A.W. Roscoe, “Unbounded nondeterminism in CSP,” Journal of Logic and Computation, Vol. 3, No. 2, 1993.

  33. A.W. Roscoe and G. Barrett, “Unbounded nondeterminism in CSP,” in Mathematical Foundations of Programming Semantics, Lecture Notes in Computer Science, Vol. 442, Springer-Verlag, 1989, pp. 160–193.

    Google Scholar 

  34. M. Shaw and D. Garlan, “Formulations and formalisms in software architecture,” in J. van Leeuwen (Ed.), Computer Science Today: Recent Trends and Developments, Lecture Notes in Computer Science, Vol. 1000, Springer-Verlag, 1996, pp. 307–323.

    Google Scholar 

  35. G. Smith, “Extending W for Object-Z,” in J. Bowen and M. Hinchey (Eds.), 9th International Conference of Z Users, Lecture Notes in Computer Science, Vol. 967, Springer-Verlag, 1995, pp. 276–295.

    Google Scholar 

  36. G. Smith, “Formal verification of Object-Z specifications,” Technical Report 95-55, Software Verification Research Centre, Department of Computer Science, University of Queensland, Australia, 1995.

    Google Scholar 

  37. G. Smith, “A fully abstract semantics of classes for Object-Z,” Formal Aspects of Computing, Vol. 7, No. 3, pp. 289–313, 1995.

    Google Scholar 

  38. G. Smith, “A semantic integration of Object-Z and CSP for the specification of concurrent systems,” in J. Fitzgerald, C.B. Jones, and P. Lucas (Eds.), Formal Methods Europe (FME '97), Graz, Austria, Sept. 1997, Lecture Notes in Computer Science, Vol. 1313, Springer-Verlag, pp. 62–81.

    Google Scholar 

  39. G. Smith, The Object-Z Specification Language, Kluwer Academic Publishers, 2000.

  40. G. Smith and J. Derrick, “Refinement and verification of concurrent systems specified in Object-Z and CSP,” in M. Hinchey and Shaoying Liu (Eds.), First IEEE International Conference on Formal Engineering Methods (ICFEM '97), Hiroshima, Japan, Nov. 1997, IEEE Computer Society, pp. 293–302.

  41. J.M. Spivey, The Z Notation: A Reference Manual, 2nd Ed., International Series in Computer Science, Prentice-Hall, 1992.

  42. C. Sühl, “RT-Z: An integration of Z and timed CSP,” in K. Araki, A. Galloway, and K. Taguchi (Eds.), International Conference on Integrated Formal Methods (IFM'99), Springer-Verlag, 1999, pp. 29–48.

  43. H. Tej and B. Wolff, “A corrected failure-divergence-model for CSP in Isabelle/HOL,” in J. Fitzgerald, C.B. Jones, and P. Lucas (Eds.), Formal Methods Europe (FME '97), Lecture Notes in Computer Science, Vol. 1313, Springer-Verlag, 1997, pp. 318–337.

    Google Scholar 

  44. F.W. Vaandrager, “Process algebra semantics for POOL,” Technical Report CS-R8629, Centre for Mathematics and Computer Science, Amsterdam, The Netherlands, 1991.

    Google Scholar 

  45. M. Weber, “Combining statecharts and Z for the design of safety-critical systems,” in M.-C. Gaudel and J.C.P. Woodcock (Eds.), FME '96—Industrial Benefits and Advances in Formal Methods, Lecture Notes in Computer Science, Vol. 1051, Springer-Verlag, 1996, pp. 307–326.

    Google Scholar 

  46. J.C.P. Woodcock and S.M. Brien, “W: A logic for Z,” in J.E. Nicholls (Ed.), Z User Workshop, Workshops in Computing, Springer-Verlag, 1992, pp. 77–98.

  47. J.C.P. Woodcock and J. Davies, Using Z: Specification, Refinement, and Proof, International Series in Computer Science, Prentice-Hall, 1996.

  48. J.C.P. Woodcock and C.C. Morgan, “Refinement of state-based concurrent systems,” in D. Bjorner, C.A.R. Hoare, and H. Langmaack (Eds.), VDM'90: VDM and Z! Lecture Notes in Computer Science, Vol. 428, Springer-Verlag, 1990.

  49. A. Yonezawa and M. Tokoro (Eds.), Object-Oriented Concurrent Programming, MIT Press, 1987.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Smith, G., Derrick, J. Specification, Refinement and Verification of Concurrent Systems—An Integration of Object-Z and CSP. Formal Methods in System Design 18, 249–284 (2001). https://doi.org/10.1023/A:1011269103179

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1011269103179

Navigation