Next: 3.2 Names
Up: 3 Our Toolkit
Previous: 3 Our Toolkit
We will not repeat the excellent work done by Anthony Hall (and others) in showing how isolated objects can be specified in Z. Instead, we will emphasize those properties of isolated objects which are less well-established in traditional OO literature, but considered to be of sufficient importance as to be included in [ISO95a]. In some cases, these properties are described in traditional OO models only partially; multiple naming and multiple typing are good examples. Although using these properties is clearly essential for a successful business specification, in many cases ``OO analysis and design methods" have not used them because existing ``OO implementation mechanisms" did not support them.
An interesting and very nice treatment of isolated objects in Z using a message-oriented object model is provided in [DBS96]. The authors clearly distinguish between input messages accepted by an object, input messages blocked by an (unreceptive) object, output messages accepted by the environment, output messages blocked by the (unreceptive) environment, and internal state transitions. Moreover, they consider and formally treat in detail the [ISO95a] notion of behavioral compatibility for isolated objects. As a result, we may observe that it is possible (and in fact not very difficult) to provide a clear formal description of the distinction between ``visible" and ``invisible" operations (resulting in state changes), thus supporting, to a certain extent, the OO concept of information hiding. Nevertheless, [DBS96] is quite restrictive because of its usage of the message-oriented object model, and in its plans to consider object composition using the same approach: it appears that such treatments quickly become too complicated. Therefore, a representation-independent approach to specifying collections of objects, such as the one in [ISO95c], seems to be warranted. We note also that, since a composite object may be decomposed at different abstraction levels (RM-ODP), a discussion of an isolated object may as well refer to an isolated component.
Randolph Johnson and Hiam Kilov