ns to define the abstract modelling language that determines the structure of the models that are to be used a two-step meta-modelling approach turned out as most adequate. In the first step class diagrams are used to introduce the modelling elements and their fundamental relationships. Since just classes, binary associations with multiplicities, and attributes are used any object-oriented modelling language or tool can be used for that. To make the meta-model complete constraints have to be added that define the relationships of the modelling elements more precisely. In principle any logic or object constraint language can be used for that purpose. We have chosen the object-oriented extension ObjectZ of the set-theoretic specification language Z, although it implied to reformulate the whole class diagram developed before within the constraint set. This decision was based essentially on the clarity of the language, the time constraints of the projects, and the previous knowledge of the...