A Programming Language for Sound Self-Adaptive Systems

B. Porter, Roberto Rodrigues Filho · 2021

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.

Read the paper · More papers on PaperTik