Incremental Updates for Efficient Bidirectional Transformations

A bidirectional transformation is a pair of mappings between source and view data objects, one in each direction. When the view is modified, the source is updated accordingly. The key to handling large data objects that are subject to relatively small modifications is to process the updates incremen...

Full description

Bibliographic Details
Main Authors: Wang, M, Gibbons, J, Wu, N
Format: Journal article
Language:English
Published: Association for Computing Machinery 2011
_version_ 1826290168271732736
author Wang, M
Gibbons, J
Wu, N
author_facet Wang, M
Gibbons, J
Wu, N
author_sort Wang, M
collection OXFORD
description A bidirectional transformation is a pair of mappings between source and view data objects, one in each direction. When the view is modified, the source is updated accordingly. The key to handling large data objects that are subject to relatively small modifications is to process the updates incrementally. Incrementality has been explored in the semi-structured settings of relational databases and graph transformations; this flexibility in structure makes it relatively easy to divide the data into separate parts that can be transformed and updated independently. The same is not true if the data is to be encoded with more general-purpose algebraic datatypes, with transformations defined as functions: dividing data into welltyped separate parts is tricky, and recursions typically create interdependencies. In this paper, we study transformations that support incremental updates, and devise a constructive process to achieve this incrementality. Copyright 2011 ACM.
first_indexed 2024-03-07T02:40:03Z
format Journal article
id oxford-uuid:aa1ec936-329e-4d44-b44b-d7ea6209d216
institution University of Oxford
language English
last_indexed 2024-03-07T02:40:03Z
publishDate 2011
publisher Association for Computing Machinery
record_format dspace
spelling oxford-uuid:aa1ec936-329e-4d44-b44b-d7ea6209d2162022-03-27T03:13:06ZIncremental Updates for Efficient Bidirectional TransformationsJournal articlehttp://purl.org/coar/resource_type/c_dcae04bcuuid:aa1ec936-329e-4d44-b44b-d7ea6209d216EnglishSymplectic Elements at OxfordAssociation for Computing Machinery2011Wang, MGibbons, JWu, NA bidirectional transformation is a pair of mappings between source and view data objects, one in each direction. When the view is modified, the source is updated accordingly. The key to handling large data objects that are subject to relatively small modifications is to process the updates incrementally. Incrementality has been explored in the semi-structured settings of relational databases and graph transformations; this flexibility in structure makes it relatively easy to divide the data into separate parts that can be transformed and updated independently. The same is not true if the data is to be encoded with more general-purpose algebraic datatypes, with transformations defined as functions: dividing data into welltyped separate parts is tricky, and recursions typically create interdependencies. In this paper, we study transformations that support incremental updates, and devise a constructive process to achieve this incrementality. Copyright 2011 ACM.
spellingShingle Wang, M
Gibbons, J
Wu, N
Incremental Updates for Efficient Bidirectional Transformations
title Incremental Updates for Efficient Bidirectional Transformations
title_full Incremental Updates for Efficient Bidirectional Transformations
title_fullStr Incremental Updates for Efficient Bidirectional Transformations
title_full_unstemmed Incremental Updates for Efficient Bidirectional Transformations
title_short Incremental Updates for Efficient Bidirectional Transformations
title_sort incremental updates for efficient bidirectional transformations
work_keys_str_mv AT wangm incrementalupdatesforefficientbidirectionaltransformations
AT gibbonsj incrementalupdatesforefficientbidirectionaltransformations
AT wun incrementalupdatesforefficientbidirectionaltransformations