A Satisficing Bi-Directional Model Transformation Engine using Mixed Integer Linear Programming

By: Glenn Callow, Roy Kalawsky


The use of model transformation in software engineering has increased significantly during the past decade, with the ability to rapidly transform models and ensure consistency between those models being a key property of Model Driven Architecture. However, these approaches can be applied to a wide variety of different model types and some of these models and associated transformations require different semantics than those popularised by current model transformation tools. Specifically, current relational model transformation languages typically prioritise matching relation patterns in the source model over creating a target model that is compliant with its meta-model. In this paper we describe a relational model transformation engine implemented as a series of Mixed Integer Linear Programs (MILP). This engine has a key novel feature; it prioritises target model compliance with its meta-model by considering multiple interpretations of applying the transformation specification in order to ensure a correct target model is generated. In this paper the MILP transformation engine and the representations it uses are described, followed by the results of applying it to examples of varying complexity.


Model Transformation, Model Driven Architecture, Mixed Integer Linear Programming, Domain Specific Models

Cite as:

Glenn Callow, Roy Kalawsky, “A Satisficing Bi-Directional Model Transformation Engine using Mixed Integer Linear Programming”, Journal of Object Technology, Volume 12, no. 1 (January 2013), pp. 1:1-43, doi:10.5381/jot.2013.12.1.a1.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn