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-funded project A Theory of Least Change for Bidirectional Transformations.

[1]  Paul Hudak,et al.  Monad transformers and modular interpreters , 1995, POPL '95.

[2]  Lambert Meertens,et al.  Designing Constraint Maintainers for User Interaction , 1998 .

[3]  Ulf Norell,et al.  Dependently typed programming in Agda , 2009, TLDI '09.

[4]  E. Van Gestel,et al.  Programming in Martin-Löf's Type Theory: an Introduction : Bengt Nordström, Kent Petersson and Jan M. Smith Intl. Series of Monographs on Computer Science, Vol. 7, Oxford Science Publications, Oxford, 1990, 231 pages , 1991 .

[5]  Alcino Cunha,et al.  Least-change bidirectional model transformation with QVT-R and ATL , 2014, Software & Systems Modeling.

[6]  Kazutaka Matsuda,et al.  Three Complementary Approaches to Bidirectional Programming , 2010, SSGIP.

[7]  Michael Johnson,et al.  Lenses, fibrations and universal translations† , 2011, Mathematical Structures in Computer Science.

[8]  Andy Schürr,et al.  15 Years of Triple Graph Grammars , 2008, ICGT.

[9]  Stephen J. Hegner,et al.  An Order-Based Theory of Updates for Closed Database Views , 2004, Annals of Mathematics and Artificial Intelligence.

[10]  Michael Johnson,et al.  Unifying Set-Based, Delta-Based and Edit-Based Lenses , 2016, Bx@ETAPS.

[11]  Andy Schürr,et al.  Bidirectional Transformations "bx" , 2011 .

[12]  Michael Johnson,et al.  Lens put-put laws: monotonic and mixed , 2012, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[13]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[14]  Perdita Stevens,et al.  Bidirectional model transformations in QVT: semantic issues and open questions , 2007, MODELS'07.

[15]  Philip Wadler Monads for Functional Programming , 1995, Advanced Functional Programming.

[16]  Terrence W. Pratt,et al.  Pair Grammars, Graph Languages and String-to-Graph Translations , 1971, J. Comput. Syst. Sci..