- Incremental Bidirectional Model Transformation with eMoflon : IBeX - Weidmann, Nils; Anjorin, Anthony; Varro, Gergely; Fritsche, Lars; Schürr, Andy; Leblebici, Erhan - Aachen : CEUR, 2020. - pp. 45-55.
- Lenses and Learners : article in Bidirectional Transformations 2019 : Proceedings of the 8th International Workshop on Bidirectional Transformations (Bx 2019), Philadelphia, PA, USA, June 4, 2019 - Fong, Brendan; Johnson, Michael - Aachen : CEUR, 2019. - 14 pp. - (CEUR workshop series ; 2355).
- Maintaining consistency in networks of models : bidirectional transformations in the large : article - Stevens, Perdita - Berlin : Springer, 2020. - pp. 39-65 - (Software and systems modeling ; 19. 2020).
- Multicategories of Multiary Lenses : article in Bidirectional Transformations 2019 : Proceedings of the 8th International Workshop on Bidirectional Transformations (Bx 2019), Philadelphia, PA, USA, June 4, 2019 - Johnson, Michael; Rosebrugh, Robert - Aachen : CEUR, 2019. - 8 pp. - (CEUR workshop series ; 2355).
- Symmetric c-Lenses and Symmetric d-Lenses are Not : article in Bidirectional Transformations 2019 : Proceedings of the 8th International Workshop on Bidirectional Transformations (Bx 2019), Philadelphia, PA, USA, June 4, 2019 - Johnson, Michael; Renaud, Francois - Aachen : CEUR, 2019. - 5 pp. - (CEUR workshop series ; 2355).
Bidirectional transformations (Bx) are a mechanism for maintaining the consistency of two (or more) related sources of information, such as models in model-driven development, database schemas, or programs. Bx technologies have been developed for practical engineering purposes in many diverse fields. Different disciplines such as programming languages, graph transformations, software engineering, and databases have contributed to the concepts and theory of Bx.
However, so far, most efforts have been focused on the case where exactly two information sources must be kept consistent; the case of more than two has usually been considered as an afterthought. In many practical scenarios, it is essential to work with more than two information sources, but the community has hardly started to identify and address the research challenges that this brings.
Driven by the practical needs and usage scenarios from industry, this Dagstuhl Seminar will 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.
To increase the practical relevance of this seminar, participants from industry who could contribute with their practical experience, scenarios, challenges and problems are particularly encouraged to participate.
The Dagstuhl Seminar on “Multidirectional Transformations and Synchronisations” was the latest on a sequence of events  (coordinated by the Bx Steering Committee ) on bidirectional transformations (abbreviated bx) and related topics. Broadly speaking, the concern of the growing community interested in this topic is the maintenance of consistency between multiple data sources, in the presence of change that may affect any of them. The focus of this Dagstuhl meeting, in particular, was the special issues that arise when one considers more than two data sources at one time. Technical definitions of bx have always allowed for there to be more than two, but in practice, most work to date has focused on maintaining consistency between two data sources. We abbreviate “multidirectional transformation”, hereinafter and generally, to multx or mx.
We began the week with a presentation of case studies and introductory tutorials, and towards the end of the week we had several plenary talks, in cases where someone was able to discuss work that seemed likely to be of general interest. Overall, though, this was a highly interactive Dagstuhl: most of our time during the week was spent either in working groups or, synergistically, discussing in plenary session the outcomes of those working groups and what else needed to be addressed. Reports from each of those working groups, and descriptions of the case studies, are found in the body of this report. Here we briefly introduce them. Inevitably, the topics of the groups overlapped, and some topics that were proposed for working groups were not reached during the week. We encouraged participants to move freely between groups to foster cross-fertilisation of ideas. The names given are those of the authors of the brief reports. Collectively, these topics comprise a research roadmap for the subject.
- WG1: Whether Networks of Bidirectional Transformations Suffice for Multidirectional Transformations. This group began what turned out to be a recurring theme of the week: see below.
- WG2: Partial Consistency Notions. This relates to handling situations in which consistency is not perfectly restored, but only improved to some extent.
- WG3: Semantics of Multidirectional Transformations. This group raised questions about definitions of syntactic and semantic consistencies, vertical and horizontal propagation, etc. After creating enough awareness of the importance of this topic, the working group dissolved and its efforts were merged into others, in particular WG4, WG8 and WG12. WG4: Multiple Interacting Bidirectional Transformations. This group started with an intention of providing a good example of a “truly” multidirectional transformation and defined scenarios where several multx and bx work together towards restoring consitency.
- WG5:Mathematical Backgrounds for Multidirectional Transformations. Following on from WG1, this group considered, from a theoretical perspective, handling multx by the use of a common “federated” supermodel related by spans of asymmetric lenses.
- WG6: Synchronisation Policy. Separate from the issue of what the mechanism is to restore consistency, when should the mechanism be used, and whose decides that?
- WG7: Use Cases and the Definition of Multidirectional Transformations. When are multx really necessary in practice, and how?
- WG8: Human Factors: Interests of Transformation Developers and Users. Sometimes in our focus on technical aspects we lose the human element – who are the humans involved and what do they need from whatever languages, tools and techniques are developed for multx?
- WG9: Provenance in Multidirectional Transformations. Information about what changed and why – provenance and traceability – are crucial to trust in multx; how can that information be provided and handled?
- WG10: Living in the Feet of the Span. Following on from WG1 and WG5: what happens when one conceptually uses a common supermodel, but does not wish to materialise it?
- WG11: Programming Languages for Multidirectional Transformations. This group discussed the challenges that need to be met to produce such languages, with a focus on their type systems.
- WG12: Verification and Validation of Multidirectional Transformations. What needs to be verified or validated about multx, and in what ways do these needs challenge the state of the art in verification and validation?
A recurring theme of the week, turning up in one guise or another in most of the working groups, was the question of the extent to which excellent solutions to the two-source bx problems would, or would not, automatically solve the multx problems. Do problems involving multx really introduce new issues, or are they just more complicated than problems involving bx, perhaps organised in networks? The bx problem is far from solved – we do not yet, for example, have widely adopted and well-supported specialist bx languages – and so there was some feeling that we lacked a firm foundation on which to address multx. More positively, considering multx has the potential to help bx research make progress, by motivating areas that still require more study in order to support the multx case. For example, heterogeneity of the languages in which the data sources and the changes to them are expressed clearly points to a need for bx, and hence multx, approaches that do not need to materialise edit histories for all the sources, nor a common supermodel for them – even if the theory that addresses them might still call on such things conceptually.
The following case study descriptions are also included in the report:
- Multidirectional Transformations for Microservices
- Multidirectionality in Compiler Testing
- Bringing Harmony to the Web
- A Health Informatics Scenario
Perhaps the most important observation from this Dagstuhl meeting, though, is how broad the scope of the research necessary to address multx concerns is. The issues and examples discussed by participants went far beyond multidirectional versions of issues and examples already raised in earlier bx meetings. For example, microservices, the focus of the case study presented by Albert Zündorf (§4.1), would not traditionally have fallen under the bx umbrella, yet is clearly related. This widening of scope is natural. As IT systems become more interdependent and more important to our everyday lives, it is inevitable that data, and the (often separately developed) behaviour it supports, reside in many places. They are coupled, in the sense that changes in one place may mean that changes in another place are necessary, in order to maintain all of these systems in useful operation. Making all such changes manually does not scale: some degree of automated maintenance of consistency is inevitably required. Multx thus subsumes much of software engineering and inherits its concerns. Readers of this document may wish to join the Bx community by subscribing to its mailing list and/or consulting the Bx wiki: see http://bx-community.wikidot.com/start. There is also a catalogue of examples of bx and multx, including some that were discussed at this Dagstuhl .
- Bidirectional Transformations Wiki: Bx Events,
- Bidirectional Transformations Wiki: Bx Steering Committee,
http://bx-community. wikidot.com/bx-steering-committee, 2012.
- Bidirectional Transformations Wiki: List of pages tagged with multxdagstuhl,
- Anthony Anjorin (Universität Paderborn, DE) [dblp]
- Gabor Bergmann (Budapest Univ. of Technology & Economics, HU) [dblp]
- Dominique Blouin (Telecom ParisTech, FR) [dblp]
- James Cheney (University of Edinburgh, GB) [dblp]
- Anthony Cleve (University of Namur, BE) [dblp]
- Sebastian Copei (Universität Kassel, DE)
- Davide Di Ruscio (University of L'Aquila, IT) [dblp]
- Zinovy Diskin (McMaster University - Hamilton, CA) [dblp]
- Jeremy Gibbons (University of Oxford, GB) [dblp]
- Holger Giese (Hasso-Plattner-Institut - Potsdam, DE) [dblp]
- Martin Gogolla (Universität Bremen, DE) [dblp]
- Soichiro Hidaka (Hosei University - Tokyo, JP) [dblp]
- Michael Johnson (Macquarie University - Sydney, AU) [dblp]
- Tsushima Kanae (National Institute of Informatics - Tokyo, JP) [dblp]
- Gabor Karsai (Vanderbilt University, US) [dblp]
- Ekkart Kindler (Technical University of Denmark - Lyngby, DK) [dblp]
- Heiko Klare (KIT - Karlsruher Institut für Technologie, DE) [dblp]
- Hsiang-Shang Ko (National Institute of Informatics - Tokyo, JP) [dblp]
- Harald König (FHDW - Hannover, DE) [dblp]
- Ralf Lämmel (Facebook - London, GB) [dblp]
- Yngve Lamo (West. Norway Univ. of Applied Sciences - Bergen, NO) [dblp]
- Théo Le Calvar (Université d'Angers, FR) [dblp]
- Nuno Macedo (University of Minho - Braga, PT) [dblp]
- Kazutaka Matsuda (Tohoku University - Sendai, JP) [dblp]
- James McKinna (University of Edinburgh, GB) [dblp]
- Fiona A. C. Polack (Keele University - Straffordshire, GB) [dblp]
- Blake S, Pollard (Carnegie Mellon University - Pittsburgh, US) [dblp]
- Robert Rosebrugh (Mount Allison University - Sackville, CA) [dblp]
- Bernhard Rumpe (RWTH Aachen, DE) [dblp]
- Andy Schürr (TU Darmstadt, DE) [dblp]
- Bran V. Selic (Malina Software Corp. - Nepean, CA) [dblp]
- Friedrich Steimann (Fernuniversität in Hagen, DE) [dblp]
- Perdita Stevens (University of Edinburgh, GB) [dblp]
- Matthias Tichy (Universität Ulm, DE) [dblp]
- Frank Trollmann (TU Berlin, DE) [dblp]
- Jens Holger Weber (University of Victoria, CA) [dblp]
- Nils Weidmann (Universität Paderborn, DE) [dblp]
- Bernhard Westfechtel (Universität Bayreuth, DE) [dblp]
- Vadim Zaytsev (RainCode - Brussels, BE) [dblp]
- Albert Zündorf (Universität Kassel, DE) [dblp]
- Dagstuhl Seminar 11031: Bidirectional Transformations "bx" (2011-01-16 - 2011-01-21) (Details)
- data bases / information retrieval
- programming languages / compiler
- software engineering
- Multidirectional model transformation
- model-driven development