22,572 research outputs found
Two snap-stabilizing point-to-point communication protocols in message-switched networks
A snap-stabilizing protocol, starting from any configuration, always behaves
according to its specification. In this paper, we present a snap-stabilizing
protocol to solve the message forwarding problem in a message-switched network.
In this problem, we must manage resources of the system to deliver messages to
any processor of the network. In this purpose, we use information given by a
routing algorithm. By the context of stabilization (in particular, the system
starts in an arbitrary configuration), this information can be corrupted. So,
the existence of a snap-stabilizing protocol for the message forwarding problem
implies that we can ask the system to begin forwarding messages even if routing
information are initially corrupted. In this paper, we propose two
snap-stabilizing algorithms (in the state model) for the following
specification of the problem: - Any message can be generated in a finite time.
- Any emitted message is delivered to its destination once and only once in a
finite time. This implies that our protocol can deliver any emitted message
regardless of the state of routing tables in the initial configuration. These
two algorithms are based on the previous work of [MS78]. Each algorithm needs a
particular method to be transform into a snap-stabilizing one but both of them
do not introduce a significant overcost in memory or in time with respect to
algorithms of [MS78]
Quantitative Verification: Formal Guarantees for Timeliness, Reliability and Performance
Computerised systems appear in almost all aspects of our daily lives, often in safety-critical scenarios such as embedded control systems in cars and aircraft
or medical devices such as pacemakers and sensors. We are thus increasingly reliant on these systems working correctly, despite often operating in unpredictable or unreliable environments. Designers of such devices need ways to guarantee that they will operate in a reliable and efficient manner.
Quantitative verification is a technique for analysing quantitative aspects of a system's design, such as timeliness, reliability or performance. It applies formal methods, based on a rigorous analysis of a mathematical model of the system, to automatically prove certain precisely specified properties, e.g. ``the airbag will always deploy within 20 milliseconds after a crash'' or ``the probability of both sensors failing simultaneously is less than 0.001''.
The ability to formally guarantee quantitative properties of this kind is beneficial across a wide range of application domains. For example, in safety-critical systems, it may be essential to establish credible bounds on the probability with which certain failures or combinations of failures can occur. In embedded control systems, it is often important to comply with strict constraints on timing or resources. More generally, being able to derive guarantees on precisely specified levels of performance or efficiency is a valuable tool in the design of, for example, wireless networking protocols, robotic systems or power management algorithms, to name but a few.
This report gives a short introduction to quantitative verification, focusing in particular on a widely used technique called model checking, and its generalisation to the analysis of quantitative aspects of a system such as timing, probabilistic behaviour or resource usage.
The intended audience is industrial designers and developers of systems such as those highlighted above who could benefit from the application of quantitative verification,but lack expertise in formal verification or modelling
Abstract State Machines 1988-1998: Commented ASM Bibliography
An annotated bibliography of papers which deal with or use Abstract State
Machines (ASMs), as of January 1998.Comment: Also maintained as a BibTeX file at http://www.eecs.umich.edu/gasm
Studying and Analysing Transactional Memory Using Interval Temporal Logic and AnaTempura
Transactional memory (TM) is a promising lock-free synchronisation technique which offers a high-level abstract parallel programming model for future chip multiprocessor (CMP) systems.
Moreover, it adapts the well-established popular paradigm of transactions and thus provides a general and flexible way to allow programs to read and modify disparate memory locations atomically as a single operation. In this thesis, we propose a general framework for validating a TM design, starting from a formal specification into a hardware implementation, with its underpinning theory and refinement. A methodology in this work starts with a high-level and executable specification model for an abstract TM with verification for various correctness conditions of concurrent transactions. This model is constructed within a flexible transition framework that allows verifying correctness of a TM system with animation. Then, we present a formal executable specification for a chip-dual single-cycle MIPS processor with a cache coherence protocol and integrate the provable TM system. Finally, we transform the dual processors with the TM from a high-level description into a Hardware Description Language (VHDL), using some proposed refinement and restriction rules. Interval Temporal Logic (ITL) and its programming language subset AnaTempura are used to build, execute and test the model, since they together provide a powerful framework supporting logical reasoning about time intervals as well as programming and simulation
Self-stabilizing algorithms for Connected Vertex Cover and Clique decomposition problems
In many wireless networks, there is no fixed physical backbone nor
centralized network management. The nodes of such a network have to
self-organize in order to maintain a virtual backbone used to route messages.
Moreover, any node of the network can be a priori at the origin of a malicious
attack. Thus, in one hand the backbone must be fault-tolerant and in other hand
it can be useful to monitor all network communications to identify an attack as
soon as possible. We are interested in the minimum \emph{Connected Vertex
Cover} problem, a generalization of the classical minimum Vertex Cover problem,
which allows to obtain a connected backbone. Recently, Delbot et
al.~\cite{DelbotLP13} proposed a new centralized algorithm with a constant
approximation ratio of for this problem. In this paper, we propose a
distributed and self-stabilizing version of their algorithm with the same
approximation guarantee. To the best knowledge of the authors, it is the first
distributed and fault-tolerant algorithm for this problem. The approach
followed to solve the considered problem is based on the construction of a
connected minimal clique partition. Therefore, we also design the first
distributed self-stabilizing algorithm for this problem, which is of
independent interest
- …