Configuring Bidirectional Programs with Functions

Configuring Bidirectional Programs with Functions
复制标题

DOI:
--
复制
发表时间:
2009
期刊:
--
影响因子:
--
通讯作者:
M. Takeichi
M. Takeichi
中科院分区:
其他
文献类型:
--
作者:
M. Takeichi

文献摘要

被引文献

相似文献

通过使用双向语义设计和实施特定于领域的语言,已成功地解决了许多问题和同步。但是,这些仍然缺乏封装机制,而前向转换彼此相关。我们在本文中提出了一个双向编程的概念,以解决诸如查看更新之类的问题。在双向编程中,向前和向后转换封装在单个双向函数中,该函数在程序中两次评估,一次向前,一次向后方向进行评估。双向编程的框架带来了一种新的方法来查看和同步问题,并有效,可靠地实施了双向转换。我们通过对XML处理的域特异性库HAXML进行双向分配来说明双向编程的想法,并通过开发ViewUpdating系统来证明双向函数的有用性。
Many issues both in view-updating and in synchronization have been dealt with successfully by designing and implementing domain-specific languages with bidirectional semantics. These still lack, however, encapsulation mechanisms with which the forward and backward transformations relate to each other. We propose in this paper a concept of bidirectional programming for problems like view-updating. In bidirectional programming, forward and backward transformations are encapsulated in a single bidirectional function which is evaluated twice in a program, once in forward and once in backward direction. The framework of bidirectional programming brings about a new approach to viewupdating and synchronization problems and an efficient and reliable implementation of bidirectional transformation. We illustrate the idea of bidirectional programming by bidirectionalizing a domain-specific library HaXml for XML processing and demonstrate the usefulness of bidirectional functions through the development of a viewupdating system.