Anthony Anjorin1, Enes Yigitbas2, Erhan Leblebici3, Andy Schürr4, Marius Lauder5, and Martin Witte6
The Art, Science, and Engineering of Programming, 2018, Vol. 2, Issue 3, Article 7
Submission date: 2017-11-29
Publication date: 2018-03-29
DOI: https://doi.org/10.22152/programming-journal.org/2018/2/7
Full text: PDF
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.
anthony.anjorin@upb.de, Paderborn University, Germany
enes@mail.uni-paderborn.de, Paderborn University, Germany
erhan.leblebici@es.tu-darmstadt.de, TU Darmstadt, Germany
andy.schuerr@es.tu-darmstadt.de, TU Darmstadt, Germany
marius.lauder@continental-corporation.com, Continental Automotive GmbH, Germany, Germany
martin.witte@siemens.com, Siemens AG, Germany