Reusable Configuration Self-Adaptation through Bidirectional Programming

  • Kevin Colson
  • Robin Dupuis

Student thesis: Master typesMaster in Computer science

Abstract

In self-adaptive systems, an adaptation strategy can apply to several im-plementations 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 cor-rectly 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 configu-ration 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 imple-mentation, 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 pro-duce, for each implementation, a new configuration that correctly reflects the changes made to the abstract model, without side effects. A second sce-nario validates the migration of a configuration file from the format used by one web server implementation to another.
Date of Award1 Sept 2016
Original languageEnglish
Awarding Institution
  • University of Namur
SupervisorPierre Yves Schobbens (Supervisor)

Keywords

  • Self-adaptation
  • model abstraction
  • synchronization
  • bidirectional programming

Cite this

'