On simulation, subtyping and substitutability in sequential object systems
- 1 November 1995
- journal article
- Published by Association for Computing Machinery (ACM) in Formal Aspects of Computing
- Vol. 7 (6), 620-651
- https://doi.org/10.1007/bf01210998
Abstract
The aim of this article is to clarify the concepts of behavioural subtype and substitutability that are used to establish the safety of dynamic binding and run-time polymorphism in object-oriented programming. A new model of object behaviour is introduced and used to define the states of an object and the notion of object type. A notion of simulation between object behaviours is defined and a subtype relation between object types is derived from it. The syntax and structural operational semantics of an elementary OOPL is given, and the concepts of object and type substitutability are defined. It is shown formally that simulation is equivalent to object substitutability and that subtyping is equivalent to type substitutability.Keywords
This publication has 19 references indexed in Scilit:
- A behavioral notion of subtypingACM Transactions on Programming Languages and Systems, 1994
- Regular types for active objectsACM SIGPLAN Notices, 1993
- A calculus of mobile processes, IIInformation and Computation, 1992
- Refinement, conformance and inheritanceFormal Aspects of Computing, 1991
- Object-oriented specification in LOTOS and Z, or my cat really is object-oriented!Published by Springer Science and Business Media LLC ,1991
- A semantics of multiple inheritanceInformation and Computation, 1988
- Extensional equivalences for transition systemsActa Informatica, 1987
- Non-deterministic data types: models and implementationsActa Informatica, 1986
- Ten Years of Hoare's Logic: A Survey—Part IACM Transactions on Programming Languages and Systems, 1981
- An axiomatic basis for computer programmingCommunications of the ACM, 1969