A New Paradigm

While object-oriented concepts as they are part of current mainstream languages serve us as a powerful tool to design and implement software systems, the explicit and implicit constraints they come with do not only create the inconsistencies we identified above, they may even prevent us from seeing aspects of the world we did not see before – and from building better systems: “The limits of my language are the limits of my world.” (Wittgenstein) For this principal reason alone, it makes sense to challenge a ruling paradigm, to aim at other, more powerful concepts. Multi-Level Modelling and Language engineering is an attempt to overcome the current object-oriented paradigm by challenging some of its principal foundations. It does not only enable an unlimited number of classification levels, but allows for defining properties of a class that do not directly apply to its instances, but only to instances of instances of instances. As a consequence, it is suited to promote reuse, flexibility, integrity, and user empowerment. However, it also means to give up on (or at least relax) core principles of object-oriented software construction, such as the strict dichotomy of instantiation and specialization or the substitutability constraint of specialization.

Crossing the boundaries of a field you feel familiar with (you have worked in it for long, you were convinced of its power, you preached its foundations) is an exciting, but also risky undertaking. It means to move into unknown territory, to discover new possibilities, but also to run into problems you were not aware of before. It is this kind of scientific adventure that makes the project LE4MM so appealing to us.