The idea of a class simulation has been discussed by Goldsack and Lano in
[97,144] in the context
of VDM
, an object-oriented extension of VDM.
The technique there has been called annealing, and VDM
class structures are
refined into a structure composed of objects
of simpler classes in a similar way to class simulation.
Refinements which involve changes of class structure have also been considered in the context of OO action systems by Bonsangue, Kok and Sere [27,26].
Early work on compositionality in Object-Z includes [179], and
Examples 17.3.2and 17.3.3are due to Smith.
The omission of the operator
from the Object-Z schema calculus is partly
due to compositionality failing in its presence. Schema composition was
also omitted in [179] for similar reasons.