Andreas Seibel gave an invited talk at the workshop "Model-Driven Development in the Real World", organized by the FZI and KIT in Karlsruhe, entitled "Dealing with Multiple Overlapping Modeling Languages in Complex Model-Driven Development Scenarios".
In the last two decades, Model-Driven Development (MDD) received increasing attention as a new paradigm in developing software systems. It provides concepts for specifying a software system into different sub systems (horizontal separation) and their specification at different levels-of-abstraction (vertical separation). In general, MDD helps increasing the level-of-abstraction and providing techniques to automatically derive detailed specifications from abstract specifications. Thus, MDD brings several benefits: domain experts are able to focus on relevant information for their domain only without struggling low-level details; reusability because of abstraction; efficiency due to automation, etc.
Nevertheless, developing software systems by applying MDD is a complex endeavor because it requires dealing with multiple potentially overlapping modeling languages. For example, each life-cycle in an MDD process may represent a different level-of-abstraction (vertical separation) with each life-cycle can be specified by means of multiple modeling languages (horizontal separation). Overlapping might occur whenever 1) different sub systems have inherent dependencies between each other and 2) modeling languages for different levels-of-abstraction specify the same sub system. Because of this overlapping, inconsistencies between different models of these modeling languages may occur and remain unrecognized until late life-cycles that may cause high expenses. We argue that explicitly managing all models and relationships in between (that represent inherent dependencies) is of high priority because it is the foundation for detecting, reasoning about and resolving inconsistencies.
In our research group, we are working on an approach for managing models and relationships in complex MDD scenarios by employing the notion of mega models. The approach supports automatic detection of relationships (traceability), detection of potential inconsistencies by means of invalidated relationships, resolving inconsistencies by means of model transformations, etc. The need for our approach is further aligned to case studies from industrial collaborations.