scispace - formally typeset
Search or ask a question

Showing papers by "André Platzer published in 2017"


Journal ArticleDOI
TL;DR: In this article, a relatively complete proof calculus for differential dynamic logic (dL) is presented, which is entirely based on uniform substitution, a proof rule that substitutes a formula for a predicate symbol everywhere.
Abstract: This article introduces a relatively complete proof calculus for differential dynamic logic (dL) that is entirely based on uniform substitution, a proof rule that substitutes a formula for a predicate symbol everywhere. Uniform substitutions make it possible to use axioms instead of axiom schemata, thereby substantially simplifying implementations. Instead of subtle schema variables and soundness-critical side conditions on the occurrence patterns of logical variables to restrict infinitely many axiom schema instances to sound ones, the resulting calculus adopts only a finite number of ordinary dLformulas as axioms, which uniform substitutions instantiate soundly. The static semantics of differential dynamic logic and the soundness-critical restrictions it imposes on proof steps is captured exclusively in uniform substitutions and variable renamings as opposed to being spread in delicate ways across the prover implementation. In addition to sound uniform substitutions, this article introduces differential forms for differential dynamic logic that make it possible to internalize differential invariants, differential substitutions, and derivatives as first-class axioms to reason about differential equations axiomatically. The resulting axiomatization of differential dynamic logic is proved to be sound and relatively complete.

103 citations


Journal ArticleDOI
TL;DR: In this article, the authors formally verify corresponding controllers and provide rigorous safety proofs justifying why the robots can never collide with the obstacle in the respective physical model, which depends on the exact formulation of the safety objective, as well as the physical capabilities and limitations of the robot and the obstacles.
Abstract: This article answers fundamental safety questions for ground robot navigation: under which circumstances does which control decision make a ground robot safely avoid obstacles? Unsurprisingly, the answer depends on the exact formulation of the safety objective, as well as the physical capabilities and limitations of the robot and the obstacles. Because uncertainties about the exact future behavior of a robot’s environment make this a challenging problem, we formally verify corresponding controllers and provide rigorous safety proofs justifying why the robots can never collide with the obstacle in the respective physical model. To account for ground robots in which different physical phenomena are important, we analyze a series of increasingly strong properties of controllers for increasingly rich dynamics and identify the impact that the additional model parameters have on the required safety margins. We analyze and formally verify: (i) static safety, which ensures that no collisions can happen with stati...

62 citations


Proceedings ArticleDOI
16 Jan 2017
TL;DR: The soundness theorem for differential dynamic logic is formalized, a logic for verifying hybrid systems theorem prover KeYmaera X, and the metatheory is extended to include features used in practice, such as systems of differential equations and functions of multiple arguments.
Abstract: We formalize the soundness theorem for differential dynamic logic, a logic for verifying hybrid systems. To increase confidence in the formalization, we present two versions: one in Isabelle/HOL and one in Coq. We extend the metatheory to include features used in practice, such as systems of differential equations and functions of multiple arguments. We demonstrate the viability of constructing a verified kernel for the hybrid systems theorem prover KeYmaera X by embedding proof checkers for differential dynamic logic in Coq and Isabelle. We discuss how different provers and libraries influence the design of the formalization.

57 citations


Book ChapterDOI
26 Sep 2017
TL;DR: This work presents a tactics language and library for hybrid systems verification, named Bellerophon, that provides a way to convey insights by programming hybrid systems proofs.
Abstract: Hybrid systems combine discrete and continuous dynamics, which makes them attractive as models for systems that combine computer control with physical motion. Verification is undecidable for hybrid systems and challenging for many models and properties of practical interest. Thus, human interaction and insight are essential for verification. Interactive theorem provers seek to increase user productivity by allowing them to focus on those insights. We present a tactics language and library for hybrid systems verification, named Bellerophon, that provides a way to convey insights by programming hybrid systems proofs.

41 citations


Journal ArticleDOI
TL;DR: The geometric configurations under which the advice given by ACAS X is safe under a precise set of assumptions are determined and formally verify these configurations using hybrid systems theorem proving techniques.
Abstract: The Next-Generation Airborne Collision Avoidance System (ACAS X) is intended to be installed on all large aircraft to give advice to pilots and prevent mid-air collisions with other aircraft. It is currently being developed by the Federal Aviation Administration (FAA). In this paper, we determine the geometric configurations under which the advice given by ACAS X is safe under a precise set of assumptions and formally verify these configurations using hybrid systems theorem proving techniques. We consider subsequent advisories and show how to adapt our formal verification to take them into account. We examine the current version of the real ACAS X system and discuss some cases where our safety theorem conflicts with the actual advisory given by that version, demonstrating how formal hybrid systems proving approaches are helping to ensure the safety of ACAS X. Our approach is general and could also be used to identify unsafe advice issued by other collision avoidance systems or confirm their safety.

40 citations


Journal ArticleDOI
TL;DR: This article augments differential game logic with modalities for the combined dynamics of differential hybrid games and introduces differential game invariants and differential game variants for proving properties of differential games inductively.
Abstract: This article introduces differential hybrid games, which combine differential games with hybrid games. In both kinds of games, two players interact with continuous dynamics. The difference is that hybrid games also provide all the features of hybrid systems and discrete games, but only deterministic differential equations. Differential games, instead, provide differential equations with continuous-time game input by both players, but not the luxury of hybrid games, such as mode switches and discrete-time or alternating adversarial interaction. This article augments differential game logic with modalities for the combined dynamics of differential hybrid games. It shows how hybrid games subsume differential games and introduces differential game invariants and differential game variants for proving properties of differential games inductively.

36 citations


Journal ArticleDOI
TL;DR: The trade-off between proof rule generality and practical performance is studied and the relationship between increased deductive power and running time performance of the proof rules is discussed and illustrated.

27 citations


Journal ArticleDOI
TL;DR: Cyberphysical systems, ranging from critical infrastructures such as power plants, to modern (semi) autonomous vehicles, are systems that use software to control physical processes that drive the complex behaviors modern society has come to expect and rely on.
Abstract: Cyberphysical systems (CPSs), ranging from critical infrastructures such as power plants, to modern (semi) autonomous vehicles, are systems that use software to control physical processes. CPSs are made up of many different computational components. Each component runs its own piece of software that implements its control algorithms, based on its model of the environment. Every component then interacts with other components through the signals and values it sends out. Collectively, these components, and the code they run, drive the complex behaviors modern society has come to expect and rely on. Due to these intricate interactions between components, managing the hundreds to millions of lines of software to ensure that the system, as a whole, performs as desired can often be unwieldy.

24 citations


Journal ArticleDOI
TL;DR: In this article, the design ideas behind the user interface for the hybrid systems theorem prover KeYmaera X are discussed, and they make it easier to prove hybrid systems as well as help learn how to conduct proofs in the first place.
Abstract: Hybrid systems verification is quite important for developing correct controllers for physical systems, but is also challenging. Verification engineers, thus, need to be empowered with ways of guiding hybrid systems verification while receiving as much help from automation as possible. Due to undecidability, verification tools need sufficient means for intervening during the verification and need to allow verification engineers to provide system design insights. This paper presents the design ideas behind the user interface for the hybrid systems theorem prover KeYmaera X. We discuss how they make it easier to prove hybrid systems as well as help learn how to conduct proofs in the first place. Unsurprisingly, the most difficult user interface challenges come from the desire to integrate automation and human guidance. We also share thoughts how the success of such a user interface design could be evaluated and anecdotal observations about it.

21 citations


Book ChapterDOI
22 Apr 2017
TL;DR: It is proved that the safety of compatible components implies safety of the composite, allowing automatic generation of a KeYmaerai¾?X proof for the composite system from proofs of the concrete components.
Abstract: In this paper, we present reasoning techniques for a component-based modeling and verification approach for hybrid systems comprising discrete dynamics as well as continuous dynamics, in which the components have local responsibilities. Our approach supports component contracts i.e., input assumptions and output guarantees of interfaces that are more general than previous component-based hybrid systems verification techniques in the following ways: We introduce change contracts, which characterize how current values exchanged between components along ports relate to previous values. We also introduce delay contracts, which describe the change relative to the time that has passed since the last value was exchanged. Together, these contracts can take into account what has changed between two components in a given amount of time since the last exchange of information. Most crucially, we prove that the safety of compatible components implies safety of the composite. The proof steps of the theorem are also implemented as a tactic in KeYmaerai¾?X, allowing automatic generation of a KeYmaerai¾?X proof for the composite system from proofs of the concrete components.

12 citations


Book ChapterDOI
14 Nov 2017
TL;DR: It is surprisingly subtle to reach the right tradeoffs and identify the right control conditions that guarantee safe motion without being overly conservative.
Abstract: Train control technology enhances the safety and efficiency of railroad operation by safeguarding the motion of trains to prevent them from leaving designated areas of operation and colliding with other trains. It is crucial for safety that the trains engage their brakes early enough in order to make sure they never leave the safe part of the track. Efficiency considerations, however, also require that the train does not brake too soon, which would limit operational suitability. It is surprisingly subtle to reach the right tradeoffs and identify the right control conditions that guarantee safe motion without being overly conservative.

Proceedings ArticleDOI
27 Jun 2017
TL;DR: A benchmark is proposed consisting of a sequence of three case studies, where components interact to achieve system safety, and how to split the system models used in these case studies into components with local responsibilities, and what is expected about their interaction to guarantee system safety.
Abstract: At scale, formal verification of hybrid systems is challenging, but a potential remedy is the observation that systems often come with a number of natural components with certain local responsibilities. Ideally, such a compartmentalization into more manageable components also translates to hybrid systems verification, so that safety properties about the whole system can be derived from local verification results. We propose a benchmark consisting of a sequence of three case studies, where components interact to achieve system safety. The baseline for the benchmark is the verification effort from a monolithic fashion (i.e., the entire system without splitting it into components). We describe how to split the system models used in these case studies into components with local responsibilities, and what is expected about their interaction to guarantee system safety. The benchmark can be used to assess the performance, automation, and verification features of component-based verification approaches. ∗Work partly funded by the Austrian Science Fund (FWF) P28187-N31. This research was sponsored by the AFOSR under grant number FA9550-16-1-0288. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of any sponsoring institution, the U.S. government or any other entity. G. Frehse and M. Althoff (eds.), ARCH17 (EPiC Series in Computing, vol. 48), pp. 65–74 Component-based CPS Verification Müller, Mitsch, Retschitzegger, Schwinger, Platzer System ( Component A ∥ Component B ) System Proof System Contract ( Contract A ∧ Contract B ) Component A Proof A Contract A Component B Contract B