• Aucun résultat trouvé

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ées0 et1.

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,vpar :

La relation de transitiondiscrète : hm,vi°!a ≠m0,vsi 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,vsi 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.