362,575 research outputs found
Transfer Learning for Improving Model Predictions in Highly Configurable Software
Modern software systems are built to be used in dynamic environments using
configuration capabilities to adapt to changes and external uncertainties. In a
self-adaptation context, we are often interested in reasoning about the
performance of the systems under different configurations. Usually, we learn a
black-box model based on real measurements to predict the performance of the
system given a specific configuration. However, as modern systems become more
complex, there are many configuration parameters that may interact and we end
up learning an exponentially large configuration space. Naturally, this does
not scale when relying on real measurements in the actual changing environment.
We propose a different solution: Instead of taking the measurements from the
real system, we learn the model using samples from other sources, such as
simulators that approximate performance of the real system at low cost. We
define a cost model that transform the traditional view of model learning into
a multi-objective problem that not only takes into account model accuracy but
also measurements effort as well. We evaluate our cost-aware transfer learning
solution using real-world configurable software including (i) a robotic system,
(ii) 3 different stream processing applications, and (iii) a NoSQL database
system. The experimental results demonstrate that our approach can achieve (a)
a high prediction accuracy, as well as (b) a high model reliability.Comment: To be published in the proceedings of the 12th International
Symposium on Software Engineering for Adaptive and Self-Managing Systems
(SEAMS'17
Towards Highly Scalable Runtime Models with History
Advanced systems such as IoT comprise many heterogeneous, interconnected, and
autonomous entities operating in often highly dynamic environments. Due to
their large scale and complexity, large volumes of monitoring data are
generated and need to be stored, retrieved, and mined in a time- and
resource-efficient manner. Architectural self-adaptation automates the control,
orchestration, and operation of such systems. This can only be achieved via
sophisticated decision-making schemes supported by monitoring data that fully
captures the system behavior and its history.
Employing model-driven engineering techniques we propose a highly scalable,
history-aware approach to store and retrieve monitoring data in form of
enriched runtime models. We take advantage of rule-based adaptation where
change events in the system trigger adaptation rules. We first present a scheme
to incrementally check model queries in the form of temporal logic formulas
which represent the conditions of adaptation rules against a runtime model with
history. Then we enhance the model to retain only information that is
temporally relevant to the queries, therefore reducing the accumulation of
information to a required minimum. Finally, we demonstrate the feasibility and
scalability of our approach via experiments on a simulated smart healthcare
system employing a real-world medical guideline.Comment: 8 pages, 4 figures, 15th International Symposium on Software
Engineering for Adaptive and Self-Managing Systems (SEAMS2020
mRUBiS: An Exemplar for Model-Based Architectural Self-Healing and Self-Optimization
Self-adaptive software systems are often structured into an adaptation engine
that manages an adaptable software by operating on a runtime model that
represents the architecture of the software (model-based architectural
self-adaptation). Despite the popularity of such approaches, existing exemplars
provide application programming interfaces but no runtime model to develop
adaptation engines. Consequently, there does not exist any exemplar that
supports developing, evaluating, and comparing model-based self-adaptation off
the shelf. Therefore, we present mRUBiS, an extensible exemplar for model-based
architectural self-healing and self-optimization. mRUBiS simulates the
adaptable software and therefore provides and maintains an architectural
runtime model of the software, which can be directly used by adaptation engines
to realize and perform self-adaptation. Particularly, mRUBiS supports injecting
issues into the model, which should be handled by self-adaptation, and
validating the model to assess the self-adaptation. Finally, mRUBiS allows
developers to explore variants of adaptation engines (e.g., event-driven
self-adaptation) and to evaluate the effectiveness, efficiency, and scalability
of the engines
DATESSO: Self-Adapting Service Composition with Debt-Aware Two Levels Constraint Reasoning
The rapidly changing workload of service-based systems can easily cause
under-/over-utilization on the component services, which can consequently
affect the overall Quality of Service (QoS), such as latency. Self-adaptive
services composition rectifies this problem, but poses several challenges: (i)
the effectiveness of adaptation can deteriorate due to over-optimistic
assumptions on the latency and utilization constraints, at both local and
global levels; and (ii) the benefits brought by each composition plan is often
short term and is not often designed for long-term benefits -- a natural
prerequisite for sustaining the system. To tackle these issues, we propose a
two levels constraint reasoning framework for sustainable self-adaptive
services composition, called DATESSO. In particular, DATESSO consists of a re
ned formulation that differentiates the "strictness" for latency/utilization
constraints in two levels. To strive for long-term benefits, DATESSO leverages
the concept of technical debt and time-series prediction to model the utility
contribution of the component services in the composition. The approach embeds
a debt-aware two level constraint reasoning algorithm in DATESSO to improve the
efficiency, effectiveness and sustainability of self-adaptive service
composition. We evaluate DATESSO on a service-based system with real-world
WS-DREAM dataset and comparing it with other state-of-the-art approaches. The
results demonstrate the superiority of DATESSO over the others on the
utilization, latency and running time whilst likely to be more sustainable.Comment: Accepted to the SEAMS '20. Please use the following citation: Satish
Kumar, Tao Chen, Rami Bahsoon, and Rajkumar Buyya. DATESSO: Self-Adapting
Service Composition with Debt-Aware Two Levels Constraint Reasoning. In
IEEE/ACM 15th International Symposium on Software Engineering for Adaptive
and Self-Managing Systems, Oct 7-8, 2020, Seoul, Kore
Taming Uncertainty in the Assurance Process of Self-Adaptive Systems: a Goal-Oriented Approach
Goals are first-class entities in a self-adaptive system (SAS) as they guide
the self-adaptation. A SAS often operates in dynamic and partially unknown
environments, which cause uncertainty that the SAS has to address to achieve
its goals. Moreover, besides the environment, other classes of uncertainty have
been identified. However, these various classes and their sources are not
systematically addressed by current approaches throughout the life cycle of the
SAS. In general, uncertainty typically makes the assurance provision of SAS
goals exclusively at design time not viable. This calls for an assurance
process that spans the whole life cycle of the SAS. In this work, we propose a
goal-oriented assurance process that supports taming different sources (within
different classes) of uncertainty from defining the goals at design time to
performing self-adaptation at runtime. Based on a goal model augmented with
uncertainty annotations, we automatically generate parametric symbolic formulae
with parameterized uncertainties at design time using symbolic model checking.
These formulae and the goal model guide the synthesis of adaptation policies by
engineers. At runtime, the generated formulae are evaluated to resolve the
uncertainty and to steer the self-adaptation using the policies. In this paper,
we focus on reliability and cost properties, for which we evaluate our approach
on the Body Sensor Network (BSN) implemented in OpenDaVINCI. The results of the
validation are promising and show that our approach is able to systematically
tame multiple classes of uncertainty, and that it is effective and efficient in
providing assurances for the goals of self-adaptive systems
- …