Bidirectional transformations: two's company?
Perdita Stevens ( University of Edinburgh )
- 14:00 29th August 2017Lecture Theatre B, Wolfson Building, Parks Road
A bidirectional transformation (bx) is a means of maintaining consistency
between two (or more) data sources. In model driven development, the data
sources are models: that is, abstract, usually graphical, representations
of some aspects of a system. My MODELS 2007 paper "Bidirectional Model
Transformations in QVT: Semantic Issues and Open Questions" has been
selected for the 10-year Most Influential Paper award, and in the first
half of this seminar I will discuss that paper, where it came from and what
happened next. In particular I will discuss the simplest framework in which
we can consider bx, and the key properties we may want them to have; I'll
also briefly discuss the Object Management Group's QVT standardisation and
the lessons we can learn from it. The second half of the seminar will be
based on my MODELS 2017 paper, "Bidirectional Transformations in the
Large". Here I address the fact that the "(or more)" in the opening
sentence of this abstract has not yet been taken seriously enough. I'll
discuss the various senses in which binary bx are, or are not, expressive
enough to encode bx that maintain consistency between more than two models,
and I'll describe some early work on networks of binary bx. Along the way,
I'll try to convince you that this matters: that these issues are on the
critical path for a necessary revolution in the software development
process.