Like conventional software projects, projects in model-driven software engineering require adequate management of multiple versions of development artifacts, importantly allowing living with temporary inconsistencies. In the case of model-driven software engineering, employed versioning approaches also have to handle situations where different artifacts, that is, different models, are linked via automatic model transformations. In this report, we propose a technique for jointly handling the transformation of multiple versions of a source model into corresponding versions of a target model, which enables the use of a more compact representation that may afford improved execution time of both the transformation and further analysis operations. Our approach is based on the well-known formalism of triple graph grammars and a previously introduced encoding of model version histories called multi-version models. In addition to showing the correctness of our approach with respect to the standard semantics of triple graph grammars, we conduct an empirical evaluation that demonstrates the potential benefit regarding execution time performance.
翻译:与常规软件项目一样,模型驱动软件工程项目要求对多种版本的开发文物进行适当管理,这在很大程度上允许暂时的不一致。在模型驱动的软件工程中,采用的新版本方法还必须处理不同文物(即不同模型)通过自动模型转换联系在一起的情况。我们在本报告中建议采用一种方法,共同处理将多种版本的来源模型转换成相应的目标模型,从而使用更为紧凑的表述方法,从而可以改进转换和进一步分析操作的执行时间。我们的方法基于众所周知的三重图形语法和以前采用的称为多版本模型的模型史编码形式。我们除了表明我们对于三重图形语法标准语法的正确性外,还进行经验评估,展示执行时间性能的潜在好处。