Abstract
The behaviour of an object depends not only upon its class but also upon the environment within which it operates: the class specifies all possible behaviour; the environment determines a framework for behaviour. An object’s behaviour must fall within the framework set by the environment but subject to the possibilities determined by its class. Intuitively, class refinement will lead to some kind of behavioural compatibility; hence a theory of class refinement must take account of the environment and its effect upon behaviour. In this paper we construct formal models for class and environment and unify them into a coherent theory of class refinement. This unified view incorporates existing refinement theories as special cases.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. Abadi and L. Lamport. Composing specifications. In J.W. de Bakker, W.-P. de Roever, and G.Rozenberg, editors, Proc. REX Workshop on Stepwise Refinement of Distributed Systems, volume 430 of Lect. Notes in Comput. Sci., pages 1–41. Springer-Verlag, 1990.
M. Abadi, L. Lamport, and P. Wolper. Realizable and unrealizable specifications of reactive systems. In G. Ausiello, M. Dezani-Ciancaglini, and S. Ronchi Della Rocca, editors, Proc. 16th Intl. Colloquium on Automata, Languages and Programming (ICALP’89), volume 372 of Lect. Notes in Comput. Sci., pages 1–17. Springer-Verlag, 1989.
P. America. Inheritance and subtyping in a parallel object-oriented language. In J. Bézivin, J.-M. Hullot, P. Cointe, and H. Lieberman, editors, Proc. European Conf. on Object-Oriented Programming (ECOOP’87), volume 276 of Lect. Notes in Comput. Sci., pages 234–242. Springer-Verlag, 1987.
R.J.R. Back. Refinement calculus, Part II: Parallel and reactive programs. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Proc. REX Workshop on Stepwise Refinement of Distributed Systems, volume 430 of Lect. Notes in Comput. Sci., pages 67–93. Springer-Verlag, 1990.
R.J.R. Back and J. von Wright. Refinement calculus, Part I: Sequential nondeterministic programs. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Proc. REX Workshop on Stepwise Refinement of Distributed Systems, volume 430 of Lect. Notes in Comput. Sci., pages 42–66. Springer-Verlag, 1990.
S.D. Brookes, C.A.R. Hoare, and A.W. Roscoe. A theory of communicating sequential processes. J. ACM, 31 (7): 560–599, 1984.
D. Carrington, D. Duke, R. Duke, P. King, G. Rose, and G. Smith. Object-Z: An object-oriented extension to Z. In S. Vuong, editor, Formal Description Techniques, II (FORTE’89), pages 281–296. North-Holland, 1990.
J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors. Proc. REX Workshop on Stepwise Refinement of Distributed Systems, volume 430 of Lect. Notes in Comput. Sci. Springer-Verlag, Mook, The Netherlands, 1990.
R. De Nicola. Extensional equivalences for transition systems. Acta Informatica, 24: 211–237, 1987.
D. Duke and R. Duke. Towards a semantics for Object-Z. In D. Bjorner, C.A.R. Hoare, and H. Langmaack, editors, VDM’90: VDM and Z!, volume 428 of Lect. Notes in Comput. Sci., pages 242–262. Springer-Verlag, 1990.
R. Duke, G. Rose, and A. Lee. Object-oriented protocol specification. In L. Logrippo, R.L. Probert, and H. Ural, editors, Protocol Specification, Testing, and Verification, X, pages 325–338. North-Holland, 1990.
D. Harel and A. Pnueli. On the development of reactive systems. In K. Apt, editor, Proc. NATO Advanced Course on Logics and Models of Concurrent Systems, pages 477–499. Springer-Verlag, 1985.
I. Hayes, editor. Specification Case Studies. International Series in Computer Science. Prentice-Hall, 1987.
J. He. Process simulation and refinement. Formal Aspects of Computing, 1: 229241, 1989.
J. He, C.A.R. Hoare, and J. Sanders. Data refinement refined. In B. Robinet and R. Wilhelm, editors, European Symp. on Programming (ESOP’86), volume 213 of Lect. Notes in Comput. Sci., pages 187–196, 1986.
C.A.R. Hoare. Communicating Sequential Processes. International Series in Computer Science. Prentice-Hall, 1985.
C. Jones. Systematic Software Development Using VDM. International Series in Computer Science. Prentice-Hall, 1986.
M. Josephs. A state-based approach to communicating processes. Distributed Computing, 3: 9–18, 1988.
B. Meyer. Object-Oriented Software Construction. International Series in Computer Science. Prentice-Hall, 1988.
R. Milner. A Calculus of Communicating Systems, volume 92 of Lect. Notes in Comput. Sci. Springer-Verlag, 1980.
C. Morgan. Programming from Specifications. International Series in Computer Science. Prentice-Hall, 1990.
J.M. Spivey. The Z Notation: A Reference Manual. International Series in Computer Science. Prentice-Hall, UK, 1989.
B. Stroustrup. The C++ Programming Language. Addison-Wesley, 1986.
P. Wegner. The object-oriented classification paradigm. In B. Shriver and P. Wegner, editors, Research Directions in Object-Oriented Programming, pages 479–560. MIT Press, 1987.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bailes, C., Duke, R. (1991). The Ecology of Class Refinement. In: Morris, J.M., Shaw, R.C. (eds) 4th Refinement Workshop. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3756-6_10
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3756-6_10
Publisher Name: Springer, London
Print ISBN: 978-3-540-19657-0
Online ISBN: 978-1-4471-3756-6
eBook Packages: Springer Book Archive