跳到主要内容

双向变换的最小变化理论

2013年3月1日至2017年2月28日

双向转换是维护多个信息源之间一致性的一种方法:当一个源被编辑,其他源可能需要更新以恢复一致性。在许多领域中,双向转换都是必需的。目前,其中最著名的是模型驱动的开发。模型驱动开发是开发的方法软件中的模型(仅对要构建的软件的某些方面进行专门描述)是重要的人工制品在开发中。部分或全部代码可能是从模型中生成的,而不是手工编写的。不同的专家致力于不同的模型,根据自己的需要进行调整,每个模型都将自己的决策记录在自己的模型中。为了得到正确的答案系统,模型需要保持一致;当一个开发人员更改一个模型时,可能需要更改另一个模型匹配,反之亦然。另一个当前的应用程序是数据库中的“视图更新”问题(更新后的源表编辑以查看表格)。潜在应用包括集成不同的电子健康记录,保持一致性在高级系统生物学模型和某个方面的更详细模型之间,提供面向机器的用户友好访问数据表示、程序的自动协同进化及其正确性证明等。

双向转换可以通过几个单向恢复功能来实现,一个是每个来源;但这会复制信息(例如,出现有关相关模型结构的信息在每个功能中),浪费精力并冒着不一致的风险。双向转换语言允许描述一致性关系和恢复功能使用一个声明性规范。良好的双向转换语言应该支持转换的开发人员,不允许开发人员编写无意义的代码:当转换发生时根据语言被认为是正确的,它应该遵守基本的健全属性。

双向变换的各种自然属性现在已经被很好地理解了;特别是“正确性”(双向转换确实恢复了一致性)和“嬉皮士风格”(如果源代码经过编辑保持一致,则双向转换不做任何更改)。什么是不太容易理解的,以及我们将在这个项目中研究“最小变化原则”(双向转换不应使其变得不必要在实施一致性时进行更改)。

我们的假设是:(i)可以准确而富有成效地捕捉到这一最小变化原则;(ii)我们对原则的理解将受益于数据库中“起源”方面的工作——起源包括构建并使用一个记录,记录哪些输出取决于哪些输入,以及它们是如何这样做的;(iii)这将导致一种理论“对齐”-部件匹配-用于非自由数据类型,如关联列表和图形。图形是一种特殊的重要的数据类型,因为它们在软件工程中无处不在。特别是模型驱动开发中的模型通常是图的类型,例如类图和状态图。这个项目将在数学基础上进行双向转换。这样做的原因是为了更好地理解最小原理未来,变化将有助于建立更可用、更可靠的模型驱动工程工具,支持高效和正确的软件开发,即使面对不断的变化。因此,它将使软件开发人员能够将模型驱动开发与敏捷方法的优势。通过开发更好的语言和工具,它还将使双向转换在广泛的其他应用领域中得到实际应用。

选定出版物

查看全部

发起人

首席研究员

法里斯·阿布·萨利赫

分享这个: