72 research outputs found
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
Consistency-Preserving Evolution Planning on Feature Models
A software product line (SPL) enables large-scale reuse in a family of related software systems through configurable features. SPLs represent a long-term investment so that their ongoing evolution becomes paramount and requires careful planning. While existing approaches enable to create an evolution plan for an SPL on feature-model (FM) level, they assume the plan to be rigid and do not support retroactive changes. In this paper, we present a method that enables to create and retroactively adapt an FM evolution plan while preventing undesired impacts on its structural and logical consistency. This method is founded in structural operational semantics and linear temporal logic. We implement our method using rewriting logic, integrate it within an FM tool suite and perform an evaluation using a collection of existing FM evolution scenarios
Project Final Report Use and Dissemination of Foreground
This document is the final report on use and dissemination of foreground, part of the CONNECT final report. The document provides the lists of: publications, dissemination activities, and exploitable foregroun
Reflecting on the past and the present with temporal graph-based models
Self-adaptive systems (SAS) need to reflect on the current environment conditions, their past and current behaviour to support decision making. Decisions may have different effects depending on the context. On the one hand, some adaptations may have run into difficulties. On the other hand, users or operators may want to know why the system evolved in a certain direction. Users may just want to know why the system is showing a given behaviour or has made a decision as the behaviour may be surprising or not expected. We argue that answering emerging questions related to situations like these requires storing execution trace models in a way that allows for travelling back and forth in time, qualifying the decision making against available evidence. In this paper, we propose temporal graph databases as a useful representation for trace models to support self-explanation, interactive diagnosis or forensic analysis. We define a generic meta-model for structuring execution traces of SAS, and show how a sequence of traces can be turned into a temporal graph model. We present a first version of a query language for these temporal graphs through a case study, and outline the potential applications for forensic analysis (after the system has finished in a potentially abnormal way), self-explanation, and interactive diagnosis at runtime
Static analysis techniques to verify mutual exclusion situations within SysML models
AVATAR is a real-time extension of SysML supported by the TTool open-source toolkit. So far, formal verification of AVATAR models has relied on reachability techniques that face a state explosion problem. The paper explores a new avenue: applying structural analysis to AVATAR model, so as to identify mutual exclusion situations. In practice, TTool translates a subset of an AVATAR model into a Petri net and solves an equation system built upon the incidence matrix of the net. TTool implements a push-button approach and displays verification results at the AVATAR model level. The approach is not restricted to AVATAR and may be adapted to other UML profiles
Feedback-Based Admission Control for Firm Real-Time Task Allocation with Dynamic Voltage and Frequency Scaling
Feedback-based mechanisms can be employed to monitor the performance of Multiprocessor Systems-on-Chips (MPSoCs) and steer the task execution even if the exact knowledge of the workload is unknown a priori. In particular, traditional proportional-integral controllers can be used with firm real-time tasks to either admit them to the processing cores or reject in order not to violate the timeliness of the already admitted tasks. During periods with a lower computational power demand, dynamic voltage and frequency scaling (DVFS) can be used to reduce the dissipation of energy in the cores while still not violating the tasksâ time constraints. Depending on the workload pattern and weight, platform size and the granularity of DVFS, energy savings can reach even 60% at the cost of a slight performance degradation
UTP, Circus, and Isabelle
We dedicate this paper with great respect and friendship to He Jifeng on the occasion of his 80th birthday. Our research group owes much to him. The authors have over 150 publications on unifying theories of programming (UTP), a research topic Jifeng created with Tony Hoare. Our objective is to recount the history of Circus (a combination of Z, CSP, Dijkstraâs guarded command language, and Morganâs refinement calculus) and the development of Isabelle/UTP. Our paper is in two parts. (1) We first discuss the activities needed to model systems:Â we need to formalise data models and their behaviours. We survey our work on these two aspects in the context of Circus. (2) Secondly, we describe our practical implementation of UTP in Isabelle/HOL. Mechanising UTP theories is the basis of novel verification tools. We also discuss ongoing and future work related to (1) and (2). Many colleagues have contributed to these works, and we acknowledge their support
- âŠ