Connecting software build with maintaining consistency between models: towards sound, optimal, and flexible building from megamodels

Connecting software build with maintaining consistency between models: towards sound, optimal, and flexible building from megamodels
复制标题

DOI:
10.1007/s10270-020-00788-4
复制
发表时间:
2020-03-19
影响因子:
2
通讯作者:
Stevens, Perdita
Stevens, Perdita
中科院分区:
计算机科学3区
文献类型:
--
作者:
Stevens, Perdita

文献摘要

被引文献

相似文献

软件构建系统以合理的方式(当构建成功完成时,生成文件和源文件之间的关系是指定的)和最佳的方式(只完成真正需要的重建步骤)解决从源代码构建软件的问题。在本文中,我们解释和利用软件构建和巨模型一致性问题之间的联系。模型驱动的系统开发涉及多个模型、元模型和转换。转换(可能是双向的)指定并提供强制模型之间所需的“一致性”关系的方法。我们可以用megamodel来描述整个结构。随着开发的进行和各种模型的修改,我们需要能够恢复大模型的一致性,以便在一个模型中首次记录的决策结果在其他模型中得到适当的反映。同时,我们需要最小化所需的重新计算量;特别是,我们希望避免在相关模型中没有发生相关变化时重新应用转换。巨模型的一致性问题需要的灵活性超出了在传统的软件构建中发现的,因为不同的结果得到取决于哪些模型被允许修改和转换应用程序的顺序和方向。在本文中,我们建议使用方向模型,使重要的选择明确。我们将展示如何扩展形式化的构建系统冥王星,以提供一种方法来恢复megamodel中的一致性,也就是说,在适当的意义上,灵活,健全和优化。
Software build systems tackle the problem of building software from sources in a way which is sound (when a build completes successfully, the relations between the generated and source files are as specified) and optimal (only genuinely required rebuilding steps are done). In this paper, we explain and exploit the connection between software build and the megamodel consistency problem. The model-driven development of systems involves multiple models, metamodels and transformations. Transformations-which may be bidirectional-specify, and provide means to enforce, desired "consistency" relationships between models. We can describe the whole configuration using a megamodel. As development proceeds, and various models are modified, we need to be able to restore consistency in the megamodel, so that the consequences of decisions first recorded in one model are appropriately reflected in the others. At the same time, we need to minimise the amount of recomputation needed; in particular, we would like to avoid reapplying a transformation when no relevant changes have occurred in the models it relates. The megamodel consistency problem requires flexibility beyond what is found in conventional software build, because different results are obtained depending on which models are allowed to be modified and on the order and direction of transformation application. In this paper, we propose using an orientation model to make important choices explicit. We show how to extend the formalised build system pluto to provide a means of restoring consistency in a megamodel, that is, in appropriate senses, flexible, sound and optimal.