Object Orientation

OO Structures

Based on the techniques supporting OO structures can be formed. Such structures behave as objects themselves, characterizing the concepts of OO.

Type Composition

The basic idea of composition is to build complex object types out of simpler ones. Object types can not only be built up from ways to define state and behaviour as provided by the modelling language, but also from other object types. The latter can be done in the following forms.

reference
An object type can reference an object of a particular object type.

inclusion
An object type can include another object type.

To obey the OO fundamental of keeping behaviour and implementation of an object distinct, a modelling language has to hide the composition of an object type. This can be done by making the elements of the object type acquired through composition available either only from within the object type, or from outside the object type but as it were elements of the object type itself.

Objects composed in this way are vertical related with the objects they are composed of.

Object Composition

Several inter-related objects form a cluster that when abstracted from the inter-relations acts as a single object.

Objects that take part in this composition are horizontal related with eachother.

Abstract Object Types

An abstract object type is an object type described in terms of objects representing elements of the abstract object type for which the type(s) have to be filled in on a lower level of abstraction.

An abstract object type can also be turned into a generic object type on a lower level of abstraction, with parameters for the object types representing the elements.