No.091 Bidirectional Transformations

Icon

NII Shonan Meeting Seminar 091

Overview

Bidirectional transformations (BX) are a common pattern of computing: transforming data from one format to another, and requiring a transformation in the opposite direction that is in some sense an inverse. The most well-known instance is the view update problem from relational database design: a view represents a kind of virtual database table, computed on the fly from concrete source tables rather than being represented explicitly, and the problem comes when mapping an update of the view back to a corresponding update on the source tables.  In a similar way, the problem is central to model transformations, playing a crucial role in software evolution: having transformed a high-level model into a lower-level implementation, one often needs to restore consistency between the two parts that may have evolved separately.  Giving this widespread applicability, research on BX naturally spans multiple disciplines: Programming Languages (PL), Graph Transformations (GT), Software Engineering (SE), and Databases (DB).

  1. In PL research, the goal is to design languages that are suitable for programming BX (i.e., two opposing transformations are encoded in a single definition rather than with two separate definitions). Notable techniques includes lenses (collection of combinators, which can be read in two ways), and bidirectionalization (program transformation that constructs bidirectional programs from unidirectional ones).
  2. In GT research, a rule-based approach is taken by specifying consistency as a direction-agnostic graph grammar, i.e., a set of high-level graph transformation rules that generate the language of consistent pairs of graphs. Incremental forward and backward synchronizers with desirable properties are then automatically derived by operationalizing this grammar.
  3. In SE research, the goal is to support different software engineering activities with BX. In software development, people usually create different kinds of artefacts, and it has been a long-standing problem to synchronize these artefacts and keep them consistent. By applying BX to these problems, SE researchers have contributed to different aspects of BX research, such as synchronization of object-oriented models, delta-based BX, and exploring the design space of BX.
  4. In DB research, BX concerns the classical view-update problem of relational databases, the dual problem of incremental view maintenance, and modern manifestations of synchronization problems such as data exchange and provenance. XML transformations is another active research area of BX, effectively allowing queries to be made bidirectional.

The Shonan meeting proposed in 2016 will build on the momentum and results generated at previous meetings of similar nature (Dagstuhl 2011 and Banff 2013) to further develop cross-disciplinary research agenda and integration effort.

Topics

  • Connecting latest advances in individual areas to applications in other areas of BX.
  • Exploring unifying mathematical foundations and principles of BX.
  • Cross-disciplinary survey/tutorial paper to capture both the state of the art and open challenges for BX in theory and practice.
  • Status update and discussion on cross disciplinary collaboration.
  • Book on BX as part of the Shonan series by Springer.
  • Benchmark/example/demonstrator

Format of the Meeting
We plan to organize some of the following activities:

  • Tutorials and hands-on tool demonstrations
  • Presentations of new results since the last meeting (in different areas)
  • Cross-disciplinary group work
  • Panel discussion on the future of BX
    • Decide whether our BX workshop should become a BX symposium?
    • How to encourage DB participation?
    • How to increase impact?
  • Position statements and working groups
  • BX related project announcement and introduction

Travelling Information and Tips:

Category: BX

Tagged:

Comments are closed.