User Empowerment

Our professional and private lives are more and more penetrated by software systems. To many, these systems are black boxes that hide their conceptual foundation and make it almost impossible to understand how and to what extent they can be adapted to changing requirements. By supporting a common representation of models and code and by providing extensive introspection features, multi-level language engineering allow to build systems that are integrated with models of their own (and of the surroundings they operate in). As a consequence, users cannot only navigate through different representations of a system, but also to its conceptual foundation, that is, conceptual models or meta-models. That will “open” the systems to them and give them a much better chance to understand the software they use, and to modify it according to their needs – on a level of abstraction, in other words: in a language, they are familiar with.