Bidirectional Transformations: A Cross-Discipline Perspective

The GRACE International Meeting on Bidirectional Transformations was held in December 2008 near Tokyo, Japan. The meeting brought together researchers and practitioners from a variety of sub-disciplines of computer science to share research efforts and help create a new community. In this report, we survey the state of the art and summarize the technical presentations delivered at the meeting. We also describe some insights gathered from our discussions and introduce a new effort to establish a benchmark for bidirectional transformations.

[1]  Arthur M. Keller,et al.  The Role of Semantics in Translating View Updates , 1986, Computer.

[2]  Kazutaka Matsuda,et al.  Bidirectionalization transformation based on automatic derivation of view complement functions , 2007, ICFP '07.

[3]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[4]  Benjamin C. Pierce,et al.  Relational lenses: a language for updatable views , 2006, PODS '06.

[5]  Krzysztof Czarnecki,et al.  Towards a Generic Infrastructure for Framework-Specific Integrated Development Environment Extensions , 2008 .

[6]  Jorge Horacio Doorn,et al.  Encyclopedia of Database Technologies and Applications , 2005 .

[7]  Philip A. Bernstein,et al.  Compiling mappings to bridge applications and databases , 2007, SIGMOD '07.

[8]  João Saraiva,et al.  The Objects and Arrows of Computational Design , 2008, MoDELS.

[9]  Umeshwar Dayal,et al.  On the correct translation of update operations on relational views , 1982, TODS.

[10]  Ramez Elmasri,et al.  Entity-Relationship Approach — ER '93 , 1993, Lecture Notes in Computer Science.

[11]  Matthias Felleisen,et al.  Debugging macros , 2007, GPCE '07.

[12]  Philip Wadler,et al.  Theorems for free! , 1989, FPCA.

[13]  Kazutaka Matsuda,et al.  Translucent Abstraction: Safe Views through Invertible Programming , 2009 .

[14]  Ralf Lämmel Grammar Adaptation , 2001, FME.

[15]  Benjamin C. Pierce,et al.  Quotient lenses , 2008, ICFP.

[16]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[17]  Soichiro Hidaka,et al.  A compositional approach to bidirectional model transformation , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[18]  Vincent Y. Lum,et al.  EXPRESS: a data EXtraction, Processing, and Restructuring System , 1977, TODS.

[19]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[20]  Zachary G. Ives,et al.  Bidirectional Mappings for Data and Update Exchange , 2008, WebDB.

[21]  Andy Schürr,et al.  Special Section on Model-based Tool Integration , 2004 .

[22]  Sanjeev Khanna,et al.  Edinburgh Research Explorer On the Propagation of Deletions and Annotations through Views , 2013 .

[23]  Jean Bézivin,et al.  08331 Abstracts Collection - Perspectives Workshop: Model Engineering of Complex Systems (MECS) , 2008, Perspectives Workshop: Model Engineering of Complex Systems.

[24]  Brian Beckman,et al.  LINQ: reconciling object, relations and XML in the .NET framework , 2006, SIGMOD Conference.

[25]  Shin-Cheng Mu,et al.  A programmable editor for developing structured documents based on bidirectional transformations , 2004, PEPM '04.

[26]  Pablo Castro,et al.  ADO.NET entity framework: raising the level of abstraction in data programming , 2007, SIGMOD '07.

[27]  José Nuno Oliveira Transforming Data by Calculation , 2007, GTTSE.

[28]  Michael Lawley,et al.  Model Synchronisation: Definitions for Round-Trip Engineering , 2008, ICMT@TOOLS.

[29]  Holger Giese,et al.  From model transformation to incremental bidirectional model synchronization , 2009, Software & Systems Modeling.

[30]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[31]  Dongxi Liu,et al.  Towards automatic model synchronization from model transformations , 2007, ASE.

[32]  Antonio Vallecillo A Journey through the Secret Life of Models , 2008, Perspectives Workshop: Model Engineering of Complex Systems.

[33]  Matthias Felleisen,et al.  Expressing Structural Properties as Language Constructs , 1999, ESOP.

[34]  Michal Antkiewicz,et al.  Framework-specific modeling languages , 2008 .

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

[36]  Dániel Varró,et al.  Benchmarking for graph transformation , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[37]  Michal Antkiewicz,et al.  Design Space of Heterogeneous Synchronization , 2007, GTTSE.

[38]  Michal Antkiewicz,et al.  Model-versioning-in-the-large: Algebraic foundations and the tile notation , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[39]  Ralf Lämmel,et al.  An Introduction to Grammar Convergence , 2009, IFM.

[40]  Jácome Cunha,et al.  From spreadsheets to relational databases and back , 2009, PEPM '09.

[41]  Vivek Sarkar,et al.  XJ: facilitating XML processing in Java , 2005, WWW '05.

[42]  Sander Vermolen,et al.  Heterogeneous Coupled Evolution of Software Languages , 2008, MoDELS.

[43]  Nicolas Spyratos,et al.  Update semantics of relational views , 1981, TODS.

[44]  Wolfgang Lohmann Format Evolution , 2001 .

[45]  Philip Wadler,et al.  Views: a way for pattern matching to cohabit with data abstraction , 1987, POPL '87.

[46]  Shinya Kawanaka,et al.  biXid: a bidirectional transformation language for XML , 2006, ICFP '06.

[47]  Perdita Stevens Towards an Algebraic Theory of Bidirectional Transformations , 2008, ICGT.

[48]  Claus Brabrand,et al.  Dual syntax for XML languages , 2005, Inf. Syst..

[49]  James F. Terwilliger Graphical user interfaces as updatable views , 2009 .

[50]  Janis Voigtländer Bidirectionalization for free! (Pearl) , 2009, POPL '09.

[51]  Guido Wachsmuth,et al.  Metamodel Adaptation and Model Co-adaptation , 2007, ECOOP.

[52]  Ralf Lämmel,et al.  Mappings Make Data Processing Go 'Round , 2005, GTTSE.

[53]  Masato Takeichi,et al.  Consistent Web site updating based on bidirectional transformation , 2008, 2008 10th International Symposium on Web Site Evolution.

[54]  Antonio Cicchetti,et al.  Automating Co-evolution in Model-Driven Engineering , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[55]  Val Tannen,et al.  Update Exchange with Mappings and Provenance , 2007, VLDB.

[56]  Michael L. Van de Vanter Preserving the Documentary Structure of Source Code in Language-Based Transformation Tools , 2001, SCAM.

[57]  José Nuno Oliveira,et al.  FME 2001: Formal Methods for Increasing Software Productivity , 2001, Lecture Notes in Computer Science.

[58]  Charles H. Bennett,et al.  Logical reversibility of computation , 1973 .

[59]  Joost Visser,et al.  Coupled Schema Transformation and Data Conversion for XML and SQL , 2007, PADL.

[60]  Lois M. L. Delcambre,et al.  Querying through a user interface , 2007, Data Knowl. Eng..

[61]  Robert Glück,et al.  Principles of a reversible programming language , 2008, CF '08.

[62]  Dan Suciu,et al.  UnQL: a query language and algebra for semistructured data based on structural recursion , 2000, The VLDB Journal.

[63]  Michal Antkiewicz,et al.  Engineering of Framework-Specific Modeling Languages , 2009, IEEE Transactions on Software Engineering.

[64]  Jean-Luc Hainaut,et al.  Schema Transformation Techniques for Database Reverse Engineering , 1993, ER.

[65]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[66]  Perdita Stevens,et al.  A Landscape of Bidirectional Model Transformations , 2007, GTTSE.

[67]  Marcelo Arenas,et al.  XML data exchange: consistency and query answering , 2005, PODS '05.

[68]  Erik Ernst,et al.  ECOOP 2007 - Object-Oriented Programming, 21st European Conference, Berlin, Germany, July 30 - August 3, 2007, Proceedings , 2007, ECOOP.

[69]  Robert Glück,et al.  Reversible Machine Code and Its Abstract Processor Architecture , 2007, CSR.

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

[71]  Robert Glück,et al.  Reversible Flowchart Languages and the Structured Reversible Program Theorem , 2008, ICALP.

[72]  Ronald Fagin,et al.  Inverting schema mappings , 2006, TODS.

[73]  Robert Gruber,et al.  PADS: a domain-specific language for processing ad hoc data , 2005, PLDI '05.

[74]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[75]  Gang Huang,et al.  Runtime recovery and manipulation of software architecture of component-based systems , 2006, Automated Software Engineering.

[76]  Philip A. Bernstein,et al.  Language-integrated querying of XML data in SQL server , 2008, Proc. VLDB Endow..

[77]  Arthur M. Keller,et al.  Persistence software: bridging object-oriented programming and relational databases , 1993, SIGMOD '93.

[78]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[79]  Andy Schürr,et al.  MDI: A Rule-based Multi-document and Tool Integration Approach , 2006, Software & Systems Modeling.

[80]  David Walker,et al.  From dirt to shovels: fully automatic tool generation from ad hoc data , 2008, POPL '08.

[81]  Ronald Fagin,et al.  Data exchange: semantics and query answering , 2003, Theor. Comput. Sci..

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

[83]  Günter Riedewald,et al.  Towards automatical migration of transformation rules after grammar extension , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[84]  Jin Li Low noise reversible MDCT (RMDCT) and its application in progressive-to-lossless embedded audio coding , 2005, IEEE Transactions on Signal Processing.

[85]  Wang Chiew Tan,et al.  STBenchmark: towards a benchmark for mapping systems , 2008, Proc. VLDB Endow..

[86]  Laura M. Haas,et al.  The Clio project: managing heterogeneity , 2001, SGMD.

[87]  Ioana Manolescu,et al.  The XML benchmark project , 2001 .

[88]  Nick Benton,et al.  Under Consideration for Publication in J. Functional Programming Embedded Interpreters , 2022 .

[89]  Michal Antkiewicz,et al.  Automatic extraction of framework-specific models from framework-based application code , 2007, ASE.

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

[91]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[92]  Benjamin C. Pierce,et al.  Combinators for bi-directional tree transformations: a linguistic approach to the view update problem , 2005, POPL '05.

[93]  Michal Antkiewicz,et al.  Framework-Specific modeling languages with round-trip engineering , 2006, MoDELS'06.

[94]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[95]  Anthony Cleve,et al.  Co-transformations in Database Applications Evolution , 2005, GTTSE.

[96]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[97]  Zinovy Diskin,et al.  Algebraic Models for Bidirectional Model Synchronization , 2008, MoDELS.

[98]  Micha l Antkiewicz,et al.  Framework-Specic Modeling Languages , 2008 .

[99]  Jeremy Gibbons Datatype-Generic Programming , 2006, SSDGP.

[100]  Akimasa Morihata,et al.  Automatic inversion generates divide-and-conquer parallel programs , 2007, PLDI '07.

[101]  Bruno C. d. S. Oliveira,et al.  Comparing libraries for generic programming in haskell , 2008, Haskell '08.

[102]  Haiyan Zhao,et al.  GRACE TECHNICAL REPORTS Beanbag: Operation-based Synchronization with Intra-relations , 2008 .

[103]  Satoshi Matsuoka,et al.  A Constraint-Based Approach for Visualization and Animation , 2004, Constraints.

[104]  João Saraiva,et al.  Generative and Transformational Techniques in Software Engineering II , 2007, Lecture Notes in Computer Science.

[105]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[106]  Jean-Luc Hainaut,et al.  Transformation-based Database Reverse Engineering , 1993 .

[107]  H. Song,et al.  GRACE TECHNICAL REPORTS A Model-Driven Framework for Constructing Runtime Architecture Infrastructures , 2008 .

[108]  Benjamin C. Pierce,et al.  Boomerang: resourceful lenses for string data , 2008, POPL '08.

[109]  Phokion G. Kolaitis,et al.  Peer data exchange , 2005, PODS '05.

[110]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[111]  Soichiro Hidaka,et al.  Towards a compositional approach to model transformation for software development , 2009, SAC '09.

[112]  Alexandra Poulovassilis,et al.  Data integration by bi-directional schema transformation rules , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[113]  Ralf Lämmel,et al.  Revealing the X/O Impedance Mismatch - (Changing Lead into Gold) , 2006, SSDGP.

[114]  Joost Visser Coupled Transformation of Schemas, Documents, Queries, and Constraints , 2008, Electron. Notes Theor. Comput. Sci..

[115]  Andy Schürr,et al.  15 years of triple graph grammar : research challenges, new contribultions, open problems , 2008 .

[116]  Antonio Vallecillo,et al.  Change Management in Multi-Viewpoint System Using ASP , 2008, 2008 12th Enterprise Distributed Object Computing Conference Workshops.

[117]  Jie Zhao,et al.  Schema Mediation in Peer Data Management Systems , 2011, Int. J. Cooperative Inf. Syst..

[118]  Ralf Lämmel,et al.  Style normalization for canonical X-to-O mappings , 2007, PEPM '07.

[119]  Shin-Cheng Mu,et al.  An Algebraic Approach to Bi-directional Updating , 2004, APLAS.

[120]  Zinovy Diskin,et al.  Mathematics of Generic Specifications for Model Management, I , 2005, Encyclopedia of Database Technologies and Applications.

[121]  Norman Ramsey,et al.  Embedding an interpreted language using higher-order functions and types , 2003, IVME '03.