Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Project on Bidirectional Compputation
[go: Go Back, main page]

Bidirectional Computation

Selected Papers | Software
With the popularity of XML, bidirectional updating -- maintaining the consistency between two pieces of structured data, again becomes a problem of interest. We are working on a new framework, inspired by program inversion and transformational programming techniques, to look at this problem. We have designed a functional language, Inv, in which all programs are injective and their inverses can be trivially constructed. The language is equivalent to reversible Turing machines and expressive enough to describe most transforms one would need. Furthermore, we have proposed a domain-specific bidirectional combinator language, X, which has proved to be very useful for data synchronization, construction of view-based editors and structured documents manipulation.

We are now developing a general framework for supporting bidirectional computation (bidirectional transformation language, bidirectionalization transformation, and bidirectionality analysis), and focus on its application to efficient and reliable structured document manipulation. More information about the project is in the PSD project page.


Selected Papers

More papers are available here.


Software


Maintained by Zhenjiang Hu. Last modified on April, 2006.