# Notions of Bidirectional Computation and Entangled State Monads

@inproceedings{AbouSaleh2015NotionsOB, title={Notions of Bidirectional Computation and Entangled State Monads}, author={Faris Abou-Saleh and James Cheney and Jeremy Gibbons and James McKinna and Perdita Stevens}, booktitle={International Conference on Mathematics of Program Construction}, year={2015} }

Bidirectional transformations (bx) support principled consistency maintenance between data sources. Each data source corresponds to one perspective on a composite system, manifested by operations to ‘get’ and ‘set’ a view of the whole from that particular perspective. Bx are important in a wide range of settings, including databases, interactive applications, and model-driven development. We show that bx are naturally modelled in terms of mutable state; in particular, the ‘set’ operations are…

## 43 Citations

### Explorer Coalgebraic Aspects of Bidirectional Computation

- Computer Science
- 2017

It is shown that cbx support a notion of composition coherent with, but conceptually simpler than, the previous mbx definition, and coalgebraic bisimulation yields a natural notion of behavioural equivalence on cb x, which respects composition, and essentially includes symmetric lens equivalence as a special case.

### Coalgebraic Aspects of Bidirectional Computation

- Computer ScienceBx@STAF
- 2015

It is shown that cbx support a notion of composition coherent with, but conceptually simpler than, the previous mbx definition, and coalgebraic bisimulation yields a natural notion of behavioural equivalence on cb x, which respects composition, and essentially includes symmetric lens equivalence as a special case.

### UTP Designs for Binary Multirelations

- Computer ScienceICTAC
- 2014

This paper presents an extended model of upward-closed binary multirelations that is isomorphic to angelic designs, and admits preconditions that rely on later or final observations as required for a treatment of processes.

### Multidirectional Transformations and Synchronisations

- Computer Science
- 2019

This Dagstuhl Seminar aimed to identify the challenges, issues and open research problems for multidirectional model transformations and synchronisations and sketch a road map for developing relevant concepts, theories and tools.

### On principles of Least Change and Least Surprise for bidirectional transformations

- Computer ScienceJ. Object Technol.
- 2017

It is concluded that it cannot expect a Principle of Least Change to determine the optimal behaviour of a bx based on the consistency relation it embodies alone, and suggests considering continuity variants, particularly Hölder continuity.

### Multidirectional Transformations and Synchronisations (Dagstuhl Seminar 18491)

- Computer ScienceDagstuhl Reports
- 2018

This Dagstuhl Seminar aimed to identify the challenges, issues and open research problems for multidirectional model transformations and synchronisations and sketch a road map for developing relevant concepts, theories and tools.

### Report from Dagstuhl Seminar 18491 Multidirectional Transformations and Synchronisations

- Computer Science
- 2019

This Dagstuhl Seminar aimed to identify the challenges, issues and open research problems for multidirectional model transformations and synchronisations and sketch a road map for developing relevant concepts, theories and tools.

### Towards Optic-Based Algebraic Theories: The Case of Lenses

- Computer ScienceTFP
- 2018

It is argued that optics can serve as a fruitful metaphor to design a rich catalogue of state-based algebraic theories, and focuses on the paradigmatic case of lenses, which shows how lenses can be generalised into an algebraic theory; how compositionality of thesegebraic theories can be founded on lens composition; and how to exploit the resulting abstractions in the modular design of data layers.

### Unified Classical Logic Completeness - A Coinductive Pearl

- Computer ScienceIJCAR
- 2014

A classical result is revisited: the completeness theorem for first-order logic established through a Gentzen system, which establishes an abstract property of possibly infinite derivation trees, independently of the concrete syntax or inference rules.

### Explorer Multidirectional Transformations and Synchronisations ( Dagstuhl Seminar 18491 )

- Computer Science
- 2019

## References

SHOWING 1-10 OF 45 REFERENCES

### Composing monads using coproducts

- Computer ScienceICFP '02
- 2002

It is proposed that two monads should be composed by taking their coproduct, a simple idea which is general in that nearly all monads compose, mathematically elegant in using the standard categorical tools underpinning monads and computationally expressive in supporting a canonical recursion operator.

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

- Computer ScienceTOPL
- 2007

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.

### Monad transformers and modular interpreters

- Computer SciencePOPL '95
- 1995

A fully modular interpreter based on monad transformers that incudes features missing from Steele's, Espinosa's, and Wadler's earlier efforts is designed and implemented in Gofer, whose constructor classes provide just the added power over Haskell's type classes to allow precise and convenient expression of the ideas.

### A Coalgebraic Approach to Bidirectional Transformations

- Computer Science
- 2014

The state monads used to describe set-bx, and the corresponding composition and equivalence, also have an interesting interpretation in terms of coalgebras, which is illustrated in this extended abstract.

### Programming and reasoning with algebraic effects and dependent types

- Computer ScienceICFP
- 2013

This paper describes an alternative approach based on handling algebraic effects, implemented in the IDRIS programming language, and shows how to describe side effecting computations, how to write programs which compose multiple fine-grained effects, and how to reason about states in effectful programs.

### Combinators for bi-directional tree transformations: a linguistic approach to the view update problem

- Computer SciencePOPL '05
- 2005

We propose a novel approach to the well-known view update problem for the case of tree-structured data: a domain-specific programming language in which all expressions denote bi-directional…

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

- Computer ScienceMODELS'11
- 2011

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.

### A generic complete dynamic logic for reasoning about purity and effects

- Computer ScienceFormal Aspects of Computing
- 2010

This work introduces a dynamic logic whose logical formulae are pure programs in a strong sense, and develops a relaxed notion of purity which allows for observationally neutral effects such writing on newly allocated memory.

### Towards a Framework for Multidirectional Model Transformations

- Computer ScienceEDBT/ICDT Workshops
- 2014

This paper discusses ambiguities and omissions in the QVT-R standard concerning the mutidirectional transformation scenario, and proposes a simple extension and formalization of the checking and enforcement semantics that claries some of them and discusses how such proposal could be implemented in the authors' Echo bidirectional model transformation tool.

### JTL: A Bidirectional and Change Propagating Transformation Language

- Computer ScienceSLE
- 2010

The Janus Transformation Language (JTL) is presented, a bidirectional model transformation language specifically designed to support nonbijective transformations and change propagation and its expressivity and applicability are validated against a reference benchmark.