2,084 research outputs found
SOTER: A Runtime Assurance Framework for Programming Safe Robotics Systems
The recent drive towards achieving greater autonomy and intelligence in
robotics has led to high levels of complexity. Autonomous robots increasingly
depend on third party off-the-shelf components and complex machine-learning
techniques. This trend makes it challenging to provide strong design-time
certification of correct operation.
To address these challenges, we present SOTER, a robotics programming
framework with two key components: (1) a programming language for implementing
and testing high-level reactive robotics software and (2) an integrated runtime
assurance (RTA) system that helps enable the use of uncertified components,
while still providing safety guarantees. SOTER provides language primitives to
declaratively construct a RTA module consisting of an advanced,
high-performance controller (uncertified), a safe, lower-performance controller
(certified), and the desired safety specification. The framework provides a
formal guarantee that a well-formed RTA module always satisfies the safety
specification, without completely sacrificing performance by using higher
performance uncertified components whenever safe. SOTER allows the complex
robotics software stack to be constructed as a composition of RTA modules,
where each uncertified component is protected using a RTA module.
To demonstrate the efficacy of our framework, we consider a real-world
case-study of building a safe drone surveillance system. Our experiments both
in simulation and on actual drones show that the SOTER-enabled RTA ensures the
safety of the system, including when untrusted third-party components have bugs
or deviate from the desired behavior
BeSpaceD: Towards a Tool Framework and Methodology for the Specification and Verification of Spatial Behavior of Distributed Software Component Systems
In this report, we present work towards a framework for modeling and checking
behavior of spatially distributed component systems. Design goals of our
framework are the ability to model spatial behavior in a component oriented,
simple and intuitive way, the possibility to automatically analyse and verify
systems and integration possibilities with other modeling and verification
tools. We present examples and the verification steps necessary to prove
properties such as range coverage or the absence of collisions between
components and technical details
Using Formal Methods for Autonomous Systems: Five Recipes for Formal Verification
Formal Methods are mathematically-based techniques for software design and
engineering, which enable the unambiguous description of and reasoning about a
system's behaviour. Autonomous systems use software to make decisions without
human control, are often embedded in a robotic system, are often
safety-critical, and are increasingly being introduced into everyday settings.
Autonomous systems need robust development and verification methods, but formal
methods practitioners are often asked: Why use Formal Methods for Autonomous
Systems? To answer this question, this position paper describes five recipes
for formally verifying aspects of an autonomous system, collected from the
literature. The recipes are examples of how Formal Methods can be an effective
tool for the development and verification of autonomous systems. During design,
they enable unambiguous description of requirements; in development, formal
specifications can be verified against requirements; software components may be
synthesised from verified specifications; and behaviour can be monitored at
runtime and compared to its original specification. Modern Formal Methods often
include highly automated tool support, which enables exhaustive checking of a
system's state space. This paper argues that Formal Methods are a powerful tool
for the repertoire of development techniques for safe autonomous systems,
alongside other robust software engineering techniques.Comment: Accepted at Journal of Risk and Reliabilit
- …