Reusable self-adaptation through bidirectional programming

Kevin Colson, Robin Dupuis, Lionel Montrieux, Zhenjiang Hu, Sebastian Uchitel, Pierre Yves Schobbens

Research output: Contribution in Book/Catalog/Report/Conference proceedingConference contribution

Abstract

In self-adaptive systems, an adaptation strategy can apply to several implementations of a target system. Reusing this strategy requires models of the target system that are independent of its implementation. In particular, configuration files must be transformed into abstract configurations, but correctly synchronizing these two representations is not trivial. We propose an approach that uses putback-based bidirectional programming to guarantee that this synchronization is correct by construction. We demonstrate the correctness of our approach and how it handles typical features of configuration files, such as implicit default values and context overriding. We also show that our approach can be used to migrate configuration files from one implementation to another. We illustrate our approach with a case study, where we use the same abstract model to adapt two web server implementations. For each implementation, we provide a bidirectional program that correctly synchronizes the configuration file with an abstract model of the configuration. A first scenario demonstrates that the same changes on the abstract model produce, for each implementation, a new configuration that correctly reflects the changes made to the abstract model, without side effects. A second scenario validates the migration of a configuration file from the format used by one web server implementation to another.

Original languageEnglish
Title of host publicationProceedings - 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2016
PublisherACM Press
Pages4-15
Number of pages12
ISBN (Electronic)9781450341875
DOIs
Publication statusPublished - 14 May 2016
Event11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2016 - Austin, United States
Duration: 16 May 201617 May 2016

Conference

Conference11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2016
CountryUnited States
CityAustin
Period16/05/1617/05/16

Keywords

  • Bidirectional programming
  • Model abstraction
  • Self-adaptation
  • Synchronization

Fingerprint

Dive into the research topics of 'Reusable self-adaptation through bidirectional programming'. Together they form a unique fingerprint.

Cite this