Introduction to Bidirectional Transformations

  title={Introduction to Bidirectional Transformations},
  author={Faris Abou-Saleh and James Cheney and Jeremy Gibbons and James McKinna and Perdita Stevens},
  booktitle={Bidirectional Transformations},
Bidirectional transformations (BX) serve to maintain consistency between different representations of related and often overlapping information, translating changes in one representation to the others. We present a brief introduction to the field, in order to provide some common background to the remainder of this volume, which constitutes the lecture notes from the Summer School on Bidirectional Transformations, held in Oxford in July 2016 as one of the closing activities of the UK EPSRC… 

Is Bidirectionality Important?

It is argued that developing the ability to engineer dependable bidirectional transformations is likely to be crucial to the authors' ability to meet the demand for software in coming decades.

Towards Bidirectional Synchronization Between Communicating Processes and Session Types

This short paper offers a preliminary analysis of the process-type synchronization problem in terms of BX, describing the prospects and challenges.

Avoiding unnecessary information loss: correct and efficient model synchronization based on triple graph grammars

This paper shows how to automatically derive (short-cut) repair rules from short-cut rules to propagate changes such that information loss is avoided and model synchronization is accelerated and proves the termination and the correctness of this synchronization process.

Bidirectional Programming for Parsing and Retentive Printing

This thesis reconciles the compactness of ASTs and printing quality by proposing retentive printing, which takes not only an AST but also a piece of original program text, so that there is no need to enrich ASTs with unnecessary information.

Comprehensive Systems: A formal foundation for Multi-Model Consistency Management

This paper proposes and investigates a novel comprehensive system construction, which is able to represent multi-ary relations among multiple models in an integrated manner and thus serves as a formal foundation for artefacts used in consistency management activities involving multiple models.

Datatype-generic programming meets elaborator reflection

This work presents a framework in Agda featuring a set of general metaprograms for instantiating datatype-generic programs as, and for, a useful range of native datatypes and functions in programmer-friendly and customisable forms.

Model-driven engineering city spaces via bidirectional model transformations

This work supports model-based development by providing a way to derive analyzable models from CityGML descriptions, and ensures that changes performed are propagated correctly, and demonstrates that bidirectional transformations can be achieved in practice on real city models.

Software Foundations for Data Interoperability and Large Scale Graph Data Analytics: 4th International Workshop, SFDI 2020, and 2nd International Workshop, LSGDA 2020, held in Conjunction with VLDB 2020, Tokyo, Japan, September 4, 2020, Proceedings

Three attribute diversified community models are introduced in which attribute diversification takes different roles for presenting objective, query requirement, and constraint in order to find communities that are both structure and attribute cohesive.

Integration and Coordination of Health Data Systems : State-ofthe-Art and Open Problems ?

A possible workflow in a multiuser environment, which aims at keeping all artifacts consistent, is outlined, and some of the biggest challenges in this area are sketched.



Observations relating to the equivalences induced on model sets by bidirectional transformations

  • P. Stevens
  • Mathematics
    Electron. Commun. Eur. Assoc. Softw. Sci. Technol.
  • 2012
This paper characterises the bidirectional transformations that can be decomposed into a pair of lenses working “tail to tail” and gives the implication relationships between various properties of bid Directional transformations.

From state- to delta-based bidirectional model transformations: the symmetric case

Two new algebraic laws are identified--weak undoability and weak invertibility, which capture important semantics of BX and are useful for both state- and delta-based settings.

Bidirectional Transformations are Proof-Relevant Bisimulations ( Extended Abstract )

A characterisation of the alignment problem in type-theoretic terms is obtained, as well as a number of suggestive directions for future investigation.

Bidirectional Transformation "bx" (Dagstuhl Seminar 11031)

The Dagstuhl Seminar 11031 aimed at providing a place for working together to define a common vocabulary of terms and desirable properties of bidirectional transformations, develop a suite of benchmarks, solve some challenging problems, and launch joint efforts to form a living bx community of cooperating experts across the identified subdisciplines.

Bidirectional model transformations in QVT: semantic issues and open questions

It is shown that any transformation language sufficient to the needs of model-driven development would have to be able to express non-bijective transformations.

Reflections on Monadic Lenses

This paper reviews the proposals for monadic lenses to date, and offers some improved definitions, paying particular attention to the obstacles to naively adding monadic effects to existing definitions of pure bx such as lenses and symmetric lenses, and the subtleties of equivalence of symmetric bidirectional transformations in the presence of effects.

Three Complementary Approaches to Bidirectional Programming

This paper surveys three distinct approaches to bidirectional programming, and pays particular attention to use of complements, which are structures that represent the information discarded by the transformation in the forward direction.

Towards a Repository of Bx Examples

It is argued for the creation of a curated repository of examples of bidirectional transformations (bx), which may support research on bx, especially cross-fertilisation between the different communities involved.

Notions of Bidirectional Computation and Entangled State Monads

This work builds on the mature theory of monadic encapsulation of effects in functional programming, develops the equational theory and important combinators for effectful bx, and provides a prototype implementation in Haskell along with several illustrative examples.

Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem

A novel approach to the view-update problem for tree-structured data: a domain-specific programming language in which all expressions denote bidirectional transformations on trees that map a concrete tree into a simplified abstract view and a modified abstract view to a correspondingly modified concrete tree.