Plusieurs extensions des réseaux de Petri incluant le temps ont été proposées : • les réseaux de Petri temporels définissent un intervalle de temps associé
à chaque transition (indiquant l’écoulement du temps possible avant le franchissement) pour modéliser les systèmes qui peuvent évoluer de manière non déterministe.
• les réseaux de Petri temporisés définissent une durée associée à chaque transition. Dès que la transition est franchissable, les jetons sont consommés, jusqu’à l’écoulement de la durée, après lequel les jetons sont mis dans les places en sortie.
• les réseaux de Petri stochastiques spécifient une distribution de probabilité associée à chaque transition pour évaluer le comportement du système en régime permanent ou transitoire, où la durée de chaque action est gouvernée par des observations statistiques.
Les réseaux de Petri temporels ont été présentés dans [Mer74] et ajoutent des contraintes temporelles au franchissement des transitions. Un intervalle de temps est associé à chaque transition. Une horloge est associée à chaque transition sensibilisée (i.e., dont chaque place en entrée possède un marquage suffisant. Le terme « validée » est aussi utilisé) et indique le temps écoulé depuis la sensibilisation de la transition. Une transition sensibilisée peut être franchie si la valeur de l’horloge appartient à l’intervalle de la transition. Par ailleurs, le temps ne peut pas progresser si l’écoulement du temps fait que l’on quitte l’intervalle associé à la transition.
Nous nous intéressons en particulier aux réseaux de Petri temporels discrets. 2.3.1 Syntaxe
La définition suivante présente la syntaxe d’un réseau de Petri temporel. Elle est
tirée de [TMBK+11].
Définition 4.5. Un réseau de Petri temporel étiqueté N est un tuple (Pl,Tr, A, enabled, f ire,§, m0,Æ,Ø) tel que :
• Pl un ensemble fini de places ; Tr est un ensemble fini de transitions (avec Pl \ Tr = 60),
• A est un ensemble fini (alphabet) d’étiquettes d’actions qui contient une étiquette locale >,
• enabled :NPl£ Tr 7! {true, f alse} est un prédicat de sensibilisation.
• f ire :NPl£ Tr 7! 2NPl
est une fonction de franchissement de transitions, • § : Tr 7! A est une fonction d’étiquetage.
• m02NPl est le marquage initial du réseau,
• Æ: Tr 7!NetØ: Tr 7!N[ {1} sont les fonctions satisfaisant 8t 2 Tr,Æ(t) ∑Ø(t)
appelées respectivement, date de tir statique au plus tôt (Æ(t)) et au plus tard
(Ø(t)).
Par exemple, les réseaux de Petri standards sont normalement définis en utilisant
les fonctions pre (notéPre) et post (noté Post) : Pl£Tr 7!N. Alors, pour un marquage
m 2NPl et une transition t 2 Tr, la fonction enabled() est définie par enabled(m, t)
si et seulement si 8p 2 Pl, m(p) ∏ Pre(p, t) et le franchissement d’une transition
par f ire(m, t) = {m0} avec 8p 2 Pl, m0(p) = m(p) ° Pre(p, t) + Post(p, t). Les arcs
inhibiteurs Inh et les arcs test Test sont définis de manière similaire et ajoutent
des conditions de sensibilisation à la transition : enabled(m, t) si et seulement si 8p 2 Pl, m(p) < Inh(p, t)^ m(p) ∏ Test(p, t). Notons que le prédicat de sensibilisation considère uniquement les marquages alors les conditions de timing sont définies séparément. Dans la définition 4.5, les transitions sont étiquetées pour permettre la composition de réseaux de Petri.
p0 p1 [0,inf[ [1,2] 0 1
FIGURE4.4 – Exemple de réseau de pétri temporel
Dans les règles de transformation, pour plus de simplicité et de concision, nous utiliserons la notation Pre et Post, et nous associerons à chaque transition t,
un intervalle de franchissement I(t) dont la borne inférieure est Æ(t) et la borne
supérieure estØ(t).
Figure 4.4 représente un exemple de réseau de Petri temporel avec deux transitions étiquetées∏0 et∏1.
2.3.2 Sémantique
Nous adoptons une sémantique du réseau de Petri temporel à temps discret pour plusieurs raisons :
• Les techniques sous-jacentes au model-checker ITS-tools [TMBK+11] utilisé y
sont adaptées.
• Nous avons analysé notre modèle avec les model-checkers Tina [BRV04] et
Roméo [GLM+05] qui adoptent une sémantique à temps dense, mais ils sont
plus lents et ne passent pas à l’échelle (au delà de 100 unités d’énergie), par
rapport à ITS-tools [TMBK+11]. De manière générale, l’approche en temps
discret fournit des performances souvent meilleures que l’approche en temps
dense [TMBK+11].
Pour définir la sémantique (appelée aussi dynamique d’exécution) d’un réseau de Petri temporel à temps discret, on a besoin de la notion de système de transitions temporisés à temps discret.
Nous rappelons leur définition, où toutes les actions (appartenant à un ensemble A) sont considérées instantanées et les transitions de délai sont ajoutées, dans un
domaine temporel restreint à l’ensemble N des entiers naturels. Nous considérons
uniquement les pas d’une unité de temps (action spéciale 1 ci dessous). Avoir une
seule opération pour gérer le délai est plus efficace que d’avoir à chercher à chaque pas le délai entier maximal cohérent avec la synchronisation de plusieurs composants dans un ensemble d’états.
Définition 4.6. [TMBK+11] Soit A un ensemble d’étiquettes d’actions et 1› A une
action spéciale représentant un délai d’une unité de temps. Un système de transitions temporisé discret sur A est un tuple T = hS, s0, A,!i avec S un ensemble d’états, s02 S
est l’état initial, et !Ω S£(A]{1})£S est la relation de transitions (] représente l’union
disjointe).
La sémantique d’un réseau de Petri temporel à temps discret est décrite par un Système de transitions temporisés à temps discret. Une valuation v est un élément
de NT. Par conséquent, pour une transition t 2 T, v(t) représente la valeur dansN
d’une horloge implicite associée à t.
Définition 4.7. [TMBK+11] Pour un réseau de Petri temporel N =
(Pl,Tr, A, enabled, f ire,§, m0,Æ,Ø) la sémantique est un système de transitions
SN= hS, s0, A ]{1},!i où :
• S = NPl£NTrest l’ensemble des états. Un élément s de S est une paire s = hm,vi,
où m est un marquage de place et v est la valuation de l’horloge de la transition. • s0=≠m0, ¯0Æ où le tuple ¯0 correspond à la valeur 0 pour toutes les horloges de
transitions.
• !Ω S £ (A ] {1}) £ S est la relation de la transition définie pour les états hm,vi,
≠
m0,v0Æpar :
La relation de transitiondiscrète : hm,vi°!a ≠m0,v0Æsi et seulement s’il y a une
transition t 2 Tr telle que :
– §(t) = a ^ enabled(m, t)^ v(t) ∏Æ(t) – m02 f ire(m, t) – 8t02 Tr, v0(t0) = ( v(t0), si enabled(m0, t0) ^ t,t0 0, sinon
La relation de transitiondélai :
hm, vi°!1 ≠m0,v0Æsi et seulement si m0= m et pour tout t 2 Tr,
– enabled(m, t) =) v(t) <Ø(t) (les horloges urgentes empêchent l’écoulement)
– v0(t) = 8 > > < > > :
v(t) +1 si enabled(m0, t) ^Ø(t),1 (écoulement normal)
v(t) +1 si enabled(m0, t) ^Ø(t) = 1^ v(t) <Æ(t) (progresser jusqu’àÆ)
v(t) sinon
La sémantique est atomique : concernant les nouvelles transitions sensibilisées, une transition t est exécutée en un seul pas. De plus, un critère (critère de transitions nouvellement sensibilisées) est utilisé pour remettre à 0 les horloges de transitions désensibilisées. Cela garantit qu’une transition désensibilisée a une valeur d’horloge égale à 0.
La règle (progresser jusqu’àÆ) permet de gérer le problème des date de tir au plus
tard (e.g., pour les transitions avec des intervalles de franchissement de [Æ(t),1[).
Avec cette stratégie, nous ne laissons pas les horloges des transitions correspondantes
progresser au delà de leur plus petite valeur significative Æ(t). Cela permet de
représenter correctement le comportement sur un support fini.