Construction and Analysis of Distributed Processes
Software Tools for Designing Reliable Protocols and Systems

THE CADP NEWSLETTER - Nr. 2
June, 6, 1997

This newsletter is available from the CADP Home page. A few URLs in this page have been updated in November 2011.


Contents:


1. Availability of CADP version 97a "Twente"

The VASY team at INRIA Rhone-Alpes / DYADE and the VERIMAG laboratory are pleased to announce the availability of a new release of their protocol engineering toolbox CADP (CAESAR/ALDEBARAN Development Package).

This new version is named 97a "Twente" and is dated June, 6, 1997. It supersedes the existing one (Version Z dated December, 6, 1996).

Following the tradition set by some important software companies to give city names to their software, we have chosen to label Version 97a of CADP with the name "Twente", because this new version was demonstrated publicly for the first time during the TACAS'97 Workshop organized in April 1997 at the University of Twente (The Netherlands), and because we acknowledge the major role played by the University of Twente in the development of formal methods in general, and LOTOS in particular.

Compared to version Z, version 97a "Twente" of CADP brings significant progress. It provides 28 bugs fixes and introduces 34 improvements and new features, for instance:

You may find a detailed list of bug fixes and improvements below. We hope that you will enjoy this new version.


2. Recent papers

Garavel-Jorgensen-Mateescu-Pecheur-Sighireanu-Vivien-97
CADP'97 - Status, Applications, and Perspectives

[6 pages]

Abstract:
This article gives an overview of the most recent features implemented in CADP (CAESAR/ALDEBARAN Development Package), a toolbox dedicated to the design and verification of communication protocols and distributed systems. Besides the description of the new features, this paper also lists the latest applications of CADP to industrial case-studies and mentions the current research directions for improving CADP.

Krimm-Mounier-97
Compositional State Space Generation from Lotos Programs

[20 pages]

Abstract:
This paper describes a compositional approach to gnerate the labeled transition system representing the behaviour of a Lotos program by repeatedly alternating composition and reduction operations on subsets of its processes. To restrict the size of the intermediate LTSs generated, we generalize to the LOTOS parallel composition operator the results proposed in [Graf-Steffen-90], which consist in representing the environment of a process as an interface, i.e., a set of "autorized" execution sequences/ This generalization allows to handle both user-given interfaces and automatically computed ones. This compositional method has been implemented within the CADP toolbox and experimented on several realistic case studies.

Sighireanu-Mateescu-97
Validation of the Link Layer Protocol of the IEEE-1394 Serial Bus ("FireWire"): an Experiment with E-LOTOS

[37 pages, PostScript form only]

Abstract:
This paper deals with the description in E-LOTOS of the asynchronous Link layer protocol of the IEEE-1394 Standard and its verification using model-checking. The E-LOTOS descriptions are based on both the standard and the mu-CRL description written by Luttik. The verifications are performed using the CADP (CAESAR/ALDEBARAN) toolbox. We translate the E-LOTOS descriptions in LOTOS using the TRAIAN tool, and then we generate the underlying LTS models using the CAESAR compiler. We formally express in the ACTL temporal logic the five correctness properties of the Link layer protocol stated by Luttik in natural language and we verify them on the LTS models using the XTL model-checker. We detect and correct a potential deadlock caused by the ambiguous semantics of the state machines given in the standard, which can be misleading for implementors of the IEEE-1394 protocol.


3. The CADP Web site

Since January 1997, there is a Web site for the CADP toolbox. You may find this site at the address :
http://www.inrialpes.fr/vasy/cadp

At this site, you will find two helpful ressources:


4. WELL : A World-Wide LOTOS site maintained by Ken Turner

Ken Turner (E-mail :kjt@cs.stir.ac.uk) is collecting information on LOTOS sites with web pages. A start has been made in
http://www.cs.stir.ac.uk/~kjt/research/well

He would appreciate receiving URLs from any research groups (preferably) or individuals with pages mentioning LOTOS activities.


5. Porting CADP on other platforms?

In order to provide a better support to our many users, we would like to know on what machines you would like to use the CADP toolbox. This information will guide us, in our choices in the porting of CADP on other platforms. This questionnaire concerns registered users as well as people who would like to use the toolbox.

	On which configuration(s) would you need to use CADP ?
	(Please, do not list all the kinds of machines your
	 organization has bought, but only the type of machines
	 on which you would really like to use the CADP tools).
		. Sun / Solaris 2.5 		[Y / N]
		. Sun / SunOS 4.1.x 		[Y / N]
		. Sun / Linux 			[Y / N]
		. SGI / Irix 			[Y / N]
		. HP / HP-UX			[Y / N]
		. Alpha / OSF/1 		[Y / N]
		. IBM / AIX *.* 		[Y / N]
		. PC / ELF versions of Linux 	[Y / N]
		. PC / a.out versions of Linux	[Y / N]
		. PC / Windows 95		[Y / N]
		. PC / Windows NT 4.0		[Y / N]
		. Other				please precise

	If you use CADP on a Sun workstation running SunOs 4.1.x,
	how long do you plan to do so ?

	Do you plan to migrate to Solaris in the near future ? 

	Would you mind if we discontinue the support of SunOS 4.1.x ?
Please send your replies to Mark.Jorgensen@inria.fr. We appreciate your help.

6. Detailed list of changes for CADP version 97a "Twente"


VERSION Z
BUG FIX
Number:         422
Date:           Mon Dec 16 16:03:51 MET 1996
Author:         Laurent Mounier (VERIMAG)
Files:          bin.*/projector.a

Nature:         The libraries of the Projector tool did not work properly
                and have been updated.

BUG FIX
Number:         423
Date:           Mon Dec 16 18:23:09 MET 1996
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/xsimulator.a

Nature:         A minor bug fix was made in the Xsimulator tool.

IMPROVEMENT
Number:         424
Date:           Sun Dec 22 20:57:27 MET 1996
Report:         Guy Tremblay (Universite du Quebec a Montreal), 
                J. Sincennes (University of Ottawa)
Author:         Hubert Garavel (INRIA/VASY)
Files:          INSTALLATION

Nature:         In the INSTALLATION file, the $ARCH variable was renamed in
                $CADP_ARCH, in order to avoid conflicts with some $ARCH 
                variable which may also exist in some startup shells.
                This change is intended to new users only; if you are 
                currently using $ARCH, you do not have to modify your
                startup file. Explanations regarding the difference 
                between architectures "sun4" and "sun5" have been added.

BUG FIX
Number:         425
Date:           Mon Jan  6 17:09:45 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar.adt

Nature:         A minor bug was fixed in CAESAR.ADT. In the ``.h'' file
                generated by CAESAR.ADT, when a ``.t'' file (external types)
                is to be included, the comments describing the expected
                contents of the ``.t'' file were disseminated at various
                places in the ``.h'' file. Now, they are gathered altogether
                at the place where the ``.t'' file is included.

IMPROVEMENT
Number:         426
Date:           Wed Jan  8 14:27:23 MET 1997
Report:         Ghassan Chehaibar (Bull/Dyade)
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar.adt, man/manl/caesar.adt.l

Nature:         A new option, ``-external'', was added to CAESAR.ADT. When
                invoked with this option, CAESAR.ADT generates two prototype
                files, which can be used as a model for the ``.t'' file
                (external types) and the ``.f'' file (external functions). 
                These files are to be completed by hand. The CAESAR.ADT
                manual page was updated accordingly.

BUG FIX
Number:         427
Date:           Wed Jan 29 14:42:28 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          ./INSTALLATION

Nature:         The installation directive:
                        chown -R root $CADP
                        chgrp -R wheel $CADP
                did not work under Solaris 2 (the "wheel" group only exists
                in Solaris 1). They have been replaced with:
                        chown -R 0 $CADP
                        chgrp -R 0 $CADP
                This should work both under Solaris 1 and 2.

BUG FIX
Number:         428
Date:           Fri Jan 31 11:42:55 MET 1997
Report:         Charles Pecheur (INRIA/VASY)
Author:         Hubert garavel (INRIA/VASY)
Files:          bin.*/bcg_io

Nature:         The BCG_IO tool did not work properly under some restricted
                versions of Solaris 2.5 (limited to dynamic libraries). When 
                invoked with some specific options, error messages were 
                displayed, e.g.:

                > bcg_io TEST.bcg TEST.aut
                > ld: fatal: library -lc: not found
                > ld: fatal: File processing errors.  No output written to ...
                > Segmentation Fault (core dumped)

                This problem also occurred in ALDEBARAN, which silently 
                invokes BCG_IO to perform format conversions: 

                > aldebaran    -bddsize 4 -info foo.bcg
                > ld: fatal: library -lsocket: not found
                > ld: fatal: library -lnsl: not found
                > ld: fatal: library -lelf: not found
                > ld: fatal: library -lc: not found
                > ld: fatal: File processing errors.  No output written to ...
                > Segmentation Fault - core dumped

                This problem was fixed.

BUG FIX
Number:         429
Date:           Thu Feb  6 08:41 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          ./INSTALLATION

Nature:         The installation directive for setting $LD_LIBRARY_PATH worked
                for "csh", but not "tcsh". The new directive should work for 
                both "csh" and "tcsh".

                Also, "/usr/lib" was added to the list of directories that we
                recommend to be present in $LD_LIBRARY_PATH.

IMPROVEMENT
Number:         430
Date:           Thu Feb  6 14:53:03 MET 1997
Authors:        Mark Jorgensen (INRIA/VASY), Laurent Mounier (VERIMAG)
Files:          doc/:READ_ME

Nature:         The :READ_ME file has been enriched with the abstracts of the
                papers. An HTML version is now available on the CADP web site.

IMPROVEMENT
Number:         431
Date:           Mon Feb 10 17:10:11 MET 1997
Author:         Mark Jorgensen (INRIA/VASY)
Files:          com/xeuca, src/eucalyptus/eucalyptus.tcl

Nature:         The EUCALYPTUS graphical user-interface was improved in two
                ways: appropriate fonts are specified explicitly (this avoids
                random font replacements on some X-terminals) and colors have 
                been added. Both fonts and colors can be customized by the user
                using the ~/.xeucarc file.

IMPROVEMENT
Number:         432
Date:           Mon Feb 17 09:37:21 MET 1997
Authors:        Hubert Garavel, Radu Mateescu, Mihaela Sighireanu (INRIA/VASY)
Files:          lib/INTEGERNUMBER.lib, lib/INTEGER.lib, lib/X_INTEGER.lib,
                incl/X_INTEGER.h

Nature:         A new datatype library has been developed, which models
                signed integer numbers. This library is available under
                two different forms:

                        - ``INTEGERNUMBER.lib'' (also ``INTEGER.lib'' as a
                          shorthand) contains ``pure'' abstract data type 
                          definitions for integer numbers. It can be compiled 
                          by CAESAR.ADT

                        - ``X_INTEGER.lib'' contains data type definitions,
                          for which all types and functions are declared to
                          be external. The corresponding C implementation is
                          provided in file incl/X_INTEGER.lib

BUG FIX
Number:         433
Date:           Mon Feb 17 11:51:36 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          com/caesar.aldebaran

Nature:         The previous version of "caesar.aldebaran" relied upon the
                the "-n" option of the "echo" command, an option which no
                longer exists in Solaris 2.*. This has been fixed.

IMPROVEMENT
Number:         434
Date:           Mon Feb 17 12:14:21 MET 1997
Report:         Jacques Sincennes (University of Ottawa)
Author:         Hubert Garavel (INRIA/VASY)
Files:          com/tst

Nature:         The warning message given by "tst" when "/bin/arch" overrides
                "$CADP/com/arch" in the $PATH has been suppressed (more
                precisely, it has been extremely softened), because this 
                situation does not create problems. Also, the new version of
                "tst" checks for the availability of UNIX command "head" and 
                "tail".

IMPROVEMENT
Number:         435
Date:           Mon Feb 17 15:53:15 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          com/upc

Nature:         The "upc" program was modified to take into account the new
                form of CADP version names (97a, etc., after A, B, ...Z).
                Also, an "echo -n" statement was made portable across
                different Unix versions.

IMPROVEMENT
Number:         436
Date:           Thu Feb 20 19:02:15 MET 1997
Author:         Mihaela Sighireanu (INRIA/VASY)
Files:          emacs/lotos-mode.el

Nature:         A "LOTOS-mode"  for editing LOTOS descriptions using Emacs 
                and XEmacs has been added to the CADP release. This mode
                allows keywords and comments to be displayed in different 
                fonts/colors. It also provides shorthands for entering
                quickly LOTOS constructs (types, processes, ...) and supports
                compiler invocation within Emacs and XEmacs.

BUG FIX
Number:         437
Date:           Tue Feb 25 15:27:14 MET 1997
Report:         Charles Pecheur (INRIA/VASY)
Author:         Mark Jorgensen (INRIA/VASY)
Files:          src/eucalyptus/eucalyptus.tcl

Nature:         In EUCALYPTUS, ELUDO was not launched properly if the option
                "Use_Non_Standard_Library" had been selected before clicking
                on "Execute / Symbolic simulation". For instance, if the 
                "is.x" library had been selected, ELUDO tried to fetch
                library "is.x.x". This has been fixed.

IMPROVEMENT
Number:         438
Date:           Thu Feb 27 14:48:07 MET 1997
Author:         Laurent Mounier (VERIMAG)
Files:          demos/demo_18

Nature:         A new demo (the Transit Node message router used in the 
                European project SPECS) was added to the CADP distribution,

IMPROVEMENT
Number:         439
Date:           Tue Mar  4 13:09:26 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar, incl/caesar_kernel.h, src/exec_caesar/main.c
                man/manl/caesar.l

Nature:         A new option ("-exec") has been added to CAESAR. In addition
                to the two existing modes for CAESAR: graph generation ("-bcg",
                "-aldebaran", "-graph") and on-the-fly exploration ("-open"),
                this option introduces a third mode: the execution mode.
                Using this option, CAESAR produces an executable C module,
                which can  be used to control a real "reactive" system. 
                This code has to be completed with hand-written C routines 
                corresponding to the observable gates of the LOTOS description.
                The interface of the C code generated with "-exec" is defined 
                in "$CADP/incl/caesar_kernel.h" and a typical main routine
                is available in "$CADP/src/exec_caesar/main.c". For an example,
                see #461 below.

BUG FIX
Number:         440
Date:           Mon Mar 10 15:39:46 MET 1997
Report:         Charles Pecheur (INRIA/VASY), Arnaud Fevrier (ENST), 
                Elie Najm (ENST)
Author:         Mark Jorgensen and Hubert Garavel (INRIA/VASY)
Files:          src/eucalyptus/eucalyptus.tcl, src/eucalyptus/xeucarc_standard

Nature:         Several fixes and improvements have been done in EUCALYPTUS:

                (a) The size of xterm's created from "xeuca" is now 
                    parameterized by a $Xterm_Options variable defined in
                    the .xeucarc file. This variable can also be used to
                    pass various options to xterm.

                (b) An error message is now displayed when one tries to
                    launch the Viscope tool, if it is not installed

                (c) In the Files / Change Directory menu, the buttons 
                    corresponding to the directories of non-installed tools 
                    are now made inactive (in grey).

                (d) In the Applications menu, there is now a single editor
                    button, corresponding to the $EDITOR variable

                (e) "xeuca" no longer creates an xterm window when launching
                    editors such as emacs, xemacs, textedit, etc. that have
                    their own xterm window. On the opposite, an xterm is
                    still created for "vi".

                (f) The names of the temporary files created by "xeuca" have
                    been made unique, in order to avoid conflicts between
                    concurrent or successive "xeuca" sessions.

                (g) "xeuca" now detects the backup files (foo~ and #foo#)
                    created by emacs and xemacs and gives them a grey icon.

                (h) When the "Help" button is pressed and the Help window
                    is already opended, the Help window is popped up.

BUG FIX
Number:         441
Date:           Mon Mar 10 18:40:45 MET 1997
Report:         Arnaud Fevrier (ENST)
Author:         Hubert Garavel (INRIA/VASY)
Files:          INSTALLATION

Nature:         Various setup details listed in the INSTALLATION file have 
                been improved:

                (a) For the C-shell, a test was added to detect whether the
                    $LD_LIBRARY_PATH is set or not.
                     
                (b) The $EDITOR variable is not overriden if previously 
                    defined.

                (c) The $NAVIGATOR variable is not overriden if previously
                    defined.

                (d) An attempt is made to position CADP_CC automatically
                    (either to "cc" or "gcc" depending upon the context).

BUG FIX
Number:         442
Date:           Tue Mar 11 12:12:34 MET 1997
Report:         Mihaela Sighireanu (INRIA/VASY)
Author:         Hubert Garavel (INRIA/VASY)
Files:          com/tst

Nature:         Two bugs that caused "tst" to halt abruptly when $CADP_CC was 
                set to "cc -g" have been fixed. Also, the new version of "tst"
                detects properly the situations where $CADP is set to a dummy 
                value.

IMPROVEMENT
Number:         443
Date:           Fri Mar 14 16:46:27 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar, bin.*/caesar.adt, man/manl/caesar.l, 
                man/manl/caesar.adt.l, src/eucalyptus

Nature:         The two options "-berkeley" and "-systemV" were no longer 
                meaningful in 1997. They have been removed from CAESAR,
                CAESAR.ADT and EUCALYPTUS. The manual pages have been updated.

BUG FIX
Number:         444
Date:           Mon Mar 17 10:19:12 MET 1997
Report:         Axel Belinfante (Univ. of Twente),
                Ghassan Chehaibar (Bull/Dyade)
                Mark Jorgensen (INRIA/VASY)
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar, man/manl/caesar.l

Nature:         The tenporary files generated by CAESAR during its type
                survey phase, its optimization phase (optimizations E7,
                V3, V4, V7) and its simulation phase are now created in
                the $CADP_TMP directory (instead of the current directory).
                The manual page for CAESAR has been updated.

                In particular, this solves a problem reported by several
                OPEN/CAESAR users: 
                > caesar.open: using link mode
                > caesar.open: file ``xxx.c'' was not generated using 
                > ``caesar -open''
                This problem happened when CAESAR stopped (due to an error
                in hand-written C code for data types) leaving a temporary
                ".c" file in the current directory. This ".c" file had to be
                deleted manually before restarting "caesar.open". The problem
                came from the fact that the temporary ".c" files and the
                final output ".c" file generated by "caesar -open" shared
                the same file name.

IMPROVEMENT
Number:         445
Date:           Mon Mar 17 10:19:12 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar.adt, man/manl/caesar.adt.l

Nature:         Similarly, the temporary files produced by CAESAR.ADT during
                its external type survey phase are now created in the
                $CADP_TMP directory (instead of the current directory). The 
                "..c" files have been renamed in ".c" files. The manual page 
                for CAESAR.ADT has been updated.

BUG FIX
Number:         446
Date:           Mon Mar 17 11:23:34 MET 1997
Report:         Charles Pecheur (INRIA/VASY)
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar, bin.*/caesar.adt

Nature:         The following diagnostic message produced by CAESAR and 
                CAESAR.ADT:
                   > the body of process P [9] has functionality:
                   >    F1
                   > whereas its declaration requires functionality:
                   >    F2
                was not correct (functionnalities F1 and F2 had to be 
                permuted). This problem is fixed now.

IMPROVEMENT
Number:         447
Date:           Mon Mar 17 15:57:15 MET 1997
Report:         Charles Pecheur (INRIA/VASY), Muffy Thomas (Univ. of Glasgow)
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar

Nature:         A warning message of the form: 
                   > "xx.c", line 498: warning: improper pointer/integer 
                   > combination: op "="
                that occurred when invoking CAESAR on a Solaris 2.x with
                $CADP_CC pointing to /usr/ucb/cc has been fixed (the problem
                comes from the fact that function tmpfile() is not declared
                in /usr/ucbinclude/stdio.h)

BUG FIX
Number:         448
Date:           Mon Mar 17 17:54:34 MET 1997
Report:         Charles Pecheur and Mihaela Sighireanu (INRIA/VASY)
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/exhibitor.a

Nature:         A bug in "exhibitor -dfs" was fixed, which caused Exhibitor
                to stop with the following error message:
                   > ./exhibitor: assertion violation at line 65 of 
                   > file "exhibitor_dfs.c"

IMPROVEMENT
Number:         449
Date:           Wed Mar 19 15:46:37 MET 1997
Files:          bin.*/evaluator.a, man/manl/evaluator.l
Author:         Marius Bozga (VERIMAG)

Nature:         A new version of EVALUATOR was issued, improving the previous
                version on several points:  
                - The data structures used to store the product states has been
                  improved. The physical memory needed during the evaluation
                  is reduced up to 40% for large examples.
                - Two different evaluation strategies are now available:
                  a local one, which is an improvement of the strategy 
                  implemented in the previous version, and a global one,
                  based on a single exploration of the whole product graph.
                  The former is particularly efficient when the formula under
                  evaluation is false (and it provides a diagnostic), while the
                  latter usually offers better results when the formula is true
                  (depending on the structure of the LTS). 
                - The syntax of mu-calculus formulas has been extended: 
                  label sets can now be specified using  boolean "not" and "or"
                  operations on labels.
                The EVALUATOR manual page has been updated.

IMPROVEMENT
Number:         450
Date:           Wed Mar 19 16:34:21 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar, com/caesar.open, com/caesar.xesar, 
                src/eucalyptus, man/manl/caesar

Nature:         Seven command-line options have been removed from CAESAR:
                   -auto, -mec, -pipn, -scan, -squiggles, -xesar and -xesar.old
                because they were no longer useful (either corresponding tools 
                are no longer maintained, or in the particular case of 
                Auto/Autograph, a new graph format (FC2) is in use).

                This removal simplifies the code of CAESAR (which becomes
                660-lines leaner), the documentation and the graphical
                user-interface.

                If needed, the corresponding graph formats (.auto.pro,
                .dp3, .ge3, .gra, .graph, .m0, .mec, .scan and .tai)
                can still be obtained by generating a BCG file first, then 
                converting it to the desired graph format using "bcg_io".

                Of course, the following options are still supported:
                   -aldebaran, -bcg, -graph, -exec and -open

                The manual page for CAESAR was updated.
                The EUCALYPTUS graphical user-interface was updated.

                The "caesar.xesar" shell-script (lasting from November 1994)
                has been removed since it was no longer useful.

                The "caesar.open" shell was updated.

IMPROVEMENT
Number:         451
Date:           Wed Mar 19 17:10:55 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          man/whatis, man/windex

Nature:         The index files for the CADP manual pages (named "whatis" for 
                "sun4" and "windex" for "sun5") are generated. This should
                allow "man -k" to work properly.

IMPROVEMENT
Number:         452
Date:           Fri Mar 21 11:47:51 MET 1997
Report:         Mihaela Sighireanu (INRIA/VASY)
Author:         Hubert Garavel (INRIA/VASY)
Files:          gc/*

Nature:         The Boehm-Demers garbage collector has been upgraded. The
                previous version (V4.3 dated December, 23, 1994) has been
                replaced with the latest version available (V4.10 dated
                February, 19, 1996).

BUG FIX
Number:         453
Date:           Thu Mar 21 14:37:31 MET 1997
Report:         Antony de Jacquier (Universite Libre de Bruxelles)
Authors:        Alain Kerbrat and Laurent Mounier (VERIMAG)
Files:          bin.*/aldebaran

Nature:         The default suffixes for filenames given in the command line 
                of ALDEBARAN or in a composition expression have been modified.
                From now on, ALDEBARAN first looks for a ".aut" file, then for
                a ".bcg" file, and finally for a ".exp" file. Thus, it becomes
                possible to use an LTS stored in a "foo.aut" file within the 
                "foo.exp" composition expression. 

IMPROVEMENT
Number:         454
Date:           Fri Mar 21 15:09:34 MET 1997
Report:         Charles Pecheur (INRIA/VASY)
Authors:        Mark Jorgensen and Hubert Garavel (INRIA/VASY)
Files:          bin.*/duplex

Nature:         Two problems have been fixed: 
                - No error message was displayed when Xsimulator could not 
                  be started (due to a missing X font, or to an "xhost -" 
                  setup, or to some other initialization reason).
                - Same problem for "xeuca" (the EUCALYPTUS graphical user
                  interface)

BUG FIX
Number:         455
Date:           Fri Mar 22 10:23:14 MET 1997
Report:         Hubert Garavel
Author:         Alain Kerbrat and Laurent Mounier (VERIMAG)
Files:          bin.*/aldebaran

Nature:         A warning has been suppressed in ALDEBARAN: it improperly 
                complained when an LTS stored in "a .aut" file contained a
                single state and no transition.

BUG FIX
Number:         456
Date:           Mon Mar 24 15:54:57 MET 1997
Report:         Charles Pecheur (INRIA/VASY)
Authors:        Hubert Garavel and Mark Jorgensen (INRIA/VASY)
Files:          src/open_caesar/simulator.i

Nature:         The simulation code (common to "simulator" and "xsimulator")
                has been extended to catch the situation where an error occurs
                during the evaluation of an ADT expression, which usually
                results in the following error message:

                        #212 error in file ``.h'' :
                             unexpected case (not defined by the equations)
                             in operation F [...]
                             implemented by function CAESAR_ADT_FUNC_F [...]

                In the previous version, "simulator" would immediately exit
                in such case. The situation was even worse with "xsimulator",
                that would exit and destroy its window before the above error
                message could be read. The new versions of "simulator" and
                "xsimulator" gracefully recover from this situation, allowing
                the user to backtrack to previous states or from the initial
                state.

BUG FIX
Number:         457
Date:           Mon Mar 24 18:10:09 MET 1997
Report:         Charles Pecheur (INRIA/VASY)
Authors:        Mark Jorgensen and Hubert Garavel (INRIA/VASY)
Files:          bin.*/duplex

Nature:         The following problem was fixed: "xsimulator" was blocked 
                when too many (i.e., several hundreds) transitions were
                fired from the current state. The new version recovers from
                this situation by giving an error message and printing only
                the first hundreds of transitions (skipping the remaining 
                ones).

BUG FIX
Number:         458
Date:           Tue Mar 25 12:38:38 MET 1997
Report:         Charles Pecheur (INRIA/VASY)
Author:         Hubert Garavel (INRIA/VASY)
Files:          src/eucalyptus/eucalyptus.tcl

Nature:         In some cases (when an option such as -first, -all, etc. was
                specified), the "terminator" tool was invoked incorrectly
                from the EUCALYPTUS user-interface (i.e., the option was
                specified twice). This bug has been solved.

IMPROVEMENT
Number:         459
Date:           Tue Mar 25 12:46:19 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          src/eucalyptus/eucalyptus.tcl

Nature:         The "Files" and "Applications" menus of EUCALYPTUS have been
                renamed and reorganized into two menus ("File" and "View"),
                which are more logical and closer to standard conventions.

IMPROVEMENT
Number:         460
Date:           Tue Mar 25 14:23:06 MET 1997
Report:         Ilona Schubert (GMD-FOKUS, Germany)
Author:         Hubert Garavel (INRIA/VASY)
Files:          com/rfl

Nature:         A test was added to "rfl" to detect the cases where the
                startup file of the login shell (e.g. ".cshrc" or ".profile")
                does "echo" statements on its standard output. This prevents
                "rsh" (and consequently "rfl") from working properly. 

IMPROVEMENT
Number:         461
Date:           Tue Mar 25 17:20:39 MET 1997
Authors:        Hubert Garavel and Mark Jorgensen (INRIA/VASY)
Files:          demos/demo_19

Nature:         A new demo (the famous "Production Cell" and its animated
                Tcl/Tk interface) was added to the CADP release. It 
                demonstrates how LOTOS and EXEC/CAESAR can be used to program 
                controllers.

BUG FIX
Number:         462
Date:           Tue Mar 25 18:10:35 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          src/eucalyptus/eucalyptus.tcl

Nature:         A bug was fixed in EUCALYPTUS: the "Edit in 2 dimensions"
                button for PostScript files invoked an improper command.

BUG FIX
Number:         463
Date:           Wed Mar 26 11:24:54 MET 1997
Report:         Marius Bozga and Laurent Mounier (VERIMAG)
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/libbcg_open.a

Nature:         The implementation of CAESAR_STRING_LABEL() provided by 
                BCG_OPEN was inefficient, because each call to this function
                allocated a fragment of memory that could never be freed
                (according to the conventions defined in "caesar_graph.h").
                This bug has been fixed. 

IMPROVEMENT
Number:         464
Date:           Wed Mar 26 11:59:36 MET 1997
Author:         Laurent Mounier (VERIMAG)
Files:          doc/Krimm-Mounier-97.dvi, doc/Krimm-Mounier-97.ps, 
                doc/biblio.bib

Nature:         A new paper on compositional verification was added in the
                "doc" directory.

IMPROVEMENT
Number:         465
Date:           Wed Mar 26 18:21:09 MET 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          src/eucalyptus/eucalyptus.tcl

Nature:         The EUCALYPTUS graphical-user interface has been extended to
                support the new version of evaluator (see #449 above).

IMPROVEMENT
Number:         466
Date:           Thu Mar 27 11:11:04 MET 1997
Authors:        Hubert Garavel and Mark Jorgensen (INRIA/VASY)
Files:          bin.*/caesar, bin.*/lib_BCG_IO.a, incl/bcg_write.h
                src/open_caesar/generator.c, src/open_caesar/reductor.c,
                src/eucalyptus/eucalyptus.tcl, src/monitor/main.tcl,
                com/caesar.open, man/manl/caesar.l, man/manl/generator.l,
                man/manl/reductor.l, man/manl/bcg_write.l

Nature:         A new functionality has been added to the BCG library: it is
                now possible to monitor in real-time the generation of a BCG
                graph: this is done using a Tcl-Tk window, which displays the
                current number of states, the current number of transitions,
                the list of labels, etc. (see below improvement #468 for 
                details on how this functionality can be accessed from a 
                C program).

                An option "-monitor" has been added to CAESAR, Generator and
                Reductor: when invoked, this option launches the Tcl-Tk monitor
                window.

                Note: the "-monitor" option is CPU-consuming, but not much
                memory-expensive (since a "pipe" is used for interprocess
                communication).

                The EUCALYPTUS user-interface and the corresponding manual 
                pages have been updated to integrate this new functionality.

IMPROVEMENT
Number:         467
Date:           Thu Mar 27 12:32:00 MET 1997
Author:         Laurent Mounier (VERIMAG)
Files:          demos/demo_20

Nature:         A new demo about the DES2AUT, PROJECTOR and EVALUATOR tools
                (compositional verification of the rel/REL protocol with 4 
                stations) has been added.

IMPROVEMENT
Number:         468
Date:           Tue Apr  1 16:56:13 MET DST 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          incl/bcg_io_write_bcg.h, bin.*/libBCG_IO.a, bin.*/caesar, 
                src/open_caesar/generator.c, src/open_caesar/reductor.c,
                com/upc, man/manl/bcg_write.l

Nature:         The C programmation interface for generating BCG files has
                been simplified and enhanced. The main change affects the
                list of the parameters for functions BCG_IO_WRITE_BCG_BEGIN()
                and BCG_IO_WRITE_BCG_END(). The meaning of the new parameters
                is described in the "bcg_write.l" manual page.

                To take advantage of the new "bcg_io_write_bcg.h" interface 
                and the new "libBCG_IO.a" library, adaptations of the existing
                programs are necessary. The pre-existing calls: 

                 BCG_IO_WRITE_BCG_BEGIN (<filename>, <code>, <comment string>);
                 ...
                 BCG_IO_WRITE_BCG_END (<nb_states>, <initial state>, 
                                       <nb edges>, <sort>);

                should be replaced with the following ones:

                  BCG_IO_WRITE_BCG_BEGIN (<filename>, <initial state>, <code'>,
                                          <comment string>, <monitor>);
                  ...
                  BCG_IO_WRITE_BCG_END ();

                where:
                  - <filename> and <comment string> should be kept unchanged.
                  - <initial state> should be moved from one function to the
                    other.
                  - <nb states> and <nb edges> should be removed: these two
                    values are now handled automatically by the BCG library.
                    This will prevent application programs from generating
                    inconsistent BCG files by supplying erroneous numbers of
                    states and edges. Application programs no longer need to
                    compute <nb states> and <nb edges> themselves.
                  - <code'> should be equal to 1 or 2 (see the manual page).
                  - <sort> should be removed (it is no longer useful).
                  - <monitor> is a boolean that indicates whether the Tcl-Tk
                    monitoring window should be started.

                CAESAR, Generator, Reductor, and the "upc" shell-script have 
                been updated accordingly.

BUG FIX
Number:         469
Date:           Tue Apr  1 18:04:42 MET DST 1997                
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/bcg_io

Nature:         In version Z, the format of the ".aut" files generated by 
                ALDEBARAN had been modified unilaterally. Before version Z,
                the edges in ".aut" files generated by ALDEBARAN were always
                sorted by increasing number of the "from-states". Since
                version Z, some options of ALDEBARAN produce ".aut" files
                that are not sorted, e.g.: 
                        des (0, 6, 7)
                        (0, F, 6)
                        (4, E, 5)
                        (0, C, 3)
                        (1, B, 2)
                        (3, D, 4)
                        (0, A, 1)

                This situation causes problems in various places. In particular
                BCG_IO could not deal with non-sorted ".aut" files, which led
                to the following error message:
                  bcg_edge: previous state are not increasing in BCG_WRITE_EDGE

                The new version of BCG has been modified to tackle non-sorted
                ".aut" files. However, the BCG files now produced from ".aut"
                files are now less compact than before (technically, their edge
                area is encoded with format 1 instead of format 2).

                Therefore, the recommended policy is to use BCG files rather
                than ".aut" files. In particular, it is better to generate 
                directly a BCG file from CAESAR, rather than generating a 
                ".aut" file first and convert it later to a BCG file.

                Note: An unsorted ".aut" file can be sorted using the following
                command: bcg_io unsorted.aut sorted.aut

BUG FIX
Number:         470
Date:           Tue Apr  1 18:34:23 MET DST 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/bcg_io

Nature:         The previous version of the BCG_IO tool did not parse the 
                simple SEQUENCE format correctly: for instance, lines starting
                with a letter were rejected, whereas they should be ignored
                silently. This problem is now solved.

BUG FIX
Number:         471
Date:           Wed Apr  2 09:48:25 MET DST 1997
Report:         Radu Mateescu and Mihaela Sighireanu (INRIA/VASY)
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/libBCG_IO.a, bin.*/caesar
                src/open_caesar/generator.c, src/open_caesar/reductor.c

Nature:         CAESAR, Generator and Reductor have been modified to close
                properly the BCG file being generated when an interrupt signal
                is received, or when the "stop" button of the BCG monitor is
                pressed. This will prevent from having incomplete (therefore
                inconsistent) BCG files left in the working directory.

BUG FIX
Number:         472
Date:           Wed Apr  2 16:14:40 MET DST 1997
Report:         Ghassan Chehaibar (Bull/Dyade)
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar

Nature:         The ".aut" file generated by CAESAR was left in an inconsistent
                state upon receipt of an interrupt signal. This problem is now
                solved.

IMPROVEMENT
Number:         473
Date:           Wed Apr  2 16:25:04 MET DST 1997
Report:         Radu Mateescu and Mihaela Sighireanu (INRIA/VASY)
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/caesar, man/manl/caesar.l

Nature:         Previously, the ".net" file was generated either if the 
                "-network" was given on the command-line, or if none of the
                following primitives was selected: "-bcg", "-aldebaran", 
                "-open", "-exec". This behaviour was felt to be confusing,
                although it was justified by "historical" considerations.
                The new behaviour is simpler: the ".net" is generated iff
                the "-network" option is given on the command-line.             -------------------------------------------------------------------------------
BUG FIX
Number:         474
Date:           Mon Apr  7 19:23:35 MET DST 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/*bcg*, bin.*/*BCG*

Nature:         The "-Bstatic" option is no longer supplied by the BCG tools
                and libraries when they invoke the C compiler. This removes a
                compiler warning occurring when "gcc" is used instead of "cc":
                        gcc: file path prefix `static' never used

BUG FIX
Number:         475
Date:           Thu Apr 17 12:45:07 MET DST 1997
Report:         Charles Pecheur (INRIA/VASY)
Authors:        Hubert Garavel and Mark Jorgensen (INRIA/VASY)
Files:          incl/caesar_hash.h

Nature:         Due to an error in a #define statement, the two hash-functions:
                        CAESAR_STATE_1_HASH() and CAESAR_STATE_2_HASH()
                used by Terminator were in fact identical, which limited the
                scope of deadlock search. This bug was fixed.

IMPROVEMENT
Number:         476
Date:           Thu Apr 17 15:45:23 MET DST 1997
Authors:        Hubert Garavel and Mark Jorgensen (INRIA/VASY)
Files:          bin.*/libcaesar.a, incl/caesar_hash.h, man/manl/caesar_hash.l
                doc/Garavel-92-a.ps

Nature:         The CAESAR_0_HASH() function of the OPEN/CAESAR library was
                replaced by a faster hash function (the algorithms are totally
                different and the hash values returned are also different).
                The previous hash function is still available, but with
                different names: CAESAR_3_HASH() and CAESAR_STATE_3_HASH().

IMPROVEMENT
Number:         477
Date:           Wed Apr 23 12:47:52 MET DST 1997
Report:         Ghassan Chehaibar (Bull/Dyade)
Authors:        Hubert Garavel and Mark Jorgensen (INRIA/VASY)
Files:          bin.*/caesar

Nature:         The C code generated by CAESAR has been carefully examined
                and improved in order to increase its execution speed. 

                Ten optimizing transformations have been applied, leading 
                to a considerable reduction of the time needed to fire the
                transitions (this time has been roughly divided by 9!).

                In addition to this, the size of the state hash table has been
                enlarged (from 8,329 entries to 131,071 entries). From now on,
                the user can control this value, which is controlled by a 
                pre-processor directive of the form:
                        #define CAESAR_STATE_HASH_SIZE ...
                Similarly, the user gets control over the size of the position
                hash table, using the following firective:
                        #define CAESAR_POSITION_HASH_SIZE ...

                The combination of these changes leads to a much faster version
                of CAESAR. Depending on the examples, the new version of CAESAR
                can be from 2 times to 160 times faster, as shown in the table
                below (all these data have been obtained on an Ultra-Sparc-1
                143 MHz with 256 Mbytes of RAM):

   EXAMPLE                         CAESAR 5.1       CAESAR 5.2        speedup
   CO4 (Ch. Pecheur)            6 min.   2 min.          40 sec.         2.3
   demo_17/EXPERIMENT_14.lotos   3 min. 13 sec.   1 min. 03 sec.         3
   demo_08/rel_rel.lotos        58 min. 24 sec.   9 min. 43 sec.         6
   demo_11/rel_rel.lotos         1 hour 52 min.  12 min. 59 sec.         8.6
   demo_07/overtaking.lotos      3 min. 11 sec.          20 sec.         9.6
   demo_17/EXPERIMENT_12.lotos  40 min. 20 sec.   2 min. 45 sec.        15
   demo_14/pots.lotos           13 min. 37 sec.          54 sec.        15
   demo_17/EXPERIMENT_11.lotos  8 hours 17 min.  12 min. 40 sec.        39
   demo_16/brp_protocol.lotos    7 min. 55 sec.           6 sec.        79
   IEEE 1394 (M. Sighireanu)   83 hours 29 min.  55 min. 30 sec.        90
   demo_18/transit_node.lotos   46 hours 8 min.  17 min. 10 sec.       161

IMPROVEMENT
Number:         478
Date:           Wed Apr 23 15:49:42 MET DST 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          bin.*/libcaesar.a

Nature:         Some of the optimizations made for CAESAR (see #477 above)
                have been also applied to the OPEN/CAESAR library.

IMPROVEMENT
Number:         479
Date:           Fri Apr 25 11:56:49 MET DST 1997
Author:         Radu Mateescu (INRIA/VASY)
Files:          demos/demo_01, demos/demo_02

Nature:         These two demo examples have been enhanced with examples of
                correctness properties written in mu-calculus and verified
                using Evaluator.

IMPROVEMENT
Number:         480
Date:           Thu May  2 13:14:40 MET DST 1997
Report:         Michael Kishinevsky (University of Aizu)
Author:         Hubert Garavel (INRIA/VASY)
Files:          com/rfl

Nature:         The "rfl" command has been made more robust, in order to
                work even if the user-specific startup files (.cshrc, .profile,
                etc.) do not include "/usr/ucb/bin" in the $PATH variable.
                The new "rfl" command makes less assumptions about user-
                specific configuration.

BUG FIX
Number:         481
Date:           Tue May  6 10:50:33 MET DST 1997
Report:         Laurent Mounier (VERIMAG), Charles Pecheur (INRIA/VASY)
Author:         Mark Jorgensen (INRIA/VASY)
Files:          src/eucalyptus/eucalyptus.tcl

Nature:         Two bug fixes in the EUCALYPTUS Graphical User-Interface:

                - Under some circumstances, the "OK" buttons of the ALDEBARAN
                comparison window, the Evaluator window, etc. could be enabled
                even if no automaton file or mu-calculus file had been selected
                previously. They are now always disabled until a proper 
                selection takes place.

                - In some cases, the "Kill" button refused to work, by 
                displaying messages of the form "It is too late to kill the 
                process" or "There is no process to kill". These messages are
                no loger displayed: instead a window is opened, in which the
                user can select one or several processes to kill.

IMPROVEMENT
Number:         482
Date:           Fri May 23 12:11:54 MET DST 1997
Report:         Charles Pecheur (INRIA/VASY)
Author:         Hubert Garavel (INRIA/VASY)
Files:          com/tst

Nature:         The "tst" command has been modified to produce warnings under
                Solaris 2.* when 

                   - "/usr/ucb/cc" is used as the C compiler (in place of 
                     "/opt/SUNWspro/bin/cc") 

                   - "/usr/ucb/ld" is used as the link editor (in place of
                     "/opt/SUNWspro/bin/ld")

                because we noticed that the use of "/usr/ucb/cc" would make
                Xsimulator to core dump.

IMPROVEMENT
Number:         483
Date:           Mon May 26 18:22:32 MET DST 1997
Author:         Hubert Garavel (INRIA/VASY)
Files:          doc

Nature:         Two new papers have been added to the CADP release
                        - Garavel-Jorgensen-et-al-97.ps
                        - Sighireanu-Mateescu-97.ps

VERSION 97a "Twente"

Copyright (C) INRIA 1997 -- Tous droits réservés -- All Rights Reserved.
Back to the CADP Home Page