4 research outputs found
A Property Specification Pattern Catalog for Real-Time System Verification with UPPAAL
Context: The goal of specification pattern catalogs for real-time
requirements is to mask the complexity of specifying such requirements in a
timed temporal logic for verification. For this purpose, they provide frontends
to express and translate pattern-based natural language requirements to
formulae in a suitable logic. However, the widely used real-time model checking
tool UPPAAL only supports a restricted subset of those formulae that focus only
on basic and non-nested reachability, safety, and liveness properties. This
restriction renders many specification patterns inapplicable. As a workaround,
timed observer automata need to be constructed manually to express
sophisticated requirements envisioned by these patterns. Objective: In this
work, we fill these gaps by providing a comprehensive specification pattern
catalog for UPPAAL. The catalog supports qualitative and real-time requirements
and covers all corresponding patterns of existing catalogs. Method: The catalog
we propose is integrated with UPPAAL. It supports the specification of
qualitative and real-time requirements using patterns and provides an automated
generator that translates these requirements to observer automata and TCTL
formulae. The resulting artifacts are used for verifying systems in UPPAAL.
Thus, our catalog enables an automated end-to-end verification process for
UPPAAL based on property specification patterns and observer automata. Results:
We evaluate our catalog on three UPPAAL system models reported in the
literature and mostly applied in an industrial setting. As a result, not only
the reproducibility of the related UPPAAL models was possible, but also the
validation of an automated, seamless, and accurate pattern- and observer-based
verification process. Conclusion: The proposed property specification pattern
catalog for UPPAAL enables practitioners to specify qualitative and real-time
requirements...Comment: Accepted Manuscrip
Runtime Verification of Self-Adaptive Systems with Changing Requirements
To accurately make adaptation decisions, a self-adaptive system needs precise
means to analyze itself at runtime. To this end, runtime verification can be
used in the feedback loop to check that the managed system satisfies its
requirements formalized as temporal-logic properties. These requirements,
however, may change due to system evolution or uncertainty in the environment,
managed system, and requirements themselves. Thus, the properties under
investigation by the runtime verification have to be dynamically adapted to
represent the changing requirements while preserving the knowledge about
requirements satisfaction gathered thus far, all with minimal latency. To
address this need, we present a runtime verification approach for self-adaptive
systems with changing requirements. Our approach uses property specification
patterns to automatically obtain automata with precise semantics that are the
basis for runtime verification. The automata can be safely adapted during
runtime verification while preserving intermediate verification results to
seamlessly reflect requirement changes and enable continuous verification. We
evaluate our approach on an Arduino prototype of the Body Sensor Network and
the Timescales benchmark. Results show that our approach is over five times
faster than the typical approach of redeploying and restarting runtime monitors
to reflect requirements changes, while improving the system's trustworthiness
by avoiding interruptions of verification.Comment: 18th Symposium on Software Engineering for Adaptive and Self-Managing
Systems (SEAMS 2023
Formal Synthesis of Uncertainty Reduction Controllers
In its quest for approaches to taming uncertainty in self-adaptive systems
(SAS), the research community has largely focused on solutions that adapt the
SAS architecture or behaviour in response to uncertainty. By comparison,
solutions that reduce the uncertainty affecting SAS (other than through the
blanket monitoring of their components and environment) remain underexplored.
Our paper proposes a more nuanced, adaptive approach to SAS uncertainty
reduction. To that end, we introduce a SAS architecture comprising an
uncertainty reduction controller that drives the adaptive acquisition of new
information within the SAS adaptation loop, and a tool-supported method that
uses probabilistic model checking to synthesise such controllers. The
controllers generated by our method deliver optimal trade-offs between SAS
uncertainty reduction benefits and new information acquisition costs. We
illustrate the use and evaluate the effectiveness of our approach for mobile
robot navigation and server infrastructure management SAS
Formal Synthesis of Uncertainty Reduction Controllers
In its quest for approaches to taming uncertainty in self-adaptive systems (SAS), the research community has largely focused on solutions that adapt the SAS architecture or behaviour in response to uncertainty. By comparison, solutions that reduce the uncertainty affecting SAS (other than through the blanket monitoring of their components and environment) remain underexplored. Our paper proposes a more nuanced, adaptive approach to SAS uncertainty reduction. To that end, we introduce a SAS architecture comprising an uncertainty reduction controller that drives the adaptive acquisition of new information within the SAS adaptation loop, and a tool-supported method that uses probabilistic model checking to synthesise such controllers. The controllers generated by our method deliver optimal trade-offs between SAS uncertainty reduction benefits and new information acquisition costs. We illustrate the use and evaluate the effectiveness of our approach for mobile robot navigation and server infrastructure management SAS