Simulating Nondeterministic Systems at Multiple Levels of Abstraction
Dilsun Kirli Kaynar, Anna Chefter, Laura Dean, Stephen J. Garland,
Nancy A. Lynch, Toh Ne Win, Antonio Ramirez-Robredo
IOA is a high-level distributed programming language based on the formal I/O
automaton model for asynchronous concurrent systems. A suite of software tools,
called the IOA toolkit, has been designed and partially implemented to
facilitate the analysis and verification of distributed systems using
techniques supported by the formal model. An important proof technique for
distributed systems defined by a hierarchy of abstractions involves the notion
of a simulation relation between pairs of automata at different levels in the
hierarchy. The IOA toolkit's simulator tests purported simulation relations by
executing the low-level automaton and, given a proposed correspondence between
its steps and those of the higher-level automaton, generating and checking an
execution of the higher-level automaton. Once checked by the simulator, the
simulation relation and the step correspondence can be used in conjunction with
the toolkit's proof tools to construct a formal proof that the low-level
automaton implements the higher-level one. This paper presents a case study
that illustrates this use of the IOA toolkit to prove correct an algorithm for
mutual exclusion. The case study shows how tools like the IOA simulator can
play an important role in proving distributed systems correct.
An overview of CADP 2001
Hubert Garavel, Frederic Lang, Radu Mateescu
CADP\ is a toolbox for specifying and verifying
asynchronous finite-state systems described using process
algebraic languages. It offers a wide range of
state-of-the-art functionalities assisting the user
throughout the design process: compilation, rapid
prototyping, interactive and guided simulation,
verification by equivalence/preorder checking and temporal
logic model-checking, and test generation. The languages,
models, and verification techniques used in \CADP\ have a
broad application domain, allowing to deal with
communication protocols, distributed systems, embedded
software, mobile telephony, asynchronous hardware,
cryptography, security, human-computer interaction, etc.
\CADP\ is currently used both in industrial companies and
academic institutions for research and teaching purposes.
During the last years, over 50 applications and
case-studies performed using \CADP\ have been reported.
YAHODA: the database of verification tools
Jitka Crhova, Pavel Krcal, Jan Strejcek, David Safranek, Pavel Simecek
Information resourses on verification tools are of high interest not only
to academia and research communities, there is a growing interest from the
commercial sector to be expected as well in the near future. Several web
sites already provide collective information related to the verification
tools. However, most of these resources are out-of-date, not
well-structured, difficult to maintain.
Yahoda is a project that aims to overcome at least some of the above
mentioned problems. Yahoda is based on a relational database, so as the
data can be consistently added/modified/updated. It is the tool
developer who actually maintains the information about the tool via
an authorised web access. The information in the database is structured
what allows the Yahoda user a more flexible search for required
information and at the same time Yahoda provides some basic taxonomy.
In the paper we describe how the database is organised, what are the main
features, what information is currently available, how the repository is
maintained. We also give a brief summary of future plans and possible
developments. As a demonstration we would like to use the data of the Tools
Day accepted tools.