Programming language implementations for context-oriented self-adaptive systems

The context-oriented programming paradigm is designed to enable self-adaptation, or dynamic behavior modification of software systems, in response to changes in their surrounding environment. Contextoriented programming offers an adaptation model, from a programming language perspective, that mainta...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Information and software technology Jg. 143; S. 106789
Hauptverfasser: Cardozo, Nicolás, Mens, Kim
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Elsevier B.V 01.03.2022
Schlagworte:
ISSN:0950-5849, 1873-6025
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:The context-oriented programming paradigm is designed to enable self-adaptation, or dynamic behavior modification of software systems, in response to changes in their surrounding environment. Contextoriented 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. 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. 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. Our results show a higher modularity than that for common architecture based self-adaptive systems, while maintaining comparable performance. We conclude that context-oriented programming is an appropriate paradigm to realize self-adaptation.
ISSN:0950-5849
1873-6025
DOI:10.1016/j.infsof.2021.106789