Bidirectional Programming in BiFluX A Tutorial–

user-5f03edee4c775ed682ef5237(2014)

引用 0|浏览3
暂无评分
摘要
Different XML formats are widely used for data exchange and processing, being often necessary to mutually convert between them. Standard XML transformation languages, like XSLT or XQuery, are unsatisfactory for this purpose since they require writing a separate transformation for each direction. Existing bidirectional transformation languages mean to cover this gap, by allowing programmers to write a single program that denotes both transformations. However, they often 1) induce a more cumbersome programming style than their traditionally unidirectional relatives, to establish the link between source and target formats, and 2) offer limited configurability, by making implicit assumptions about how modifications to both formats should be translated that may not be easy to predict.BiFluX is a novel bidirectional programming by update paradigm, in which the programmer writes an update program that describes how to update a source model to embed information from a target model, and the system derives a query from source to target that evinces the consistency between both models. Such a bidirectional update allows to express the relationship between source and target models in a simple way—as in the relational paradigm—by saying which related source parts are to be updated, but combined with additional actions that supply the missing pieces to tame the ambiguity in how target modifications are reflected—as in the combinatorial paradigm. This short tutorial explains how to install, write, and run BiFluX programs. We demonstrate the usefulness of BiFluX by illustrating typical examples of BXs written as bidirectional update programs …
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要