Porter, Barry and Rodrigues Filho, Roberto (2021) A Programming Language for Sound Self-Adaptive Systems. In: 2021 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS) :. IEEE, USA, pp. 145-150. ISBN 9781665412612
main.pdf - Accepted Version
Available under License Creative Commons Attribution-NonCommercial.
Download (229kB)
Abstract
The ability for systems to adapt at runtime by hot-swapping their logic, seamlessly and without any apparent interruption, allows a program to adjust its behavior to its context. Research in adaptive systems support has to date focused on the basic mechanics of hot-swapping code at runtime, with the soundness of a system after each hot-swap left to the developer to assure on a case-by-case basis. Providing this assurance in existing programming languages is sufficiently difficult that self-adaptive systems using hot-swapping remain largely untrusted for production use. In this context we study two research questions: (i) what is the general soundness principle for self-adaptive systems; and (ii) how can we embed this soundness principle in a general-purpose programming language? We answer these questions partly by theoretical analysis, and partly through developing a novel general-purpose programming language which embeds our soundness principle -- allowing any module to be hot-swapped with the soundness of the wider system guaranteed.