104,041 research outputs found
Recommended from our members
High integrity hardware-software codesign
Programmable logic devices (PLDs) are increasing in complexity and speed, and are being used as important components in safety-critical systems. Methods for developing high-integrity software for these systems are well-known, but this is not true for programmable logic. We propose a process for developing a system incorporating software and PLDs, suitable for safety critical systems of the highest levels of integrity. This process incorporates the use of Synchronous Receptive Process Theory as a semantic basis for specifying and proving properties of programs executing on PLDs, and extends the use of SPARK Ada from a programming language for safety-critical systems software to cover the interface between software and programmable logic. We have validated this approach through the specification and development of a substantial safety-critical system incorporating both software and programmable logic components, and the development of tools to support this work. This enables us to claim that the methods demonstrated are not only feasible but also scale up to realistic system sizes, allowing development of such safety-critical software-hardware systems to the levels required by current system safety standards
Formal change impact analyses for emulated control software
Processor emulators are a software tool for allowing legacy computer programs to be executed on a modern processor. In the past emulators have been used in trivial applications such as maintenance of video games. Now, however, processor emulation is being applied to safety-critical control systems, including military avionics. These applications demand utmost guarantees of correctness, but no verification techniques exist for proving that an emulated system preserves the original system’s functional and timing properties. Here we show how this can be done by combining concepts previously used for reasoning about real-time program compilation, coupled with an understanding of the new and old software architectures. In particular, we show how both the old and new systems can be given a common semantics, thus allowing their behaviours to be compared directly
Component-based modeling and observer-based verification for railway safety-critical applications
1th International Symposium on Formal Aspects of Component Software , Bertinoro, Italie, 10-/09/2014 - 12/09/2015International audienceOne of the challenges that engineers face, during the development process of safety-critical systems, is the verification of safety application models before implementation. Formalization is important in order to verify that the design meets the specified safety requirements. In this paper, we formally describe the set of transformation rules, which are defined for the automatic transformation of safety application source models to timed automata target models. The source models are based on our domain-specific component model, named SARA, dedicated to SAfety-critical RAilway control applications. The target models are then used for the observer-based verification of safety requirements. This method provides an intuitive way of expressing system properties without requiring a significant knowledge of higher order logic and theorem proving, as required in most of existing approaches. An experimentation over a chosen benchmark at rail-road crossing protection application is shown to highlight the proposed approach
Online Data-Driven Safety Certification for Systems Subject to Unknown Disturbances
Deploying autonomous systems in safety critical settings necessitates methods
to verify their safety properties. This is challenging because real-world
systems may be subject to disturbances that affect their performance, but are
unknown a priori. This work develops a safety-verification strategy wherein
data is collected online and incorporated into a reachability analysis approach
to check in real-time that the system avoids dangerous regions of the state
space. Specifically, we employ an optimization-based moving horizon estimator
(MHE) to characterize the disturbance affecting the system, which is
incorporated into an online reachability calculation. Reachable sets are
calculated using a computational graph analysis tool to predict the possible
future states of the system and verify that they satisfy safety constraints. We
include theoretical arguments proving our approach generates reachable sets
that bound the future states of the system, as well as numerical results
demonstrating how it can be used for safety verification. Finally, we present
results from hardware experiments demonstrating our approach's ability to
perform online reachability calculations for an unmanned surface vehicle
subject to currents and actuator failures.Comment: 6 pages, 7 figure
Modeling and Analyzing Adaptive User-Centric Systems in Real-Time Maude
Pervasive user-centric applications are systems which are meant to sense the
presence, mood, and intentions of users in order to optimize user comfort and
performance. Building such applications requires not only state-of-the art
techniques from artificial intelligence but also sound software engineering
methods for facilitating modular design, runtime adaptation and verification of
critical system requirements.
In this paper we focus on high-level design and analysis, and use the
algebraic rewriting language Real-Time Maude for specifying applications in a
real-time setting. We propose a generic component-based approach for modeling
pervasive user-centric systems and we show how to analyze and prove crucial
properties of the system architecture through model checking and simulation.
For proving time-dependent properties we use Metric Temporal Logic (MTL) and
present analysis algorithms for model checking two subclasses of MTL formulas:
time-bounded response and time-bounded safety MTL formulas. The underlying idea
is to extend the Real-Time Maude model with suitable clocks, to transform the
MTL formulas into LTL formulas over the extended specification, and then to use
the LTL model checker of Maude. It is shown that these analyses are sound and
complete for maximal time sampling. The approach is illustrated by a simple
adaptive advertising scenario in which an adaptive advertisement display can
react to actions of the users in front of the display.Comment: In Proceedings RTRTS 2010, arXiv:1009.398
Formal verification of a real-time operating system
Errors caused by the interaction of computer systems with the physical world are hard to mitigate but errors related to the underlying software can be prevented by a more rigorous development of software code. In the context of critical systems, a failure caused by software errors could lead to consequences that are determined to be unacceptable. At the heart of a critical system, a real-time operating system is commonly found. Since the reliability of the entire system depends upon having a reliable operating system, verifying that the operating systems functions as desired is of prime interest. One solution to verify the correctness of significant properties of an existing real-time operating system microkernel (FreeRTOS) applies assisted proof checking to its formalized specification description. The experiment consists of describing real-time operating system characteristics, such as memory safety and scheduler determinism, in Separation Logic — a formal language that allows reasoning about the behaviour of the system in terms of preconditions and postconditions. Once the desired properties are defined in a formal language, a theorem can be constructed to describe the validity of such formula for the given FreeRTOS implementation. Then, by using the Coq proof assistant, a machine-checked proof that such properties hold for FreeRTOS can be carried out. By expressing safety and deterministic properties of an existing real-time operating systems and proving them correct we demonstrate that the current state-of-the-art in theorem-based formal verification, including appropriate logics and proof assistants, make it possible to provide a machine-checked proof of the specification of significant properties for FreeRTOS
Formal Foundations for Provably Safe Web Components
One of the cornerstones of modern software development that enables the creation of
sophisticated software systems is the concept of reusable software components. Especially
the fast-paced and business-driven web ecosystem is in need of a robust and safe way of
reusing components. As it stands, however, the concepts and functions needed to create
web components are spread out, immature, and not clearly defined, leaving much room
for misunderstandings.
To improve the situation, we need to look at the core of web browsers: the Document
Object Model (DOM). It represents the state of a website with which users and client-side
code (JavaScript) interact. Being in this central position makes the DOM the most
central and critical part of a web browser with respect to safety and security, so we
need to understand exactly what it does and which guarantees it provides. A well-
established approach for this kind of highly critical system is to apply formal methods to
mathematically prove certain properties.
In this thesis, we provide a formal analysis of web components based on shadow roots,
highlight their short-comings by proving them unsafe in many circumstances, and propose
suggestions to provably improve their safety. In more detail, we build a formalisation
of the Core DOM in Isabelle/HOL into which we introduce shadow roots. Then, we
extract novel properties and invariants that improve the often implicit assumptions
of the standard. We show that the model complies to the standard by symbolically
evaluating all relevant test cases from the official compliance suite successfully on our
model. We introduce novel definitions of web components and their safety and classify
the most important DOM API accordingly, by which we uncover surprising behavior and
shortcomings. Finally, we propose changes to the DOM standard by altering our model
and proving that the safety of many DOM API methods improves while leading to a less
ambiguous API
Pattern transition in spacecraft formation flying using bifurcating potential field
Many new and exciting space mission concepts have developed around spacecraft formation flying, allowing for autonomous distributed systems that can be robust, scalable and flexible. This paper considers the development of a new methodology for the control of multiple spacecraft. Based on the artificial potential function method, research in this area is extended by considering the new approach of using bifurcation theory as a means of controlling the transition between different formations. For real, safety or mission critical applications it is important to ensure that desired behaviours will occur. Through dynamical systems theory, this paper also aims to provide a step in replacing traditional algorithm validation with mathematical proof, supported through simulation. This is achieved by determining the non-linear stability properties of the system, thus proving the existence or not of desired behaviours. Practical considerations such as the issue of actuator saturation and communication limitations are addressed, with the development of a new bounded control law based on bifurcating potential fields providing the key contribution of this paper. To illustrate spacecraft formation flying using the new methodology formation patterns are considered in low-Earth-orbit utilising the Clohessy-Wiltshire relative linearised equations of motion. It is shown that a formation of spacecraft can be driven safely onto equally spaced projected circular orbits, autonomously reconfiguring between them, whilst satisfying constraints made regarding each spacecraft
- …