157 research outputs found
Truly On-The-Fly LTL Model Checking
We propose a novel algorithm for automata-based LTL model checking that
interleaves the construction of the generalized B\"{u}chi automaton for the
negation of the formula and the emptiness check. Our algorithm first converts
the LTL formula into a linear weak alternating automaton; configurations of the
alternating automaton correspond to the locations of a generalized B\"{u}chi
automaton, and a variant of Tarjan's algorithm is used to decide the existence
of an accepting run of the product of the transition system and the automaton.
Because we avoid an explicit construction of the B\"{u}chi automaton, our
approach can yield significant improvements in runtime and memory, for large
LTL formulas. The algorithm has been implemented within the SPIN model checker,
and we present experimental results for some benchmark examples
Modelling and verification of starvation-free mutual exclusion algorithms based on weak semaphores
This paper proposes an original framework for modelling and verification (M&V) of starvation-free mutual exclusion algorithms based on weak semaphores, that are without a built-in waiting-process queue. The goal is to support the implementation of light-weight starvation-free semaphores useful in general concurrent systems including cyber physical systems. The M&V approach depends on UPPAAL. First known weak semaphores are modelled. Then they are exploited for model checking classic algorithms. Known properties are retrieved but subtle new ones are discovered. As part of the developed approach, a new algorithm is proposed which uses two semaphores of the weakest type, N bits (N being the number of processes) and a counter. This algorithm too is proved to be correct
Shared Memory Concurrent System Verification using Kronecker Algebra
The verification of multithreaded software is still a challenge. This comes
mainly from the fact that the number of thread interleavings grows
exponentially in the number of threads. The idea that thread interleavings can
be studied with a matrix calculus is a novel approach in this research area.
Our sparse matrix representations of the program are manipulated using a lazy
implementation of Kronecker algebra. One goal is the generation of a data
structure called Concurrent Program Graph (CPG) which describes all possible
interleavings and incorporates synchronization while preserving completeness.
We prove that CPGs in general can be represented by sparse adjacency matrices.
Thus the number of entries in the matrices is linear in their number of lines.
Hence efficient algorithms can be applied to CPGs. In addition, due to
synchronization only very small parts of the resulting matrix are actually
needed, whereas the rest is unreachable in terms of automata. Thanks to the
lazy implementation of the matrix operations the unreachable parts are never
calculated. This speeds up processing significantly and shows that this
approach is very promising. Various applications including data flow analysis
can be performed on CPGs. Furthermore, the structure of the matrices can be
used to prove properties of the underlying program for an arbitrary number of
threads. For example, deadlock freedom is proved for a large class of programs.Comment: 31 page
VERSA: A Tool for the Specification and Analysis of Resource-Bound Real-Time Systems
VERSA is a tool that assists in the algebraic analysis of real-time systems. It is based on ACSR, a timed process algebra designed to express resource-bound real-time distributed systems. VERSA supports the analysis of real-time processes through algebraic rewriting, interactive execution, and equivalence testing. This paper begins by presenting a brief overview of the process algebra ACSR, its syntax, operational semantics, and equivalence relations. VERSA\u27S process and command syntax, its algebraic rewrite system, and its state-based analysis features are described fully. The presentation includes examples that illustrate the salient features of ACSR, and output from sample VERSA sessions that demonstrate the application of the tool to real-time systems analysis
An assessment of DREAM, appendix E
The design realization, evaluation and modelling (DREAM) system is evaluated. A short history of the DREAM research project is given as well as the significant characteristics of DREAM as a development environment. The design notation which is the basis for the DREAM system is reviewed, and the development tools envisioned as part of DREAM are discussed. Insights into development environments and their production are presented and used to make suggestions for future work in the area of development environments
Computational design of planar multistable compliant structures
This paper presents a method for designing planar multistable compliant structures. Given a sequence of desired stable states and the corresponding poses of the structure, we identify the topology and geometric realization of a mechanism—consisting of bars and joints—that is able to physically reproduce the desired multistable behavior. In order to solve this problem efficiently, we build on insights from minimally rigid graph theory to identify simple but effective topologies for the mechanism. We then optimize its geometric parameters, such as joint positions and bar lengths, to obtain correct transitions between the given poses. Simultaneously, we ensure adequate stability of each pose based on an effective approximate error metric related to the elastic energy Hessian of the bars in the mechanism. As demonstrated by our results, we obtain functional multistable mechanisms of manageable complexity that can be fabricated using 3D printing. Further, we evaluated the effectiveness of our method on a large number of examples in the simulation and fabricated several physical prototypes
- …