Design pattern oriented development of model transformations. (November 2016) - Ergin, Huseyin; Syriani, Eugene; Gray, Jeff
Abstract: Model-driven engineering (MDE) is considered a well-established software development approach that uses abstraction to bridge the gap between the problem space and the software implementation. In MDE, many problems are solved using model transformation, which is a paradigm that manipulates high-level models to translate, evolve, or simulate them. However, the development of a model transformation for a specific problem is still a hard task. The main reason is the lack of a development process where transformations must be designed before implemented. Design patterns provide experiential reuse to software engineers when faced with recurring problems. Given their various contexts of application, model transformations may also benefit from design patterns. Although several studies have proposed design patterns for model transformation, there is still no accepted common language to express transformation patterns. Therefore, we propose a semi-formal way to describe model transformation design patterns that is independent from a specific transformation language and described in a practical way that is directly implementable by model engineers. This paper presents a catalog of 15 model transformation design patterns. We also demonstrate how it is possible to automatically generate excerpts of a model transformation in various languages given a design pattern. We conducted an initial survey to motivate the need for model transformation design patterns and a user study to validate the methodology we propose to solve problems as model transformations based on design patterns. Abstract : Highlights: Fourteen unique model transformation design patterns are mined from existing literature and an additional one is proposed. A unified formalism to describe model transformation design patterns is a need in the model transformation community. Therefore, DelTa is proposed thoroughly in this paper to satisfy this need. According to our survey, model transformation engineers are willing to use provided environments to instantiate some part of the transformation they are implementing. According to the user study we have done to validate the methodology, initial results looks promising.