fin du rapport
This commit is contained in:
parent
952f801e68
commit
afe0660de8
Binary file not shown.
|
@ -364,4 +364,36 @@ Pour transformer une WorkDefinition dasn un réseau de Petri, nous créons 4 pla
|
||||||
Pour transformer une WorkSequence, nous relions la place du predecesseur à la transition du successeur, par exemple dans le cas d'un linkType start2start nous relions un \_started à un \_start.
|
Pour transformer une WorkSequence, nous relions la place du predecesseur à la transition du successeur, par exemple dans le cas d'un linkType start2start nous relions un \_started à un \_start.
|
||||||
Pour transformer une Resource, nous créons simplement un palce avec le bon nombre de tokens. Pour ce qui est des Requests d'une WorkDefinition nous relions le \_start et le \_finish de la WorkDefinition à la ressource avec les poids correspondants.
|
Pour transformer une Resource, nous créons simplement un palce avec le bon nombre de tokens. Pour ce qui est des Requests d'une WorkDefinition nous relions le \_start et le \_finish de la WorkDefinition à la ressource avec les poids correspondants.
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\section{Logique Temporelle Linéaire (LTL)}
|
||||||
|
|
||||||
|
Dans l'optique d'une vérification de la terminaison et de la transformation correcte de notre modèle simplePDL en modèle petriNET, nous pouvons à partir du modèle simplePDL générer des propositions que nous demanderons par la suite à selte/tina de vérifier. \\
|
||||||
|
|
||||||
|
Pour vérifier la terminaison du processus, nous pouvons écrire:
|
||||||
|
\begin{textcode}
|
||||||
|
[] <> (WD1_finished /\ WD2_finished /\ WD3_finished);
|
||||||
|
\end{textcode}
|
||||||
|
|
||||||
|
Pour vérifier qu'une WorkDefinition ne soit que dans un seul état à la fois, nous pouvons écrire (via l'intermédiaire d'un xor):
|
||||||
|
\begin{textcode}
|
||||||
|
[] (((WD1_idle /\ -WD1_running /\ -WD1_finished)
|
||||||
|
\/ (-WD1_idle /\ WD1_running /\ -WD1_finished)
|
||||||
|
\/ (-WD1_idle /\ -WD1_running /\ WD1_finished))
|
||||||
|
/\ ((WD2_idle /\ -WD2_running /\ -WD2_finished)
|
||||||
|
\/ (-WD2_idle /\ WD2_running /\ -WD2_finished)
|
||||||
|
\/ (-WD2_idle /\ -WD2_running /\ WD2_finished))
|
||||||
|
/\ ((WD3_idle /\ -WD3_running /\ -WD3_finished)
|
||||||
|
\/ (-WD3_idle /\ WD3_running /\ -WD3_finished)
|
||||||
|
\/ (-WD3_idle /\ -WD3_running /\ WD3_finished)));
|
||||||
|
\end{textcode}
|
||||||
|
|
||||||
|
Pour vérifier qu'une WorkDefinition ne progresse que dans un seul sens, nous pouvons
|
||||||
|
\begin{textcode}
|
||||||
|
[] ((WD1_finished =>
|
||||||
|
[](-WD1_running /\ -WD1_idle /\ WD1_started))
|
||||||
|
/\ (WD2_finished => [](-WD2_running /\ -WD2_idle /\ WD2_started))
|
||||||
|
/\ (WD3_finished => [](-WD3_running /\ -WD3_idle /\ WD3_started)));
|
||||||
|
\end{textcode}
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
Loading…
Reference in a new issue