'

Core concepts of conceptual O-O modelling

The aggregation concept is considered one of the basic principles of the object-oriented approach. Yet at the same time, it is the subject of a lot of (heated) discussions.

It is well-known that the correctness of a software system is directly related to the correctness of its specifications. Correct specifications require the use of precisely, completely and explicitly defined modelling concepts. In this tutorial we first define the concept of existence dependency and explain how this concept can be used to model any kind of association. Hence, existence dependency is a core concept for associations. We then demonstrate that the same core concept can be used to characterise many different flavours of aggregation. In addition to the structural aspects of aggregation, we also have to consider the behavioural aspects. '