Skip to main content

Introducing Objects through Refinement

  • Conference paper
Book cover FM 2008: Formal Methods (FM 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5014))

Included in the following conference series:

  • 676 Accesses

Abstract

We present a strategy for using the existing theory of class refinement in Object-Z to introduce an arbitrary number of object instances into a specification. Since class refinement applies only to a single class, the key part of the strategy is the use of references to objects of the class being refined. Once object instances have been introduced through local class refinements in this way, they can be turned into foreign class instantiations through the application of straight-forward equivalence preserving transformations. We introduce a set of logical classifiers to allow for the precise determination of which parts of the specification logic must be moved into the foreign class.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Cornélio, M., Cavalcanti, A., Sampaio, A.: Refactoring by Transformation. Electronic Notes in Theoretical Computer Science 70(3) (2002)

    Google Scholar 

  2. Cruz, A.M., Barbosa, L.S., Oliveira, J.N.: From algebras to objects: Generation and composition. J. UCS 11(10), 1580–1612 (2005)

    Google Scholar 

  3. Derrick, J., Boiten, E.: Refinement in Z and Object-Z: Foundations and Advanced Applications. FACIT Series. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  4. Fischer, C.: CSP-OZ – a combination of CSP and Object-Z. In: Bowman, H., Derrick, J. (eds.) FMOODS 1997, pp. 423–438. Chapman and Hall, Boca Raton (1997)

    Google Scholar 

  5. Fitzgerald, J., Larsen, P.G.: Modelling Systems: Practical Tools and Techniques for Software Development. Cambridge University Press, Cambridge (1998)

    Google Scholar 

  6. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison–Wesley, Reading (1999)

    Google Scholar 

  7. Lano, K.: Formal Object-Oriented Development. Springer, Heidelberg (1995)

    Google Scholar 

  8. Lano, K., Goldsack, S.: Refinement of Distributed Object Systems. In: Najm, E., Stefani, J.-B. (eds.) FMOODS 1996, pp. 99–114. Chapman and Hall, Boca Raton (1996)

    Google Scholar 

  9. McComb, T.: Refactoring Object-Z Specifications. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 69–83. Springer, Heidelberg (2004)

    Google Scholar 

  10. McComb, T., Smith, G.: Compositional class refinement in Object-Z. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 205–220. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  11. Opdyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, Computer Science Department, Urbana-Champaign, IL, USA (May 1992)

    Google Scholar 

  12. Periyasamy, K., Mathew, C.: Mapping a functional specification to an object-oriented specification in software re-engineering. In: ACM Conference on Computer Science, pp. 24–33 (1996)

    Google Scholar 

  13. Ramos, R., Sampaio, A., Mota, A.: Transformation laws for UML-RT. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 123–137. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  14. Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  15. Ruhroth, T., Wehrheim, H.: Refactoring Object-Oriented Specifications with Data and Processes. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 236–251. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  16. Smith, G.: The Object-Z Specification Language. Kluwer Academic Publishers, Dordrecht (2000)

    MATH  Google Scholar 

  17. Smith, G.: Introducing Reference Semantics via Refinement. In: George, C.W., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 588–599. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jorge Cuellar Tom Maibaum Kaisa Sere

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

McComb, T., Smith, G. (2008). Introducing Objects through Refinement. In: Cuellar, J., Maibaum, T., Sere, K. (eds) FM 2008: Formal Methods. FM 2008. Lecture Notes in Computer Science, vol 5014. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68237-0_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-68237-0_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-68235-6

  • Online ISBN: 978-3-540-68237-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics