Write a Blog >>
Tue 20 Jun 2017 15:00 - 15:30 at Vertex WS216 - Session 3

Context-oriented Programming enables dynamic behavioral adap- tations with the purpose of presenting the most appropriate behav- ior to the situations in software systems’ surrounding execution environment. However, as multiple situations may be sensed simul- taneously, different such adaptations may be applicable, generating conflicts in systems’ execution. Deciding which behavioral adapta- tion to use in every situation is normally left to developers, who are therefore required to foresee and resolve all possible conflicts between adaptations manually at design time. Due to systems’ high dynamicity, combinations of situations and interactions between adaptations might be unfeasible to foresee and may variate during the system execution. In response to this, we posit an automated conflict resolution mechanism that accounts for the system un- certainty and dynamics. The mechanism builds on W-Learning, a Reinforcement Learning algorithm that captures the relationships between simultaneously proposed adaptations over time, updating their appropriateness as the system progresses. As a consequence, the system itself learns which of the potentially conflicting adapta- tions is most appropriate for the current combination of the sensed situations, according to the system’s global payoff. We implement a proof-of-concept vehicle cruise-control system, illustrating the situations in which multiple conflicting adaptations are proposed. We demonstrate that the system learns which adaptation should be executed for every combination of the sensed contexts, such that high-level goals of the underlying system remain satisfied.

preprint (main.pdf)773KiB