Introducing Objects through Refinement

  • Tim McComb
  • Graeme Smith
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5014)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Cornélio, M., Cavalcanti, A., Sampaio, A.: Refactoring by Transformation. Electronic Notes in Theoretical Computer Science 70(3) (2002)Google Scholar
  2. 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. 3.
    Derrick, J., Boiten, E.: Refinement in Z and Object-Z: Foundations and Advanced Applications. FACIT Series. Springer, Heidelberg (2001)MATHGoogle Scholar
  4. 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. 5.
    Fitzgerald, J., Larsen, P.G.: Modelling Systems: Practical Tools and Techniques for Software Development. Cambridge University Press, Cambridge (1998)Google Scholar
  6. 6.
    Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison–Wesley, Reading (1999)Google Scholar
  7. 7.
    Lano, K.: Formal Object-Oriented Development. Springer, Heidelberg (1995)Google Scholar
  8. 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. 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. 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)CrossRefGoogle Scholar
  11. 11.
    Opdyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, Computer Science Department, Urbana-Champaign, IL, USA (May 1992)Google Scholar
  12. 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. 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)CrossRefGoogle Scholar
  14. 14.
    Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  15. 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)CrossRefGoogle Scholar
  16. 16.
    Smith, G.: The Object-Z Specification Language. Kluwer Academic Publishers, Dordrecht (2000)MATHGoogle Scholar
  17. 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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Tim McComb
    • 1
  • Graeme Smith
    • 2
  1. 1.ARC Centre of Excellence in Bioinformatics Institute for Molecular BioscienceThe University of QueenslandAustralia
  2. 2.School of Information Technology and Electrical EngineeringThe University of QueenslandAustralia

Personalised recommendations