71,188 research outputs found
HyPLC: Hybrid Programmable Logic Controller Program Translation for Verification
Programmable Logic Controllers (PLCs) provide a prominent choice of
implementation platform for safety-critical industrial control systems. Formal
verification provides ways of establishing correctness guarantees, which can be
quite important for such safety-critical applications. But since PLC code does
not include an analytic model of the system plant, their verification is
limited to discrete properties. In this paper, we, thus, start the other way
around with hybrid programs that include continuous plant models in addition to
discrete control algorithms. Even deep correctness properties of hybrid
programs can be formally verified in the theorem prover KeYmaera X that
implements differential dynamic logic, dL, for hybrid programs. After verifying
the hybrid program, we now present an approach for translating hybrid programs
into PLC code. The new tool, HyPLC, implements this translation of discrete
control code of verified hybrid program models to PLC controller code and, vice
versa, the translation of existing PLC code into the discrete control actions
for a hybrid program given an additional input of the continuous dynamics of
the system to be verified. This approach allows for the generation of real
controller code while preserving, by compilation, the correctness of a valid
and verified hybrid program. PLCs are common cyber-physical interfaces for
safety-critical industrial control applications, and HyPLC serves as a
pragmatic tool for bridging formal verification of complex cyber-physical
systems at the algorithmic level of hybrid programs with the execution layer of
concrete PLC implementations.Comment: 13 pages, 9 figures. ICCPS 201
Master of Science
thesisConcurrent programs are extremely important for efficiently programming future HPC systems. Large scientific programs may employ multiple processes or threads to run on HPC systems for days. Reliability is an essential requirement of existing concurrent programs. Therefore, verification of concurrent programs becomes increasingly important. Today we have two significant challenges in developing concurrent program verification tools: The first is scalability. Since new types of concurrent programs keep being created, verification tools need to scale to handle all these new types of programs. The second is providing formal coverage guarantee. Dynamic verification tools always face a huge schedule space. Both these capabilities must exist for testing programs that follow multiple concurrency models. Most current dynamic verification tools can only explore either thread level or process level schedules. Consequently, they fail to verify hybrid programs. Exploring mixed process and thread level schedules is not an ideal solution because the state space will grow exponentially in both levels. It is hard to systematically traverse these mixed schedules. Therefore, our approach is to determinize all concurrent APIs except one API whose schedules will then be explored. To improve search efficiency, we proposed a random-walk based heuristic algorithm. We observed many concurrent programs and concluded some common structures of them. Based on the existence of these structures, we can make dynamic verification tools focusing on specific regions and bypassing regions of less interest. We propose a random sampling of executions in the regions of less interest
Hybrid Systems Verification with Isabelle/HOL: Simpler Syntax, Better Models, Faster Proofs
We extend a semantic verification framework for hybrid systems with the
Isabelle/HOL proof assistant by an algebraic model for hybrid program stores, a
shallow expression model for hybrid programs and their correctness
specifications, and domain-specific deductive and calculational support. The
new store model yields clean separations and dynamic local views of variables,
e.g. discrete/continuous, mutable/immutable, program/logical, and enhanced ways
of manipulating them using combinators, projections and framing. This leads to
more local inference rules, procedures and tactics for reasoning with invariant
sets, certifying solutions of hybrid specifications or calculating derivatives
with increased proof automation and scalability. The new expression model
provides more user-friendly syntax, better control of name spaces and
interfaces connecting the framework with real-world modelling languages.Comment: 18 pages, submitted to FM 202
Collaborative Verification-Driven Engineering of Hybrid Systems
Hybrid systems with both discrete and continuous dynamics are an important
model for real-world cyber-physical systems. The key challenge is to ensure
their correct functioning w.r.t. safety requirements. Promising techniques to
ensure safety seem to be model-driven engineering to develop hybrid systems in
a well-defined and traceable manner, and formal verification to prove their
correctness. Their combination forms the vision of verification-driven
engineering. Often, hybrid systems are rather complex in that they require
expertise from many domains (e.g., robotics, control systems, computer science,
software engineering, and mechanical engineering). Moreover, despite the
remarkable progress in automating formal verification of hybrid systems, the
construction of proofs of complex systems often requires nontrivial human
guidance, since hybrid systems verification tools solve undecidable problems.
It is, thus, not uncommon for development and verification teams to consist of
many players with diverse expertise. This paper introduces a
verification-driven engineering toolset that extends our previous work on
hybrid and arithmetic verification with tools for (i) graphical (UML) and
textual modeling of hybrid systems, (ii) exchanging and comparing models and
proofs, and (iii) managing verification tasks. This toolset makes it easier to
tackle large-scale verification tasks
A Vision of Collaborative Verification-Driven Engineering of Hybrid Systems
Abstract. Hybrid systems with both discrete and continuous dynamics are an important model for real-world physical systems. The key challenge is how to ensure their correct functioning w.r.t. safety requirements. Promising techniques to ensure safety seem to be model-driven engineering to develop hybrid systems in a well-defined and traceable manner, and formal verification to prove their correctness. Their combination forms the vision of verification-driven engineering. Despite the remarkable progress in automating formal verification of hybrid systems, the construction of proofs of complex systems often requires significant human guidance, since hybrid systems verification tools solve undecidable problems. It is thus not uncommon for verification teams to consist of many players with diverse expertise. This paper introduces a verification-driven engineering toolset that extends our previous work on hybrid and arithmetic verification with tools for (i) modeling hybrid systems, (ii) exchanging and comparing models and proofs, and (iii) managing verification tasks. This toolset makes it easier to tackle large-scale verification tasks.
A Complete Axiomatization of Quantified Differential Dynamic Logic for Distributed Hybrid Systems
We address a fundamental mismatch between the combinations of dynamics that
occur in cyber-physical systems and the limited kinds of dynamics supported in
analysis. Modern applications combine communication, computation, and control.
They may even form dynamic distributed networks, where neither structure nor
dimension stay the same while the system follows hybrid dynamics, i.e., mixed
discrete and continuous dynamics. We provide the logical foundations for
closing this analytic gap. We develop a formal model for distributed hybrid
systems. It combines quantified differential equations with quantified
assignments and dynamic dimensionality-changes. We introduce a dynamic logic
for verifying distributed hybrid systems and present a proof calculus for this
logic. This is the first formal verification approach for distributed hybrid
systems. We prove that our calculus is a sound and complete axiomatization of
the behavior of distributed hybrid systems relative to quantified differential
equations. In our calculus we have proven collision freedom in distributed car
control even when an unbounded number of new cars may appear dynamically on the
road
- …