Skip to main content

Refinement in Object-Z

  • Chapter
Refinement in Z and Object-Z
  • 742 Accesses

Abstract

In this chapter we adapt the refinement rules derived for Z to Object-Z specifications consisting of just a single class, taking into account the consequences of the different interpretation of preconditions. We also consider how weak refinement and non-atomic refinement may be applied to Object-Z. Finally, we discuss the relation between refinement, and two other important concepts in object orientation: subtyping and inheritance.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    There is an implicit fairness assumption in the formulation of weak refinement in that if an internal operation is enabled then it is assumed that it will eventually occur. This is the same assumption underlying the use of internal events in many process algebras.

  2. 2.

    Failing to use renaming here would identify all four digits, limiting the specification to a very commonly used and thus very insecure subset of pin codes.

References

  1. America, P. (1990). A parallel object-oriented language with inheritance and subtyping. In Proceedings of the OOPSLA/ECOOP ’90 Conference on Object-Oriented Programming Systems, Languages and Applications (pp. 161–168). Published as ACM SIGPLAN Notices, volume 25, number 10.

    Google Scholar 

  2. Back, R. J. R., & von Wright, J. (1994). Trace refinement of action systems. In B. Jonsson & J. Parrow (Eds.), CONCUR’94: Concurrency Theory, Uppsala, Sweden, August 1994. Lecture Notes in Computer Science: Vol. 836 (pp. 367–384). Berlin: Springer.

    Google Scholar 

  3. Bolton, C., & Davies, J. (2002). Refinement in Object-Z and CSP. In M. Butler, L. Petre, & K. Sere (Eds.), Integrated Formal Methods (IFM 2002). Lecture Notes in Computer Science: Vol. 2335 (pp. 225–244). Berlin: Springer.

    Chapter  Google Scholar 

  4. Bonsangue, M., Kok, J., & Sere, K. (1999) Developing object-based distributed systems. In Ciancarini et al. [7] (pp. 19–34).

    Google Scholar 

  5. Bowen, J. P. & Hinchey, M. G. (Eds.) (1995). ZUM’95: the Z Formal Specification Notation. Lecture Notes in Computer Science: Vol. 967. Limerick: Springer.

    MATH  Google Scholar 

  6. Canver, E., & von Henke, F. W. (1999) Formal development of object-based systems in a temporal logic setting. In Ciancarini et al. [7] (pp. 419–436).

    Google Scholar 

  7. Ciancarini, P., Fantechi, A., & Gorrieri, R. (Eds.) (1999). Formal Methods for Open Object-Based Distributed Systems. Dordrecht: Kluwer Academic.

    MATH  Google Scholar 

  8. Cusack, E. (1991). Inheritance in object oriented Z. In P. America (Ed.), ECOOP ’91—Object-Oriented Programming. Lecture Notes in Computer Science: Vol. 512 (pp. 167–179). Berlin: Springer.

    Google Scholar 

  9. Derrick, J., & Wehrheim, H. (2003). Using coupled simulations in non-atomic refinement. In D. Bert, J. P. Bowen, S. King, & M. Waldén (Eds.), ZB 2003: Formal Specification and Development in Z and B. Lecture Notes in Computer Science: Vol. 2651 (pp. 127–147). Berlin: Springer.

    Chapter  Google Scholar 

  10. Duke, R., Bailes, C., & Smith, G. (1996). A blocking model for reactive objects. Formal Aspects of Computing, 8(3), 347–368.

    Article  MATH  Google Scholar 

  11. Fischer, C., & Wehrheim, H. (2000). Behavioural subtyping relations for object-oriented formalisms. In T. Rus (Ed.), Algebraic Methodology and Software Technology. Lecture Notes in Computer Science: Vol. 1816 (pp. 469–483). Berlin: Springer.

    Chapter  Google Scholar 

  12. Fitzgerald, J. A., Jones, C. B., & Lucas, P. (Eds.) (1997). FME’97: Industrial Application and Strengthened Foundations of Formal Methods. Lecture Notes in Computer Science: Vol. 1313. Berlin: Springer.

    Google Scholar 

  13. Hinchey, M. G. & Liu, S. (Eds.) (1997). First International Conference on Formal Engineering Methods (ICFEM’97). Hiroshima, Japan, November 1997. Los Alamitos: IEEE Comput. Soc.

    Google Scholar 

  14. Järvinen, H. M., & Kurki-Suonio, R. (1991). DisCo specification language: marriage of actions and objects. In 11th International Conference on Distributed Computing Systems, Washington, DC, USA, May 1991 (pp. 142–151). Los Alamitos: IEEE Comput. Soc.

    Google Scholar 

  15. Lamport, L. (1994). The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3), 872–923.

    Article  Google Scholar 

  16. Liskov, B., & Wing, J. M. (1995) Specifications and their use in defining subtypes. In Bowen and Hinchey [5] (pp. 245–263).

    Google Scholar 

  17. Smith, G. (1995). A fully abstract semantics of classes for Object-Z. Formal Aspects of Computing, 7(3), 289–313.

    Article  Google Scholar 

  18. Smith, G. (1997) A semantic integration of Object-Z and CSP for the specification of concurrent systems. In Fitzgerald et al. [12] (pp. 62–81).

    Google Scholar 

  19. Smith, G., & Derrick, J. (1997) Refinement and verification of concurrent systems specified in Object-Z and CSP. In Hinchey and Liu [13] (pp. 293–302).

    Google Scholar 

  20. Strulo, B. (1995) How firing conditions help inheritance. In Bowen and Hinchey [5] (pp. 264–275).

    Google Scholar 

  21. Wehrheim, H. (2000). Behavioural subtyping and property preservation. In S. F. Smith & C. L. Talcott (Eds.), Formal Methods for Open Object-Based Distributed Systems (FMOODS 2000) (pp. 213–231). Dordrecht: Kluwer Academic.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag London

About this chapter

Cite this chapter

Derrick, J., Boiten, E.A. (2014). Refinement in Object-Z. In: Refinement in Z and Object-Z. Springer, London. https://doi.org/10.1007/978-1-4471-5355-9_16

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-5355-9_16

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-5354-2

  • Online ISBN: 978-1-4471-5355-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics