To cope with the increasing complexity of developing and maintaining modern (software) systems, multiple abstractions (models) of the same system can be established and used to allow different domain experts to collaborate and contribute their respective expertise. This divide-and-conquer, model-based approach requires, however, support for a concurrent engineering process, i.e., providing a means of checking, restoring, and ensuring the consistency of all involved and concurrently maintained models. The task of providing such support is often referred to as consistency management.Although there exist various approaches to consistency management and numerous (industrial) case studies described in the literature on bidirectional transformations (bx), there is currently no uniform description of diverse but related industrial applications of model synchronisation and other forms of consistency management. This makes it challenging to detect similarities and differences related to requirements, constraints, applied techniques and tools. It is thus difficult to compare and transfer knowledge gained from (successful) projects to other bx approaches or even other bx tools for the same general approach.In this paper, therefore, we propose a description language for envisioned scenarios in the problem domain of consistency management, as well as a complementary description language for solution strategies in terms of method fragments and method patterns in the solution domain of Model-Driven Engineering (MDE). Our work is inspired by previous research in the bx and MDE communities, and is also based on our collective experience from over ten years of investigating a series of application scenarios in the industry automation section together with Siemens AG as an industrial partner.We use our proposed description languages to discuss a series of application scenarios that are diverse but all require varying forms of support for consistency management. By using a common notation and focusing only on aspects directly related to consistency management, we are able to abstract from project-specific details and uniformly describe how consistency management is required and can be currently supported in the industry automation sector. Based on this formal and macroscopic view of the projects, we provide a systematic discussion of our experience and results applying Triple Graph Grammars (TGGs) as a concrete bx approach in the industry automation domain.
ACM CCS 2012 1 Introduction and MotivationThe development and maintenance of increasingly complex software systems often requires a suitable decomposition of the system into multiple abstractions (models), which can be concurrently maintained by experts in their respective domains. Such a concurrent engineering process can be well supported by model-based approaches and techniques, especially approaches to ensure that the consistency of all related models, representing views of the same system, can be maintained via suitable change propagation and synchronisation. Numerous, diver...