On the Abstraction of Objects, Components and Interfaces

There is a wide consensus that an object explicitly embodies an abstraction, but the exact meaning of this statement is not necessarily well understood. This paper argues that the abstraction embodied by an object (or a component) implementation is nothing else than its specification. This implies that abstrac-tion does not appear automatically, it must be carefully constructed and maintained. The paper goes on to show, with the support of an example, that defining contracts for an objects operations does not nec-essarily result in a complete specification for this object (for example, specification invariants are a dif-ferent concept from invariants associated to operation contracts). Finally, the paper shows via an example the difference between object specifications and interface specifications.

Published in:
OOPSLA Workshop on Behavior Semantics, 93--104
Presented at:
OOPSLA Workshop on Behavior Semantics, Denver

 Record created 2004-08-31, last modified 2018-01-27

External link:
Download fulltext
Rate this document:

Rate this document:
(Not yet reviewed)