The new address of Christophe Joubert's home page is:

http://www.dsic.upv.es/~joubert

S oftware

I've been developping quite a few softwares since I'm part of the Validation of Systems (VASY) project at Rhône-Alpes research unit of INRIA, back in July 2000. Since then, I have been participating to the development of the Construction and Analysis of Distributed Processes (CADP) toolbox.

CAESAR_SOLVE

(top)

CAESAR_SOLVE_1 is a library of the OPEN/CAESAR environment part of CADP

Contribution:
The "solve_1" library provides primitives for solving alternation-free boolean equation systems "on-the-fly". I made an extension of this library by designing and implementing two distributed memory algorithms solving alternation-free boolean equation systems "on-the-fly". This extension, so far called "solve_2", has not yet been integrated to CADP. "solve_2" (17 000 lines of C code) can be used as a back-end for various on-the-fly verification tools which formulate their corresponding problems (e.g., equivalence checking, model checking, tau-confluence reduction, etc.) in terms of boolean equation systems.
Documentation:
More information on "solve_2" in my Ph.D. Thesis !
CADP web page and articles of reference on CAESAR_SOLVE_1: Mateescu-03-a and Mateescu-06-a
Overview publication on OPEN/CAESAR
article at PDP'2005 for the first version of our distributed algorithms present in "solve_2"
article at SPIN'2006 for an extended version of our distributed algorithms present in "solve_2"
Papers on boolean equation systems resolution and application to model checking
Papers on distributed boolean equation systems resolution and applications to distributed model checking
2006 activity report of the VASY team
2005 activity report of the VASY team
2004 activity report of the VASY team
2003 activity report of the VASY team
2002 activity report of the VASY team
2001 activity report of the VASY team
2000 activity report of the VASY team
1999 activity report of the VASY team
Demo examples:
BISIMULATOR, TAU_CONFLUENCE, EVALUATOR and EXTRACTOR make use of these new libraries ("solve_1" and "solve_2"). Only the "solve_1" versions of these tools are integrated into current version of CADP. As an example of use of "solve_1" (or "solve_2") EXTRACTOR will soon be available as open source in the CADP toolbox.

BISIMULATOR

(top)

BISIMULATOR is an on-the-fly equivalence/preorder checker based on OPEN/CAESAR environment part of CADP

Contribution:
BISIMULATOR performs an on-the-fly comparison of two LTSs modulo a given equivalence/preorder relation. The tool is based upon a translation of the equivalence/preorder checking problem into the resolution of a boolean equation system, which is performed on-the-fly using the algorithms provided by the "solve_1" library. I have participated to the connection of the front-end of BISIMULATOR with the "solve_2" back-end through the use of one of the distributed algorithms I designed and implemented.
Documentation:
CADP web page and Mateescu-03-a, which is the article of reference on BISIMULATOR
Overview publication on OPEN/CAESAR
article at TACAS'2005
article at PDMC'2004
article at STTT
Papers about equivalence checking using BISIMULATOR and REDUCTOR
2006 activity report of the VASY team
2005 activity report of the VASY team
2004 activity report of the VASY team
2003 activity report of the VASY team
2002 activity report of the VASY team
2001 activity report of the VASY team
Demo examples:
All demos on the CADP online demo examples web page that need an equivalence/preorder checker make use of BISIMULATOR.
Tool demonstration:
You will find in Bergamini-Descoubes-Joubert-Mateescu-05 the main frame of our BISIMULATOR (using "solve_1" and "solve_2") tool demonstration at TACAS'2005.

TAU_CONFLUENCE

(top)

TAU_CONFLUENCE is an on-the-fly partial order reductor based on OPEN/CAESAR environment part of CADP

Contribution:
TAU_CONFLUENCE consists in identifying, for each state s, the set C(s) of confluent tau-transitions going out of s, meaning that after their execution any other transition going out of s can still be executed. The reduction consists in eliminating all transitions going out of s except those in C(s). This tool encodes the definition of tau-confluence as a boolean equation system, which is solved on the fly using the general algorithms A1 and A2 provided by the "solve_1" library. I have participated to the connection of the front-end of TAU_CONFLUENCE with the "solve_2" back-end through the use of one of the distributed algorithms I designed and implemented.
Documentation:
CADP web page and Pace-Lang-Mateescu-03, which is the article of reference on TAU_CONFLUENCE
Overview publication on OPEN/CAESAR
Papers about equivalence checking using BISIMULATOR and REDUCTOR
2006 activity report of the VASY team
2005 activity report of the VASY team
2004 activity report of the VASY team
2003 activity report of the VASY team
Demo examples:
The TAU_CONFLUENCE module has successfully been used by other tools of the CADP toolbox, namely for equivalence checking with BISIMULATOR and BCG graph generation using reachability analysis combined with on-the-fly reduction with REDUCTOR.

EVALUATOR

(top)

EVALUATOR is an on-the-fly model checker of regular alternation-free mu-calculus formulas, based on OPEN/CAESAR environment part of CADP

Contribution:
EVALUATOR performs an on-the-fly verification of a temporal property on a given LTS. The result of this verification (TRUE or FALSE) is returned, possibly accompanied by a diagnostic. The tool is based upon a translation of the model checking problem into the resolution of a boolean equation system, which is performed on-the-fly using the algorithms provided by the "solve_1" library. I have participated to the connection of the front-end of EVALUATOR with the "solve_2" back-end through the use of one of the distributed resolution algorithms I have designed and implemented.
Documentation:
CADP web page and the two articles of reference on EVALUATOR: Mateescu-Sighireanu-03 and Mateescu-03-a
Overview publication on OPEN/CAESAR
article at SPIN'2006
article at TACAS'2002
article at TSI
Papers on boolean equation systems resolution and application to model checking
2006 activity report of the VASY team
2005 activity report of the VASY team
2004 activity report of the VASY team
2003 activity report of the VASY team
2002 activity report of the VASY team
2001 activity report of the VASY team
2000 activity report of the VASY team
1999 activity report of the VASY team
Demo examples:
All demos on the CADP online demo examples web page that need a model checker make use of EVALUATOR.

EXTRACTOR

(top)

available soon ...

EXTRACTOR is an on-the-fly test case generator, based on the OPEN/CAESAR environment part of CADP

Contribution:
Along the lines of the test generation theory implemented in the TGV tool of CADP, we developed a prototype tool named EXTRACTOR that takes as inputs both a ``specification'' graph (represented implicitly using the OPEN/CÆSAR environment) and a ``test purpose'' (represented explicitly as a BCG graph), and computes the ``complete test graph'' (CTG) containing all sequences of observable actions and quiescence present in the specification and allowed by the test purpose. The CTG produced by EXTRACTOR is subsequently processed using the DETERMINATOR tool of CADP to eliminate nondeterminism and tau-transitions. Compared to TGV, EXTRACTOR uses a radically different approach, as it reformulates the CTG generation problem in terms of a boolean equation system, for which a diagnostic is computed using the CÆSAR_SOLVE library.
We developed two versions of EXTRACTOR, a sequential one (1, 200 lines of C code) based on the sequential resolution algorithms of CÆSAR_SOLVE, and a distributed one (1, 300 lines of C code) based on the distributed version of CÆSAR_SOLVE. Experiments were performed on various graphs (taken from the VLTS benchmark suite and the CADP demo examples) by using generic test purposes expressing the reachability of certain visible actions. All CTGs obtained by applying EXTRACTOR and DETERMINATOR were strongly equivalent to those produced by TGV, although slightly larger. On some examples, however, the generation of the CTG succeeded using EXTRACTOR and DETERMINATOR, whereas TGV would fail because of memory shortage. These results have been accepted for publication at SPIN'2006.
Documentation:
CADP web page
article at SPIN'2006
2006 activity report of the VASY team
2005 activity report of the VASY team

PDAC

(top)

PDAC is a set of performance and dependability analysis components that has been integrated to CADP.

Contribution:
I have contributed to the design and implementation to the three following PDAC tools: a transient numerical analyser of (extended) continuous-time Markov chains encoded in the BCG format (BCG_TRANSIENT), a steady-state numerical analysis of (extended) continuous-time Markov chains encoded in the BCG format (BCG_STEADY), and an eliminator of nondeterminism for normal, probabilistic, or stochastic systems (DETERMINATOR).
Documentation:
CADP web page
article at FME'2002
article at TACAS'2003
Papers about performance evaluation
2006 activity report of the VASY team
2005 activity report of the VASY team
2004 activity report of the VASY team
2003 activity report of the VASY team
2002 activity report of the VASY team
AMETIST deliverable 0.1.6 and 2.4.a
Demo examples:
demo_30, demo_31 and demo_39 make use of these new tools and are available from the CADP online demo examples web page.
Tool demonstration:
An obsolete web page of PDAC, as it was demonstrated at TACAS'2003, can be found here : http://fmt.cs.utwente.nl/tools/pdac/

DISTRIBUTOR

(top)

DISTRIBUTOR is a state space generator, part of CADP, using distributed reachability analysis

Contribution:
I first worked on DISTRIBUTOR back in 2002 during my master in computer science. I contributed to the correction of version V2.0 of DISTRIBUTOR before redesigning the algorithm (order of distributed tasks, priority between computation and communication, distributed termination detection, protocol of distributed dynamic data structures coherency) which has been integrated in current version (V3.0) of DISTRIBUTOR.
Documentation:
my master research report!
CADP web page
article at TACAS'2006
article at SPIN'2001
Papers about distributed state space generation
2006 activity report of the VASY team
2005 activity report of the VASY team
2004 activity report of the VASY team
2003 activity report of the VASY team
2002 activity report of the VASY team
2001 activity report of the VASY team
2000 activity report of the VASY team
1999 activity report of the VASY team
Demo examples:
from demo_02 available from the CADP online demo examples web page, you can make use of DISTRIBUTOR by constructing a .gcf file that contain the following example lines:
localhost
directory=/tmp/A
localhost
directory=/tmp/B
localhost
directory=/tmp/C
this specifies a network of three processes (in the parallel.gcf above example, all processes are local to the same machine (user local machine)), and three different working directories (one for each process). Then, by running the following command line:
caesar.open bitalt_protocol.lotos distributor.a -monitor parallel.gcf bitalt_protocol.pbg
you'll distribute the generation of alternating bit protocol with 4 messages, over three processes. Once the generation is done, you can merge the partitioned LTS into one LTS by using the BCG_MERGE tool simply as following:
bcg_merge bitalt_protocol.pbg
That's it! You've got your final merged generated LTS of the alternating bit protocol with 4 different messages.
There will be soon more demo examples of DISTRIBUTOR on the CADP online demo examples web page.
Valid XHTML 1.0!
Christophe.Joubert@inrialpes.fr

Last modification : 07/05/18 12:01:42

Valid CSS!