HomeForumSourceResearchGuide
This is a research entry associated with a third-party research project or paper. We are not responsible for the contents of any files associated with this submission, or for the accuracy of any code / results. Any questions should be directed to the author(s) of the work.
A Programming Language for Sound Self-Adaptive Systems
Abstract: The ability for programs and systems to adapt at runtime, seamlessly and without any apparent interruption, allows a program to adjust its behavior to its context. This is increasingly desirable as (i) system complexity increases, making it hard to predict the best combinations of behavior at design-time, and (ii) uncertainty of deployment environments persists -- where no single algorithm or architecture is ideal in all conditions. 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 the self-adaptive systems using hot-swapping remain largely untrusted for large-scale production use. In this context we study three research questions: (i) what is the general soundness principle for self-adaptive systems? (ii) how can we embed this soundness principle in a general-purpose programming language; and (iii) what are the operational costs of that language in upholding soundness for self-adaptive systems? 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 inherently guaranteed.
Status: Paper has no replication package, or it's hosted elsewhere; see paper for details.
Venue: ACSOS 2021.