Bidirectional transformations are a synchronisation mechanism between documents, a source, and a view. A bidirectional transformation is a pair of functions, one that extracts a view from a source and the other that updates a source according to changes made to the view. Bidirectional programming is a recent technique that helps developers to easily write bidirectional transformations and ensure that they satisfy properties of interest. In this chapter, we argue that bidirectional transformations and bidirectional programming are useful techniques in the context of self-adaptive systems.We present four applications of bidirectional transformation for construction of adaptive systems: abstraction, separation of concerns, rule-based adaptation, and uncertainty-aware programming.
|Title of host publication||Engineering adaptive software systems|
|Subtitle of host publication||Communications of nii shonan meetings|
|Number of pages||20|
|Publication status||Published - Jan 14 2019|
All Science Journal Classification (ASJC) codes
- Computer Science(all)