Maintaining software artifacts is among the hardest tasks an engineer faces. Like any other piece of code, model transformations developed by engineers are also subject to maintenance. To facilitate the comprehension of programs, software engineers rely on many techniques, such as design pattern detection. Therefore, detecting design patterns in model transformation implementations is of tremendous value for developers. In this paper, we propose a generic technique to detect design patterns and their variations in model transformation implementations automatically. It takes as input a set of model transformation rules and the participants of a model transformation design pattern to find occurrences of the latter in the former. The technique also detects certain kinds of degenerate forms of the pattern, thus indicating potential opportunities to improve the model transformation implementation.
翻译:维护软件人工制品是工程师面临的最艰巨的任务之一。 与任何其他代码一样,工程师开发的模型转换也需要维护。 为了便于理解程序,软件工程师依靠许多技术,例如设计模式探测。因此,在模型转换实施过程中发现设计模式对于开发者来说具有巨大价值。在本文件中,我们提出一种通用技术,用于自动检测设计模式及其在模型转换实施过程中的变异。它将一套模型转换规则作为输入,并将模型转换设计模式的参与者作为参考,以发现前者中出现后一种变异。该技术还检测了模式的某些退化形式,从而显示了改进模型转换实施的潜在机会。