139,026 research outputs found
Brief Announcement: Model Checking Rendezvous Algorithms for Robots with Lights in Euclidean Space
This announces the first successful attempt at using model-checking techniques to verify the correctness of self-stabilizing distributed algorithms for robots evolving in a continuous environment. The study focuses on the problem of rendezvous of two robots with lights and presents a generic verification model for the SPIN model checker. It will be presented in full at an upcoming venue
Generating Distributed Programs from Event-B Models
Distributed algorithms offer challenges in checking that they meet their
specifications. Verification techniques can be extended to deal with the
verification of safety properties of distributed algorithms. In this paper, we
present an approach for combining correct-by-construction approaches and
transformations of formal models (Event-B) into programs (DistAlgo) to address
the design of verified distributed programs. We define a subset LB (Local
Event-B) of the Event-B modelling language restricted to events modelling the
classical actions of distributed programs as internal or local computations,
sending messages and receiving messages. We define then transformations of the
various elements of the LB language into DistAlgo programs. The general
methodology consists in starting from a statement of the problem to program and
then progressively producing an LB model obtained after several refinement
steps of the initial LB model. The derivation of the LB model is not described
in the current paper and has already been addressed in other works. The
transformation of LB models into DistAlgo programs is illustrated through a
simple example. The refinement process and the soundness of the transformation
allow one to produce correct-by-construction distributed programs.Comment: In Proceedings VPT/HCVS 2020, arXiv:2008.0248
Lazy Decomposition for Distributed Decision Procedures
The increasing popularity of automated tools for software and hardware
verification puts ever increasing demands on the underlying decision
procedures. This paper presents a framework for distributed decision procedures
(for first-order problems) based on Craig interpolation. Formulas are
distributed in a lazy fashion, i.e., without the use of costly decomposition
algorithms. Potential models which are shown to be incorrect are reconciled
through the use of Craig interpolants. Experimental results on challenging
propositional satisfiability problems indicate that our method is able to
outperform traditional solving techniques even without the use of additional
resources.Comment: In Proceedings PDMC 2011, arXiv:1111.006
Copilot: Monitoring Embedded Systems
Runtime verification (RV) is a natural fit for ultra-critical systems, where correctness is imperative. In ultra-critical systems, even if the software is fault-free, because of the inherent unreliability of commodity hardware and the adversity of operational environments, processing units (and their hosted software) are replicated, and fault-tolerant algorithms are used to compare the outputs. We investigate both software monitoring in distributed fault-tolerant systems, as well as implementing fault-tolerance mechanisms using RV techniques. We describe the Copilot language and compiler, specifically designed for generating monitors for distributed, hard real-time systems. We also describe two case-studies in which we generated Copilot monitors in avionics systems
Fast Distributed Algorithms for Connectivity and MST in Large Graphs
Motivated by the increasing need to understand the algorithmic foundations of
distributed large-scale graph computations, we study a number of fundamental
graph problems in a message-passing model for distributed computing where machines jointly perform computations on graphs with nodes
(typically, ). The input graph is assumed to be initially randomly
partitioned among the machines, a common implementation in many real-world
systems. Communication is point-to-point, and the goal is to minimize the
number of communication rounds of the computation.
Our main result is an (almost) optimal distributed randomized algorithm for
graph connectivity. Our algorithm runs in rounds
( notation hides a \poly\log(n) factor and an additive
\poly\log(n) term). This improves over the best previously known bound of
[Klauck et al., SODA 2015], and is optimal (up to a
polylogarithmic factor) in view of an existing lower bound of
. Our improved algorithm uses a bunch of techniques,
including linear graph sketching, that prove useful in the design of efficient
distributed graph algorithms. Using the connectivity algorithm as a building
block, we then present fast randomized algorithms for computing minimum
spanning trees, (approximate) min-cuts, and for many graph verification
problems. All these algorithms take rounds, and are optimal
up to polylogarithmic factors. We also show an almost matching lower bound of
rounds for many graph verification problems by
leveraging lower bounds in random-partition communication complexity
Platform Dependent Verification: On Engineering Verification Tools for 21st Century
The paper overviews recent developments in platform-dependent explicit-state
LTL model checking.Comment: In Proceedings PDMC 2011, arXiv:1111.006
Synthesis of a simple self-stabilizing system
With the increasing importance of distributed systems as a computing
paradigm, a systematic approach to their design is needed. Although the area of
formal verification has made enormous advances towards this goal, the resulting
functionalities are limited to detecting problems in a particular design. By
means of a classical example, we illustrate a simple template-based approach to
computer-aided design of distributed systems based on leveraging the well-known
technique of bounded model checking to the synthesis setting.Comment: In Proceedings SYNT 2014, arXiv:1407.493
- …