L'interface pour l'outil pttf
Tapez ou copiez le programme de transitions dans la zone de texte et
appuyez sur le bouton Envoyer pour obtenir le graphe modèle.
Voir pour plus d'informations sur l'outil
pttf, sur la syntaxe du langage d'entrée, et essayez un exemple.
Introduction à l'outil pttf
L'avantage des spécifications logiques temporelles vient du fait
qu'on peut obtenir le graphe modèle des spécifications
qui accepte toutes les séquences d'événements, d'actions ou
d'états du système spécifié.
Dans quelques conditions le graphe modèle peut être associé
à un automate qui peut être utilisé dans l'implémentation
du système.
Dans la conception d'une grande partie de systèmes comme systèmes distribués, systèmes en temps réel, systèmes séquentiels, on peut utiliser un ensemble restreint de formules logiques temporelles, appelées formules de transitions. Pour cette classe de formules on peut élaborer des algorithmes spécifiques que peuvent être plus efficaces que les algorithmes pour les formules logiques temporelles arbitraires. Nous avons proposés une méthode simple d'analyse de la satisfiabilité des programmes de transitions, constitués d'un ensemble de formules de transitions temporelles, par la résolution d'un système d'équations de points fixes. Cette méthode est mise à la base de l'algorithme d'analyse de la satisfiabilité utilisé par l'outil pttf. Pour plus d'informations sur les formules de transitions et sur l'algorithme d'analyse de la satisfiabilité utilisé par pttf voir: Ursu A. Une méthode d'analyse de la satisfiabilité des formules temporelles de transitions.
En utilisant l'outil pttf on peut utiliser les formules
propositionnelles temporelles de transitions, qui sont une classe
de formules propositionnelles temporelles logiques (PTL), pour
spécifier et pour implémenter une classe large de systèmes, comme
les systèmes distribués, les systèmes en temps réel et les systèmes
séquentiels.
En lignes générales la conception des systèmes en utilisant pttf
consiste en :
Typiquement, on peut effectuer les conceptions suivantes en utilisant les spécifications pttf:
Ursu A., Gruita G., Èlaboration des protocoles de communication sur les spècifications logiques temporelles. (Postscript | dvi)
(Dans cet article les graphes modèles d'un protocole simplifié à partir des spécifications pttf ont été obtenus manuellement et en utilisant l'outil ptl. Mais l'outil pttf peut être également utilisé pour obtenir les graphes modèles de ce type de protocoles.)
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 Sèminaire "Sèmantique et Interprètation abstraite", École Normale Supérieure, 4 Dècembre 1998, DMI ENS, Paris, pp. 1-33. (Postscript | dvi).
(Dans cet article une classe plus large de formules propositionnelles temporelles de transitions a été proposée, qui inclut des opérateurs temporels de temps passé qui ne peuvent pas être pour le moment analysés par l'outil pttf. L'outil pttf ne support pas les opérateurs temporels de temps passé. Mais pttf peut être efficacement utilisé pour les exemples qui ne nécessitent pas de spécifications avec des opérateurs temporels de temps passé.)
Soit le programme de transitions suivant avec la condition d'unicité des variables propositionnelles par défaut:
~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))) .Si on vérifie ce programme de transitions avec pttf en utilisant l'option -p on obtient:
%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
|