2 research outputs found
Feature-Model-Guided Online Learning for Self-Adaptive Systems
A self-adaptive system can modify its own structure and behavior at runtime
based on its perception of the environment, of itself and of its requirements.
To develop a self-adaptive system, software developers codify knowledge about
the system and its environment, as well as how adaptation actions impact on the
system. However, the codified knowledge may be insufficient due to design time
uncertainty, and thus a self-adaptive system may execute adaptation actions
that do not have the desired effect. Online learning is an emerging approach to
address design time uncertainty by employing machine learning at runtime.
Online learning accumulates knowledge at runtime by, for instance, exploring
not-yet executed adaptation actions. We address two specific problems with
respect to online learning for self-adaptive systems. First, the number of
possible adaptation actions can be very large. Existing online learning
techniques randomly explore the possible adaptation actions, but this can lead
to slow convergence of the learning process. Second, the possible adaptation
actions can change as a result of system evolution. Existing online learning
techniques are unaware of these changes and thus do not explore new adaptation
actions, but explore adaptation actions that are no longer valid. We propose
using feature models to give structure to the set of adaptation actions and
thereby guide the exploration process during online learning. Experimental
results involving four real-world systems suggest that considering the
hierarchical structure of feature models may speed up convergence by 7.2% on
average. Considering the differences between feature models before and after an
evolution step may speed up convergence by 64.6% on average. [...
Response-Time Analysis for Task Chains in Communicating Threads
When modelling software components for timing
analysis, we typically encounter functional chains of tasks that
lead to precedence relations. As these task chains represent a
functionally-dependent sequence of operations, in real-time systems,
there is usually a requirement for their end-to-end latency.
When mapped to software components, functional chains often
result in communicating threads. Since threads are scheduled
rather than tasks, specific task chain properties arise that can be
exploited for response-time analysis. As a core contribution, this
paper presents an extension of the busy-window analysis suitable
for such task chains in static-priority preemptive systems. We
evaluated the extended busy-window analysis in a compositional
performance analysis using synthetic test cases and a realistic
automotive use case showing far tighter response-time bounds
than current approaches