Thoughts on classification / Instantiation and generalisation / Specialisation
Classification and generalisation are arguably the most important abstractions used in con-ceptual modelling. From a software developer’s perspective it may seem that there is a clear difference between classification and generalisation. However, this impression is deceptive. It is indeed relatively easy to decide whether classification or generalisation – and instantia-tion or specialisation respectively – is the better choice as long as models are considered on the M1 layer only. However, as soon as higher levels of abstractions are included, as it is characteristic for meta modelling, this decision can become very demanding. Starting with focussing on obvious criteria to distinguish between classification/instantiation and general-isation/specialisation, this report will first illustrate why these criteria become blurred on higher levels of abstraction. Also, it will be shown that often neither generalisa-tion/specialisation nor classification/instantiation is sufficient. Instead, there is need for fur-ther abstractions. Against that background an approach to structure the problem is presented. While it does not allow to strictly determine the decision between the two abstractions, it provides guidelines which support the decision in a particular modelling context.