The interface to pttf tool
Type or copy your transition program into the text area and press the
Start button to receive the model graph in one of the desired
formats. See more information
about pttf tool,
about pttfinput language
syntax, as well as try an
example.
Introduction to pttf tool
The advantage of the temporal logic specifications is based on the fact that it is
possible to obtain the model graph of the specifications which accepts all the
sequences of the events, actions or states of the specified system.
Under some conditions the model graph can be associated with an automaton
which can be used in the implementation of the system.
In the design of a large class of systems like distributed, real time and sequential systems, one can use a restricted set of temporal logic formulas, called transition formulas. For this class of formulas specific algorithms can be designed which are expected to be more efficient than the algorithms for the arbitrary temporal formulas. A simple satisfiability analysis method for transitions programs, composed of a set of temporal transition formulas, by solving a system of fixpoint equations has been proposed and is used in the implementation of the pttf tool. More information about the transition formulas and the satisfiability analysis algorithm used by pttf you can find in: Ursu A. A satisfiability analysis method for the temporal transition formulas.
With pttf tool it is possible to use propositional temporal
transition formulas, which are a subset of the linear time
propositional temporal logic (PTL) formulas, to specify and
implement a large class of systems, such as distributed, real
time and sequential systems.
Basically the pttf based design consists of:
Typically, the following designs can be carried out using pttf:
Ursu A., Gruita G., Èlaboration des protocoles de communication sur les spècifications logiques temporelles. (Postscript | dvi)
(In this paper the model graphs of a simplified protocol have been obtained manually and using the ptl tool designed by Geert Janssen, but our pttf tool can also be easily used to obtain the model graphs of such protocols.)
Ursu A., Dubenetsky V., Gruita G. Design of the Real Time Systems using Temporal Logic Specifications: A Case Study. Computer Science Journal of Moldova, 1996, Vol.4, No.1(10), pp. 88-114. (Postscript | dvi)
Ursu A., Gruita G. Design of the Sequential Systems using Temporal Logic Specifications. Rapport pour le Seminaire "Sèmantique et Interprètation abstraite", École Normale Supérieure, 4 Decembre 1998, DMI ENS, Paris, pp. 1-33. (Postscript | dvi).
(In this paper an extended class of propositional temporal transition formulas has been introduced, which include past time temporal logic operators and which can not be analyzed for the moment by pttf tool. pttf does not support past time temporal operators. However, pttf can be used for the examples without past time temporal operators.)
An example
Given the Transition Program with the default single propositional
variable condition:
~Pr U (e1 \/ e2 \/ e5 \/ e3) []((e3 \/ e4 \/ e5) -> @(~Pr U (e1 \/ e3))) []((e2 \/ e4 \/ e3) -> @(~Pr U (e1 \/ e4))) []((e3) -> @(~Pr U (e1 \/ e5))) []((e2 \/ e1) -> @(~Pr U (e1 \/ e4 \/ e3))) .If we check this transition program with pttf using option -p we get:
%pttf -p Example.pttf
*** PTTF Version 1.3 1999 Anatol Ursu, Ecole polytechnique, France ***
The initial condition:
{e3 e5 e2 e1}
The Transitions:
Antecedent: 1
{e1 e2}
Consequent: 1
{e3 e4 e1}
Antecedent: 2
{e3}
Consequent: 2
{e5 e1}
Antecedent: 3
{e3 e4 e2}
Consequent: 3
{e4 e1}
Antecedent: 4
{e5 e4 e3}
Consequent: 4
{e3 e1}
The nodes of the Model Graph:
{{e3 e1 e4}
{e4 e1}
{e3 e1}
{e1}
{e3 e5 e2 e1}
}
The Model Graph in plain format:
The node 1:
{e3 e5 e2 e1}
The outgoing edge:
e1
The destination node :
{e3 e1 e4}
The outgoing edge:
e2
The destination node :
{e4 e1}
The outgoing edge:
e5
The destination node :
{e3 e1}
The outgoing edge:
e3
The destination node :
{e1}
The node 2:
{e1}
The outgoing edge:
e1
The destination node :
{e3 e1 e4}
The node 3:
{e3 e1}
The outgoing edge:
e1
The destination node :
{e3 e1 e4}
The outgoing edge:
e3
The destination node :
{e1}
The node 4:
{e4 e1}
The outgoing edge:
e1
The destination node :
{e3 e1 e4}
The outgoing edge:
e4
The destination node :
{e1}
The node 5:
{e3 e1 e4}
The outgoing edge:
e1
The destination node :
{e3 e1 e4}
The outgoing edge:
e4
The destination node :
{e1}
The outgoing edge:
e3
The destination node :
{e1}
Satisfiability analysis:
True
|