Auto-COP: Adaptation Generation in Context-Oriented Programming using Reinforcement Learning Options

03/11/2021
by   Nicolás Cardozo, et al.
0

Self-adaptive software systems continuously adapt in response to internal and external changes in their execution environment, captured as contexts. The COP paradigm posits a technique for the development of self-adaptive systems, capturing their main characteristics with specialized programming language constructs. COP adaptations are specified as independent modules composed in and out of the base system as contexts are activated and deactivated in response to sensed circumstances from the surrounding environment. However, the definition of adaptations, their contexts and associated specialized behavior, need to be specified at design time. In complex CPS this is intractable due to new unpredicted operating conditions. We propose Auto-COP, a new technique to enable generation of adaptations at run time. Auto-COP uses RL options to build action sequences, based on the previous instances of the system execution. Options are explored in interaction with the environment, and the most suitable options for each context are used to generate adaptations exploiting COP. To validate Auto-COP, we present two case studies exhibiting different system characteristics and application domains: a driving assistant and a robot delivery system. We present examples of Auto-COP code generated at run time, to illustrate the types of circumstances (contexts) requiring adaptation, and the corresponding generated adaptations for each context. We confirm that the generated adaptations exhibit correct system behavior measured by domain-specific performance metrics, while reducing the number of required execution/actuation steps by a factor of two showing that the adaptations are regularly selected by the running system as adaptive behavior is more appropriate than the execution of primitive actions.

READ FULL TEXT

page 8

page 9

page 14

research
10/25/2022

Specialization of Run-time Configuration Space at Compile-time: An Exploratory Study

Numerous software systems are highly configurable through run-time optio...
research
03/11/2021

Adaptation to Unknown Situations as the Holy Grail of Learning-Based Self-Adaptive Systems: Research Directions

Self-adaptive systems continuously adapt to changes in their execution e...
research
08/08/2018

Self-Adaptive Systems in Organic Computing: Strategies for Self-Improvement

With the intensified use of intelligent things, the demands on the techn...
research
01/13/2019

Context Oriented Software Middleware

Our middleware approach, Context-Oriented Software Middleware (COSM), su...
research
01/13/2019

A Deep Recurrent Q Network towards Self-adapting Distributed Microservices architecture

Our middleware approach, Context-Oriented Software Middleware (COSM), su...
research
08/02/2018

Synapse: Synthetic Application Profiler and Emulator

Motivated by the need to emulate workload execution characteristics on h...
research
08/07/2016

Towards the Self-constructive Brain: emergence of adaptive behavior

Adaptive behavior is mainly the result of adaptive brains. We go a step ...

Please sign up or login with your details

Forgot password? Click here to reset