With the advent of domain specific languages for model engineering, detecting inconsistencies between models is becoming increasingly challenging. Nowadays, it is not uncommon for models participating in the same development process to be captured using different modelling languages and even different modelling technologies. We present a classification of the types of relationships that can arise between models participating in a software development process and outline the types of inconsistencies each relationship can suffer from. From this classification we identify a set of requirements for a generic inconsistency detection and reconciliation mechanism and use a case study to demonstrate how those requirements are implemented in the Epsilon validation language (EVL), a task-specific language developed in the context of the Epsilon GMT component.
['Dimitrios S. Kolovos', 'Richard F. Paige', 'Fiona Polack']
Detecting and Repairing Inconsistencies across Heterogeneous Models