
                 The TempEst Program Verification Toolset
                        Version 1.2, March 11, 1996
               (C) Bell Laboratories and University of Texas

=============================== WHAT ===============================

	This is the second public release of the TempEst verification
package. A toolset for the formal verification of safety properties of
the text of programs written in the Esterel programming language. The
safety properties are expressed in temporal logic (propositional
linear time temporal logic).

============================ WHAT'S NEW ============================

Major new features for this version:

	Support for bounded-fairness properties - properties that
	involve the use of one-shot system timers (i.e. real-time
	alarms, operating system alarms, ...). You can now check
	Esterel programs that contain real-time alarms.

	Proper support for the newer file versions of automata that
	the CMA Esterel compiler generates, with enhanced error trace
	reporting and better handling of large automata.

============================== WHERE ===============================

The URL for the homepage of the toolset is at

	http://www.cs.utexas.edu/users/cpg/TempEst

============================= CONTENTS =============================

This package contains the following tools:

	tl2strl: compiler of temporal logic safety properties
		into Esterel programs.

	occheck: obtain reachability analysis on a state machine.

This release is a source and binary release. The bin directory
contains precompiled binaries of the tools for Solaris, AIX
and Linux. You need to use this package in conjunction with the
CMA Esterel compiler and Perl.

The man directory contains man pages for the tools.

The examples directory contain two complete examples
plus some files containing example temporal logic formulas.

The doc directory contains compressed
PostScript versions of two related papers:

	"Safety Property Verification of Esterel Programs and Applications
	to Telecommunications Software," Lalita J. Jagadeesan, Carlos Puchol
	and James Von  Olnhausen.  Conference on Computer-Aided
	Verification (CAV '95), Liege, Belgium, July 1995.

	"A Formal Approach to Reactive System Software: A
	Telecommunications Application in Esterel," Lalita
	J. Jagadeesan, Carlos Puchol and James Von Olnhausen,
	International Workshop on Industrial-Strength Formal Methods,
	Boca Raton, FL, April 1995.

You can find more information about the industrial usage of this
verification toolset in the Jounal of Formal Methods in System Design,
March '96 issue.

=============================== HOW ================================

The process of verification has the following steps:

     0) Producing the program to be verified and the temporal logic
	formulas to be checked.

     1) Translating the  temporal  logic  formulas  into  Esterel
	using tl2strl(1).

     2) Compiling the parallel composition of the  original  program
	and  the  Esterel  version  of  the formulas using the Esterel
	compiler. (The "-oc" option should be used  to  generate the
	"oc" file.)

     3) Using ocreach(1) on the "oc" file to find out if  any  of
	the properties has been violated.

     4) If so, using octrace(1) on the "oc" file to find an  execution
	trace that violates a given property.

Check out the examples in the distribution (in the directory by the
same name).

============================= COPYRIGHT ==============================

This package is Copyright (C) Bell Laboratories and The University of Texas
and comes "as is" without any warranties, either expressed or implied.
Check the file LICENSE in the distribution for details.

Enjoy!

-- Carlos Puchol
-- cpg@cs.utexas.edu

