µCRL
toolset
Quick summary
Linear process equations (LPEs)
The whole idea of the architecture of the toolset is centered
around the notion of a Linear Process Equation (LPE).
This is a simply structured process,
where the state consists of an assigment to a sequence of typed data
variables.
Its behaviour is specified by condition, action and effect functions.
This format is very similar to I/O automata or the core of Unity
processes.
Restriction of functionality
A major other idea is that the toolset must only provide functionality
that
cannot be easily obtained via the use of other tools. Therefore, the
toolset
is currently restricted to a state space generator, a simulator and a
few tools
to manipulate LPEs. The generated state spaces can be manipulated and
visualised by for instance the toolset
Eucalyptus/Ceasar/Aldebaran .
Groups of tools
The core of the toolset contains four groups of tools.
- Linearizing tools. This group contains one tool,
called mcrl . The tool mcrl transforms µCRL
process definitions
to linear process operators (LPEs). All the other tools of the toolset
work on LPEs. Thus, before doing any analysis, mcrl must be
invoked with
a µCRL specification as input.
- State space explorators. This group contains two tools.
The instantiator which generates from an LPE a concrete
transition
system and the simulator, msim, which can single-step a
process.
The instantiator is highly optimized by using a very fast compiling
rewriter. The output of the instantiator can be read, manipulated and,
visualized by the
CADP (Caesar/Aldebaran) toolset.
It is possible to store the state space in an extremely
compact file format for storing labeled transition systems called SVC
format
[1] .
- Reduction tools. This group contains four reduction
tools (each of them
reads an LPE and writes an LPE). These reduction tools are
- constelm, constant elimination,
- parelm, parameter elimination,
- sumelm, sum elimination, and
- structelm, structure elimination.
These reduction tools are the implementations of the reduction methods
described in
[2] .
- Rewrite tools. This group contains the tool rewr,
rewrite,
which normalizes the LPE, with respect to the rewrite rules in the ADT.
If a condition belonging to
a summand is equal to false then that summand will be removed.
In addition there are two groups of tools.
- Tools for manipulation of labeled transition systems (LTSs).
A reduction algorithm based on confluence and minimisation algorithms
modulo
equivalences such as bisimulation and branching bisimulation have been
implemented, collapsing equivalent states.
- Tools which lean on a theorem prover based on an extension
of BDDs with equality.
The main functionality of this prover is to transform a formula into an
equivalent binary decision diagram (BDD ) [3]
Here follows a list of these tools.
- formcheck, which computes the result of a boolean
formula ,
- invcheck, checks if a boolean formula is an
invariant of a LPE,
- invelm , uses an invariant to eliminate
unreachable summands,
- confcheck, checks which tau-summands are confluent
and marks them on request,
- reachelm, tries to predict which summands will be
never used during state space generation. These summands will be
deleted from the LPE.
Back to µCRL home page