Tolerance in Model-Driven Engineering: A Systematic Literature Review with Model-Driven Tool Support
This work addresses the problem of managing inconsistencies in MDE for researchers and practitioners by providing a systematic review and tool support, but it is incremental as it synthesizes existing knowledge without introducing new methods or results.
The paper tackles the lack of a structured overview of tolerance for inconsistencies in Model-Driven Engineering (MDE) by conducting a Systematic Literature Review (SLR) to define tolerance, relate it to uncertainty, and analyze examples, benefits, and drawbacks, while also proposing a tool-chain for SLRs in computer science that uses a textual modelling language and Neo4j for data management.
Managing models in a consistent manner is an important task in the field of Model-Driven Engineering (MDE). Although restoring and maintaining consistency is desired in general, recent work has pointed out that always strictly enforcing consistency at any point of time is often not feasible in real-world scenarios, and sometimes even contrary to what a user expects from a trustworthy MDE tool. The challenge of tolerating inconsistencies has been discussed from different viewpoints within and outside the modelling community, but there exists no structured overview of existing and current work in this regard. In this paper, we provide such an overview to help join forces tackling the unresolved problems of tolerating inconsistencies in MDE. We follow the standard process of a Systematic Literature Review (SLR) to point out what tolerance means, how it relates to uncertainty, which examples for tolerant software systems have already been discussed, and which benefits and drawbacks tolerating inconsistencies entails. Furthermore, we propose a tool-chain that helps conducting SLRs in computer science and also eases the reproduction of results. Relevant meta-data of the collected sources is uniformly described in a textual modelling language and exported to the graph database Neo4j to query aggregated information.