Programming language implementations for context-oriented self-adaptive systems

Cardozo, Nicolás;Mens, Kim
(2022) Information and Software Technology — Vol. 143, n° 106789, p. 27 (2022)

Files

main.pdf
  • Open Access
  • Adobe PDF
  • 922.2 KB

Details

Authors
  • Cardozo, NicolásSystems and Computing Engineering Department, Universidad de los Andes, FLAG Laboratory, Bogotá, Colombia
    Author
  • Mens, Kimorcid-logoUCLouvain
    Author
Abstract
Context: The context-oriented programming paradigm is designed to enable self-adaptation, or dynamic behaviour modification of software systems, in response to changes in their surrounding environment. Context-oriented programming offers an adaptation model, from a programming language perspective, that maintains a clean modularisation between the application and adaptation logic, as well as between the components providing adaptations. Objective: We use three implementation techniques for context-oriented programming languages to assess their appropriateness to foster self-adaptive systems. These approaches take advantage of the capabilities offered by the host programming language to realize self-adaptation as proposed by context-oriented languages. Method: We evaluate each of these approaches by assessing their modularity and complexity when defining adaptations, and by comparing their run-time performance on a simple benchmark. Results: Our results show a higher modularity than that for common architecture-based self-adaptive systems, while maintaining comparable performance. Conclusion: We conclude that context-oriented programming is an appropriate paradigm to realize self-adaptation.
Affiliations

Citations

Cardozo, N., & Mens, K. (2022). Programming language implementations for context-oriented self-adaptive systems. Information and Software Technology, 143(106789), 27. https://doi.org/10.1016/j.infsof.2021.106789 (Original work published 2022)