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...
Saved in:
| Published in: | Information and software technology Vol. 143; p. 106789 |
|---|---|
| Main Authors: | , |
| Format: | Journal Article |
| Language: | English |
| Published: |
Elsevier B.V
01.03.2022
|
| Subjects: | |
| ISSN: | 0950-5849, 1873-6025 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Summary: | 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 |