Вы находитесь на странице: 1из 73

Extensions des rseaux de Petri

Annie Geniet annie.geniet@univ-poitiers.fr

Extensions RdP - Annie Geniet

Les extensions des rseaux de Petri


Plan 1. 2. 3. 4. Motivation Abrviation des rseaux de Petri : les rseaux colors Extension de lexpressivit : arcs inhibiteurs Prise en compte dun schma oprationnel
a. b. Priorits Rseaux synchroniss Rseaux temporiss Rseaux temporels

5.

Prise en compte du temps


a. b.

Extensions RdP - Annie Geniet

Chapitre 0 - Motivations

Extensions RdP - Annie Geniet

Rappels 2 1 R 5
Modlisation statique (instantane) / Modlisation comportementale (dynamique)

3 4

Proprits dcidables rgime permanent/terminaison prsence ou absence de blocage existence d'actions non ralisables persistance des fonctionnalits rinitialisation toujours possible dbordement de buffer

Multitches Communication Prcdence par signal Synchronisation par RV Concurrence Producteur/consommateur Lecteurs/crivains Paralllisme
Rappels

Extensions RdP - Annie Geniet

Statiques Rseau Place/transitions : N = (P, T, W) o P ensemble ni de places T ensemble ni de transitions (P T = ) W : P x T T x P N fonction de valuation Pr : fonction de prconditions : W|P x T Post : fonction de postconditions : W|T x P Marquage : M : P N Dynamiques

Dnitions formelles

Tir dune transition : T sensibilise (ou franchissable ou tirable) depuis M

M( t > : p P, M(p) W(p, t) (M W(., t)) Nouveau marquage : M : p P, M(p) = M(p) - W(p, t) + W(pt, p) M( t > M
Extensions RdP - Annie Geniet 5

Rappels

Le problme des deux calculateurs et de la mmoire


AM1 Al2 M AM2

Dfauts des RdP


AM

DM1

Al1 UM1

DM2

DM

Al M UM

SR1

UM2

SR2

SR

L1

L2

L Perte dinformations Processus banaliss

Identiques Perte de place Objectifs : - gain de place - pas de perte dinformations Moyen : faire vhiculer des infos par les marques
Extensions RdP - Annie Geniet 6

Rseaux colors

Motivation

Lacunes : expressivit (1)


3 2 4

Rseaux de Petri

Si p = 0 alors...

Le producteur/consommateur
Producteur actif Bascule Prod/Cons Consommateur actif

Prod

Entrept Buffer

Cons

Bascule Cons/Prod quand entrept vide ?

Rseaux arcs inhibiteurs


Extensions RdP - Annie Geniet 7

Motivation

Lacunes : expressivit (2)


Problme du calculateurs :
L1 AM1-SR2-M Al1 UM1-SR2 DM2 L2 SR1-SR2-M DM1 DM2 DM2 DM1 L2 SR1-AM2-M Al2 SR1-UM2 DM2 L1

Gestion par smaphores : Attente limite

AM1-AM2-M Al1 Al2 UM1-AM1

Modlisation de la le dattente? Ordonnancement

AM1-UM2

Phnomne de famine

Rseaux les

Extensions RdP - Annie Geniet

Motivation

Gestion des conits : 2

Lacunes : schma oprationnel


Contraintes sur le fonctionnement

t1

t3

t4
2 P2 t2 Conit effectif P3

Rseaux priorits

Proprits sur les tats

Marquages terminaux

P1 Gestion du paralllisme :

2 t1 t3

Prise en compte du contexte Notion dvnements dclencheurs

Fonctionnement vitesse m aximale

t4
2 P2 t2 P3

Rseaux synchroniss

Paralllisme effectif
Extensions RdP - Annie Geniet 9

Motivation

Lacunes : dimension temporelle

Dure dune action Description plus raliste Analyse de performances Respect de contraintes temporelles

Date dune action

Modlisation de pannes Intgration de contraintes dchances

Rseaux temporiss

Rseaux temporels

Extensions RdP - Annie Geniet

10

Motivation

Dnitions et notations
N entiers naturels Soit A un ensemble Un multi ensemble dlments de A = ensemble o les lments peuvent tre rpts M(A) = lensemble des multi ensembles de A Exemple : A = {a, b, c, d} - E = {a, a, b, c, c, c} est un multi ensemble de A N = (P, T, W) rseau place/transition = {p P /, W(p, t) 0} - t = {p P /, W(t, p) 0} p = {t T /, W(t, p) 0} - p = {t T /, W(p, t) 0}
t

Notation : E = 2a + b + 3c

Extensions RdP - Annie Geniet

11

Dnitions et notations

Machines programmes ou machines registres


Une machine programmes est dnie par : 1. 2. 3. {r1, r2, , rp} ensemble ni de registres {q0, q1, , qf} ensemble ni dtats I ensemble ni dinstructions tel que a. Les instructions sont tiquetes par les tats, ltiquetage est injectif b. Il y a une unique instruction de dpart : q0 : start; goto q1; c. Il y a une unique instruction de terminaison : qf : halt; d. Les autres instructions sont de la forme : i. Incrmentation de registre : qs : ri := ri + 1; goto qm; ii. Test et dcrmentation de registre : qs : If ri = 0 then goto qm else ri := ri - 1; goto qn;

Rsultat : le problme de l'arrt dune machine registres est indcidable

Extensions RdP - Annie Geniet

12

Dnitions et notations

Exemple de l'imprimante

Extensions RdP - Annie Geniet

13

Chapitre 1 - Abrviation des rseaux de Petri


Les rseaux colors

Extensions RdP - Annie Geniet

14

Exemple introductif (1)


Attente Demande Alloc SR SC Attente Libration Demande f {r,v} f f {r,v} Alloc g SR f(r) = r f(v) = v g(r) = g(v) = r+v {r,v} Libration
Extensions RdP - Annie Geniet 15

Jetons Mmoire couleurs

Informations

r+v Mmoire SC f f g

Rseaux colors

Un calculateur Attente Demande Alloc SR SC pliage dpliage Mmoire

Exemple introductif (2)


Etat (prochaine action) d h {d, a, l} g i M

t j

Libration Fonctionnement cyclique Al Attente - M L SC

g(d) = d g(a) = a g(l) = l i(d) = i(a) = i(l) = : couleur neutre


Extensions RdP - Annie Geniet

h(d) = a h(a) = l h(l) = d j(d) = j(a) = j(l) =

SR - M

16

Rseaux colors

Exemple introductif (3) Fusion des deux approches


Etat (r , d ) + (v,d) Id1_Suiv2 Id t Y X M

{(r,d), (r, a), (r, l), (v,d), (v, a), (v, l)}

Id : fonction identit Id1_Suiv2 ((c1, c2)) = (c1, h(c2)) Y((c1, a)) = Y((c1, d)) = , Y((c1, l)) = X((c1, d)) = X((c1, l)) = , X((c1, a)) =

Extensions RdP - Annie Geniet

17

Rseaux colors

Statiques
Rseau de Petri color = (P, T, Pr, Post, C, CT, CP) o P ensemble ni de places T ensemble ni de transitions (P T = ) C un ensemble ni de couleurs Pr et Post fonctions de prcondition et Postcondition :

Dnitions

M(C) o Post : T x P X C M(C) CT : T P(C) associe un ensemble de couleurs une transition CP : P P(C) associe un ensemble de couleurs une place
o Pr : P x T x C Marquage M:P

M(C) p M(p) M(CP(p))


Extensions RdP - Annie Geniet 18

Rseaux colors

Illustration

Extensions RdP - Annie Geniet

19

Rseaux colors

Etat (r , d ) + (v,d) Id1_Suiv2 Id t Y X M

Exemple

{(r,d), (r, a), (r, l), (v,d), (v, a), (v, l)}

P = {Etat, M} - T = {t} - C = {(r,d), (r, a), (r, l), (v,d), (v, a), (v, l), } CT(t) = {(r,d), (r, a), (r, l), (v,d), (v, a), (v, l)} CP(M) = { } Pre(t, Etat, (r,d)) = (r, d) .. Post(t, M, (v, a)) = .....

Extensions RdP - Annie Geniet

20

Rseaux colors

Dnitions Dynamiques
t valide pour la couleur c (c CT) partir du marquage M :

" p # t, "c' # C P (p), M(p)(c') $ Pr(p, t, c)(c')


M marquage atteint :

! " p # P, "c' # C P (p), M'(p)(c') = M(p)(c') - Pr(p, t, c)(c') + Post (t, p, c)(c')

Squence de franchissement : (t1, c1) (t2, c2) (tn, cn) ti T et ci CT(ti)

Extensions RdP - Annie Geniet

21

Rseaux colors

Exemple
p 3b + 2v +r CT(t) = CP(p) = CP(q) = {b, v, r} Pr(p, t, v) = b + v Post(t, q, v) = r + b t g M0(p) = 3b + 2v + r

f {b, v, r}

f(b) = v f(v) = b + v f(r) = b + 2r

g(b) = b g(v) = r + b g(r) = 2r

Extensions RdP - Annie Geniet

22

Rseaux colors

Exemple
p 2b + v +r CT(t) = CP(p) = CP(q) = {b, v, r} Pr(p, t, v) = b + v Post(t, q, v) = r + b t g M0 (t, v > M = (2b + v + r, r + b) r+b q M0(p) = 3b + 2v + r

f {b, v, r}

f(b) = v f(v) = b + v f(r) = b + 2r

g(b) = b g(v) = r + b g(r) = 2r

Extensions RdP - Annie Geniet

23

Rseaux colors

Equivalence des modles


Opration de dpliage t Si |CT(t)| = i p Si |CP(p)| = j W(pu, tv) = Pr(p, t, cv)(cu) M0(pu) = M0c(p)(cu) t1 p1 t2 p2 W(tv, pu) = Post(t, p, cv) (cu) pj ti

les rseaux colors et les rseaux p laces/transitions ont la mme puissance


Thorme : Soit (Rc, M0C) un rseau color et (R, M0) son rseau dpli. Alors Acc(Rc, M0c) et Acc(R, M) sont isomorphes. Corollaire : Toute proprit valide dans lun des rseaux lest dans lautre

Extensions RdP - Annie Geniet

24

Rseaux colors

Dpliage - exemple

Extensions RdP - Annie Geniet

25

Rseaux colors

Exercices
1. Le modle client serveur a. On considre un modle client/serveur 1 client et un serveur. Le client met une requte qui est traite par le serveur qui envoie ensuite une rponse. Modliser ce fonctionnement par un RdP b. On veut maintenant prendre en compte 2 clients. Modliser ce nouveau problme dune part par un rseau Place/transition, dautre part par un rseau color c. On suppose quil y a maintenant 2 serveurs et que les clients envoie leurs requtes un serveur quils choisissent au moment de lmission. Donner le rseau color associ puis le rseau dpli. L'imprimante Les philosophes N philosophes sont runis autour dune table. Ils peuvent penser ou manger. Pour manger, ils se servent dans le plat situ au centre de la table, et mangent imprativement avec deux fourchettes situes respectivement sa droite et sa gauche. Il y a donc N fourchettes, situes entre les philosophes. Lactivit dun philosophe consiste en le cycle :
Penser - Prendre FD - Prendre FG - Manger - Reposer FD - Reposer FG

2. 3.

Modliser le problme pour 3 philosophes laide dun rseau Place/transition, puis laide dun rseau color. Puis tendre la modlisation N philosophes. Constater la prsence de marquages morts. Pour les viter, on rajoute une ressource Autorisation, N - 1 instances. Donner le modle color rsultant.
Extensions RdP - Annie Geniet 26

Rseaux colors

Chapitre 2 - Extension de lexpressivit


Rseaux arcs inhibiteurs

Extensions RdP - Annie Geniet

27

Arcs inhibiteurs
Proprit de monotonie : ( M ( t > M ' et M " M ) # ( M ( t > M ' et M ' " M' )

test zro
!
Rseau arcs inhibiteurs : (P, T, W) o 1. P ensemble ni de places 2. T ensemble ni de transitions (P T = )

p Arc inhibiteur

3.

W : P x T T x P N {}
Rgle de franchissement
" p # P, " p # P,
' W(p, ) ( ) * W(p, ' W(p, ) ( ) * W(p,

M ( t > M' "


!

t) t) t) t)

# N = & # N = &

$ $ $ $

M(p) % W(p, t) M(p) = 0 M'(p) = M(p) - W(p, t) + W(t, p) M'(p) = M(p) + W(t, p)
28

Arcs inhibiteurs

Extensions RdP - Annie Geniet

Exemple : limprimante
Imprimante active Bascule mode veille Mode veille

Rveil Impression

Rep. Spool Dpot

Puissance dexpression
p p P N t M(p) <= N N t

Proprit rseau arcs inhibiteurs born

rseau Place/transition

M0(p) = M0(p) M0(p) = N - M0(p)

Extensions RdP - Annie Geniet

29

Arcs inhibiteurs

Indcidabilit
Proposition : Les

rseaux de Petri arcs inhibiteurs ont la puissance des machines de Turing


Corollaire : Le problme de la borntude des rseaux arcs inhibiteurs est indcidable Preuve Modlisation dun systme registres par un rseau arcs inhibiteurs P = {Pr1, Pr2, , Prp, Pq0, Pq1, , Pqf} Pq0 q0 : start; goto q1; Pq1 qs : ri := ri + 1; goto qm; Pqs Pqm Pri Pqm Pqn Pri
30

Pqf : halt

Pqf

qs : If ri = 0 then goto qn else ri := ri - 1; goto qm; Pqs

M0(Pq0) = 1; M0(Pqi) = 0, i 0; M0(Pri) = ni, i = 1..p Arcs inhibiteurs

Extensions RdP - Annie Geniet

Exercices
1. Modlisation de machines registres Soit la machine registres suivante : q0 : start; goto q1; q1 : if r2 = 0 then goto q3; else r2 := r2 - 1; goto q2; q2 : r1 := r1 + 1; goto q1; q3 : halt; Que fait ce programme? Le modliser par un rseau arcs inhibiteurs 2. Modlisation d'une chane de montage

On considre une chane de montage capable de traiter des lots d'objets, la taille des lots tant infrieure 15. Dans un atelier A1, les objets sont dposs un un sur la chane (qui est donc de capacit 15). A un moment (dtermin par un vnement extrieur par exemple), la chane est entrane dans un atelier A2 voisin (qu'elle soit pleine ou non). Les objets sont alors traits un un et quittent ensuite l'atelier (leur vie au del ne nous concerne plus...). Quand la chane est vide, elle est ramene dans l'atelier A1, et le processus recommence. Modliser le fonctionnement de la chane par un rseau Place/Transition. On suppose maintenant que la capacit de la chane n'est plus borne. Peut-on modliser le fonctionnement de la chane par un rseau Place/transition ? Le modliser par un rseau arcs inhibiteurs.

3.

Comparateur d'entiers Construire un rseau qui compare deux entiers


Extensions RdP - Annie Geniet 31

Arcs inhibiteurs

Chapitre 3 : Schma oprationnel

1. 2.

Rseaux priorits Rseaux synchroniss

Extensions RdP - Annie Geniet

32

rseaux Place/transition rseaux colors Rseaux autonomes rseaux arcs inhibiteurs rseaux les Possibilits Hors contexte

Excution effective Quand Combien de temps

Principes gnraux des extensions validit


" p # P, M(p) $ W(p, t)
!

franchissabilit
t valide

contraintes oprationnelles et/ou temporelles vries rednition de la rgle de franchissabilit


Extensions RdP - Annie Geniet 33

Rsolution statique des conits


rseau priorit = (N, <) o N rseau Place/transition < relation dordre partiel sur T
!

t p t' " t moins prioritaire que t'

Rgle de franchissabilit :
# t est valide partir % % "$ % il n'existe pas de t' % &

de M tel
# % que $ t' % &t

M(t>
Exemple de limprimante
Imprimante active
!

valide partir de M p t'

Bascule mode veille Mode veille

Bascule < Impression

Rveil Impression Rep. Spool Dpot Extensions RdP - Annie Geniet Rseaux priorits
34

Puissance dexpression
Proposition : les rseaux priorit ont la puissance des machines de Turing Modlisation darcs inhibiteurs t t t

r t < t

Exercice On considre le motif suivant :

avec t < t'.

Construire un rseau arcs inhibiteurs qui lui soit quivalent. Mme question pour le motif :
2

avec t < u. t u
35

Extensions RdP - Annie Geniet

Rseaux priorits

Prise en compte du contexte vnement vnement

RdP Synchroniss
Moalla - Pulou - Sifakis 1978

Hypothse non simultanit des vnements raction tir de transition raction


Rgle de franchissabilit :

tir de transition

t franchissable un instant u partir dun marquage M : 1. 2. t est valide partir de M lvnement Sync(t) se produit linstant u Tir instantan

RdP synchronis = (N, E, Sync) o 1. N est un rseau Place/transition 2. E est un ensemble ni dvnements discrets 3. Sync : T E {e} fonction de synchronisation. e est lvnement toujours occurrent

Extensions RdP - Annie Geniet

36

Rseaux synchroniss

P1

P1

P1

P1

Illustration

(E1)

(E1)

(E1)

(E1)

P2 E1 P1 t P2 t P3 E1 (E1) (E1)

P2

P2

P2 perdu

P1 t P2 t P3 (E1) (E1)

P1 t P2 t P3 (E1) (E1)

Extensions RdP - Annie Geniet

37

Rseaux synchroniss

Synchronisation : (E1) Rle de e : (E1)

tir d'un ensemble de transitions tir d'une squence

Marquages stables

M instable <=> M valide un ou plusieurs transitions synchronises sur e


P1 t P2 t P3 (e) (E1) P1 t P2 t P3 instable P1 (E1) t (E1) Franchissement itr sur occurrence de E1

P2 (e) t P3 (e)

Extensions RdP - Annie Geniet

38

Rseaux synchroniss

Conits
(t, t) paire persistante ssi pour tout marquage M, t M( t > et M( t > => M(tt > Mf et M(tt > Mf

(E1)

t (E1)

(E1)

t (E1)

non persistante t (E1) (e) t t(E1) t (E1) (e) t t(E1) t t (E1) t t (E1) (e) t t(E1) t
39

t (e) t

(e) t

t(E1)

t (E1)

t(E1) t

E1
Extensions RdP - Annie Geniet

Rseaux synchroniss

Squence de simulation complte


Notation : si X E {e}, et M un marquage, T(X, M) = {transitions valides synchronises sur X} Squence de simulation complte par rapport un vnement X, pour un marquage M : toute squence S telle que 1. 2. 3. 4. S est franchissable depuis M et ne comporte que des transitions de T(X, M) une transition de T(X, M) apparat au plus une fois dans S (pas de rentrance) toute squence S obtenue par permutation de S est aussi franchissable S est maximale : il nexiste pas de squences plus longues, contenant toutes les transitions prsentes dans S et qui vrie les points 1, 2 et 3

(E1)

t (E1)

Franchissement itr sur occurrence de X : SSCX.SSCe*

S = {t, t} SSC
Extensions RdP - Annie Geniet 40

Rseaux synchroniss

Exemple
P1

Sur occurrence de E2 : P2P3P5


P3

{t2, t5} / E2

(E1) P2 t1

P3P4P7P8 instable

{t4, t7} / e

P3P6P7 instable t6 / e

t2

(E2)

t3

(E3) t7 (e)

P1P3 stable i.e. {t2, t5}. {t4, t7}. t6 / E2

P4 t4 (e) P6 t6 (e) t5

P5 (E2)

P8

P2P3P5

P1P3

P7

Extensions RdP - Annie Geniet

41

Rseaux synchroniss

Graphe des marquages stables


P1

{t2, t5}.{t4,t7}.t6/E2
(E1) P2 t1 P3

P1 t1/E1

t3/E3
t3 (E3) t7 (e)

P2P3

t2t4/E2 P3P6 t3/E3 P5P6

t5{t6,t7}/E2

t2

(E2)

P2P5

P4 t4 (e) P6 t6 (e) t5

P5 (E2)

P8

P7

Extensions RdP - Annie Geniet

42

Rseaux synchroniss

Exercices
1. 2. Reprendre lexemple de limprimante. On considre un stock pouvant contenir un nombre quelconque de pices. Son fonctionnement est synchronis par les deux vnements externes E1 : Arrive d'une nouvelle pice et E2 : Demande d'un pice (immdiatement satisfaite s'il y a une pice dans le stock). Donner les rseaux de Petri synchroniss modlisant le fonctionnement du stock, et le graphe de couverture stable dans les deux cas suivants : a - On suppose qu'une demande non satisfaite est perdue. b - On suppose qu'une demande non satisfaite est mmorise et sera satisfaite ds qu'une nouvelle pice arrivera.

Extensions RdP - Annie Geniet

43

Rseaux synchroniss

Exercices (2)

3.

Le distributeur bancaire : On considre un distributeur bancaire. Il est en mode veille quand personne ne l'utilise. Lorsqu'une carte est insre, il afche un cran d'accueil. Une fois le code saisi, il le contrle. Si le code est erron, il re-propose l'cran d'accueil, mais au bout de 3 erreurs, il retourne en mode veille (en avalant la carte). Si le code est correct, il afche un deuxime cran permettant de saisir le montant dsir. Une fois le montant saisi, il restitue la carte, dlivre l'argent, et retourne en mode veille. On suppose par ailleurs que : l'insertion de la carte est dtecte par des capteurs qui gnrent un vnement "Carte", les saisies sont valides par une touche spciale qui gnre un vnement "Validation" et la vrication du code engendre soit l'vnement "Code Valide", soit l'vnement "Code Invalide".

Modliser le fonctionnement de l'automate bancaire par un rseau de Petri synchronis. Donner le graphe des marquages stables associ.

Extensions RdP - Annie Geniet

44

Rseaux synchroniss

Proprits des rseaux synchronis


Calculabilit du graphe des marquages stables
(E1) t P1 (E2) t P2 t/E1 t/E2

P12

t/E2

P1P2 t/E1
t/E3 P 1P 2P 3

P12

(E3) t y/e (e) x P3 (e) y

x/e P 1P 2P 4

P4

(N, M0, E, Sync) prompt : M Acc(N, M0), Ei E le franchissement itr depuis M sur occurrence de Ei contient un nombre ni de SSC
Extensions RdP - Annie Geniet 45

Rseaux synchroniss

Promptitude structurelle
Proposition : (N, E, Sync) rseau synchronis. Si 1. t transition source => Sync(t) e 2. il nexiste pas de circuit Pi1ti1 Pi2ti2 Piqtiq Piq+1 tel que Pij tij, Pij tij+1, Piq+1 = Pi1 et Sync(tij) = e Alors le rseau est prompt pour tout marquage initial
(E1) P1 (E2) t P2

(E3) t (e) P3

P3 - x - P4 - y - P3 est un tel circuit


(e) y

P4 Extensions RdP - Annie Geniet 46

Rseaux synchroniss

rseau synchronis/rseau autonome


Nsync rseau synchronis - N rseau autonome sous-jacent Acc(Nsync, M0) Acc(N, M0) et L(Nsync, M0) L(N, M0) Proposition : Si (N, M0) est born alors (Nsync, M0) est born Rciproque ? t (E1) p t (E1) rseau synchronis born rseau autonome : tn franchissable et M0(tn> (n) non born (0) t/E1 (1) {t, t}/E1

Proposition : La proprit de borntude est indcidable pour les rseaux synchroniss


Extensions RdP - Annie Geniet 47

Rseaux synchroniss

Chapitre 4 : Prise en compte de temps

1. 2.

Rseaux temporiss Rseaux temporels

Extensions RdP - Annie Geniet

48

Les rseaux temporiss


Timed Petri nets Ramchandani Modlisation explicite de la dure des activits

En Production

dure

Attente Production

instantane
Fin Production Production

dure Temporisation des transitions

Temporisation des places

Extensions RdP - Annie Geniet

49

Rseaux temporiss

Rseaux P-temporiss
quantication de la dure minimale de sjour dune marque dans une place RdP P-temporis = (N, Tempo) o 1. N rseau Place/transition 2. Tempo : P N fonction de temporisation

t1 p1 t2 p2 t3

t1

t1

t1

(d1)

p1 t2

(d1)

p1 t2

(d1)

p1 t2

(d1)

(d2) d1

p2 t3

(d2) ?

p2 t3

(d2) d2

p2 t3

(d2)

Tir de t1 Marque disponible marque indisponible

Tir de t2 Marque disponible marque indisponible

Temps

Extensions RdP - Annie Geniet

50

Rseaux temporiss

Rseaux T-temporiss
Tir de t : enclenchement - n Quantication de la dure entre lenclenchement et la n RdP T-temporis = (N, Tempo) o 1. N rseau Place/transition 2. Tempo : T N fonction de temporisation

p (d) t t (d) p ? t et t sensibilise (d) t t

p (d) p d Enclenchement de t Marque gele t dsensibilise


Extensions RdP - Annie Geniet

p (d) t t (d) p

Temps Fin de t Production des marques en sortie


51

Rseaux temporiss

quivalence des deux approches


Proposition : Les rdP P-temporiss et les RdP P-temporiss sont quivalents
P-temporiss => T-temporiss p t p (d) p (d)

T-temporiss => P-temporiss t t (d) p t (d)

Extensions RdP - Annie Geniet

52

Rseaux temporiss

Fonctionnements RdP T-temporiss


vitesse maximale t sensibilise au plus tt franchie => elle lest au plus tt

t tire ou invalide datation slection des comportements + datation tat dun rseau temporis linstant u 1. marquage disponible 2. marquage gel 3. vecteur des dures rsiduelles : Resu(t) = 0 si t non en cours de tir Resu(t) = date_n - u = date_enclenchement + Tempo(t) - u

Extensions RdP - Annie Geniet

53

Rseaux temporiss

vitesse maximale / au plus tt sommet tat racine


( " % " % + M , 0 , $ ' $ 0' * 0 # & P # &T , )

Graphes des marquages (1)

[M, MG, Res] tat

& Res " # % 0( et ) max * + , ) * + $ 'T = ensemble maximal de transitions valides / sous ensemble dun ensemble! maximal de transitions!valides = {t T / Res(t) > 0} '{Tempo(t) / t " #} $ {Res(t), t " #'}( * dmin = Min % & )

, dmin
!

M' = M +

$
t " F
+

W(t, ) -

$W(, t)
t " #
$ W(, t)
!

F = {t " #/ tempo(t) = dmin} $ {t " #'/ Res(t) = dmin}

M'

= M

min

$ W(, t)

[M, MG, Res] tat

t " # & tempo(t) > d

t " #' & Res(t) = d

min

Res(t) =

& ( 0 si t " # $ #' ( ( 0 si t % # et tempo(t) = d min ( ' 0 si t % #' et Res(t) = d min ( ( tempo(t) - d min si t % #, tempo(t) > ( ( res(t) - d ) min si t % #', res(t) > d min

d min
54

Extensions RdP - Annie Geniet

Rseaux temporiss

P1 t1

vitesse maximale
0 P1 1

Exemples
t1, 1 {t2, t3} (2, 3)
3 P P - (t ,1) 3 1 3 4

1
P3 t3

P2 t2

1PP 2 2 3

t 4, 4

2
P4

3
P5

t4 4PP 4 4 5

au plus tt

1 P1

t1, 1 Tempo(t) Res(t) M MG u dmin t2, 2


3 2PP 2 3

t3, 3
2 P5P2

{t2, t3} (2, 3)


1 P P - (t ,1) 3 4 3

t4, 4

P4P3 t3, 3

t2, 2

4PP 4 5 55

Extensions RdP - Annie Geniet

Rseaux temporiss

Exercices (1)
On considre le rseau suivant :
P2

t2 t3

2 R 2

P2 P3 P4

Ensemble de tches: partageant des ressources critiques se recyclant avec relations de prcdence t6
0

t1

P3 P4

t4
1 P4 P1

t5
4

Montrer laide de ce rseau que le fonctionnement vitesse maximale ne correspond pas toujours au comportement le plus rapide

Extensions RdP - Annie Geniet

56

Rseaux temporiss

Exercices (2)
Producteur/consommateur temporis a - Quand il a termin la fabrication d'une pice, un producteur la dpose dans un stock de capacit 2, puis, une fois le dpt effectu, il commence produire une nouvelle pice. Un consommateur, ds qu'il a ni de consommer une pice, en prlve une nouvelle dans le stock. On suppose que la production d'une pice dure 10 units de temps, la consommation d'une pice 7 et l'opration de retrait d'une pice du stock dure 1 unit de temps. Donner le rseau de Petri temporis associ ainsi que son graphe des marquages. La taille du stock estelle adapte ? Quelle est la frquence des consommations ? b - On suppose cette fois que deux consommateurs sont en concurrence. On ne fait pas d'hypothses sur le capacit du stock. i - On suppose que le rseau est autonome (donc sans temporisation). Montrer que le rseau est non born et qu'il peut y avoir famine. ii - On temporise le rseau : la production dure 3 units de temps, les retraits 1 et les consommations 5. Les conclusions prcdentes sont-elles toujours valides ?

Extensions RdP - Annie Geniet

57

Rseaux temporiss

Exercices (3)
3 - On considre les deux tches suivantes :
Tche 1 Bloc_dure 3 mission vers Tche 2 Bloc_dure 5 rception d'un message de Tche 2 Prise_ressource (R) Bloc_dure 4 Libration_ressource (R) rception_message de Tche 2 Bloc_dure 3 Tche 2 rception_message de Tche 1 Bloc_dure 2 mission_message vers Tche 1 Bloc_dure 4 Prise_ressource (R) Bloc_dure 3 Libration_ressource (R) mission vers Tche 1

On suppose qu'on dispose de deux processeurs en environnement parallle (les dures de transferts des messages sont considres comme nulles), que chaque tche s'excute sur un processeur, et que les dures des primitives temps rel sont nulles (en fait, elles sont intgres aux dures des blocs voisins). Dterminer les dlais critiques minimum que l'on peut associer chacune des tches.
Extensions RdP - Annie Geniet 58

Rseaux temporiss

Rseaux temporels - 1er exemple


Merlin-Farber 1976
Livreur prt Client dort

Dpose le lait Lait non caill Le lait caille Lait caill

[4, 6]

Se rveille [5, 10] veill

Localisation des actions dans le temps Utilisation de plages horaires Tirs instantans Hypothse synchrone Rseau de Petri temporel = (N, IS) o N rseau Place/transition IS fonction Intervalle de tir Statique IS : T Q+ x (Q+ {+}) t [a, b] avec a <= b

[2, 2]

Prend et boit le lait [0, +] La lait a t bu

Dbut observation : minuit

Date statique de tir au plus tt si t sensibilise t ne peut pas tre tire avant + a t doit avoir t tire ou invalide + b

Date statique de tir au plus tard

par rapport linstant de sensibilisation de t

Extensions RdP - Annie Geniet

59

Rseaux temporels

Interprtation
Dlais Dures

encl(t) [min, max] t (d)

[0,0]

n(t)

[d,d]

Places/transitions

modlise les RdP temporiss

[0, +]
Extensions RdP - Annie Geniet 60

Rseaux temporels

Puissance de modlisation
Proposition : les RdP temporels ont la puissance des machines de Turing

simulation des arcs inhibiteurs [0,1]

[1, 2]

Extensions RdP - Annie Geniet

61

Rseaux temporels

Exemples

Limprimante
Imprimante active Fin [4, 8] dimpression Bascule mode veille [1, 1]

Mode veille

[1, 1] Rveil [0, 0] Dbut dimpression

Impression en cours

Rep. Spool [2, +] Dpot

Extensions RdP - Annie Geniet

62

Rseaux temporels

Modlisation de processus
P1 Repeat Action1; 1 6 Emit(evt1, P2); Emit(evt2, P3); Action2; 1 6 Forever; P2 Repeat Wait(evt1, P1); Emit(evt2, P3); Action3; 2 3 Action4; 1 4 Forever; P3 Repeat Wait(evt2, P1); Action5; 1 4 Forever;

un scnario
P1 A1 E1 [1, 6] [2, 3] P1 E2 [1, 6] A2 P3 [1,4] A5 [1, 4] A4 P2 P2

A1[1,6] P1P2P3 A1,5 P'1E1E2P2P3 A3,2 P'1E2P'2P3 A2,1 P1E2P'2P3 A5[0,1]A4[1,3]A1[1,6] A5,1 P1P'2P3 A4[0,2]A1[0,5] intervalles dynamiques de tir
63

A3

A2[1,6]A3[2,3]A5[1,4]

A2[0,4]A5[0,2]A4[1,4]

Extensions RdP - Annie Geniet

Rseaux temporels

Conits
P1

[5, 6] P2

t1 P3

t4 [4.5, 5]

[2, 4]

t2

t3 [1, 5]

Tolrance aux fautes (1)

a - perte Attente Fonctionne ment normal Fin2 Fin1 Cond

Faute

[1, 1] Alarme

[0, 0]

Fonctionne ment normal


64

Extensions RdP - Annie Geniet

Rseaux temporels

b - imprvu

Tolrance aux fautes (2)

Rcupration - Chien de garde


Exemple dun jeton circulant sur un anneau (a) [a2, b2] t2 t3 [a3, b3]

[0, +] W perte [a1, b1] t1 [a, b] R t4 [a4, b4]

a > b2 + b3 + b4

Observateur local

Extensions RdP - Annie Geniet

65

Rseaux temporels

Rcupration
(b) Observateur global

t2

t3 t2 t3 [0, 0] parasite parasite t4 [0, 0] t1 t4

t1

[0, 0]

Extensions RdP - Annie Geniet

66

Rseaux temporels

Rgle de franchissement
t franchissable depuis un tat E = (M, I) linstant ssi 1. 2. M(t > a (t) " # "

(t) Min b t $ T I(t) % &

tat dun rseau temporel (instantan) ! " I(t ) % 1 ' $ (M, I) $ I ( t )' marquage vecteur dintervalles
2 ' $ $ ... ' $ ' $ I ( t )' # n &

si t non sensibilise
intervalle de tir dynamique sinon (t)] (t), b [a

!
Extensions RdP - Annie Geniet 67

Rseaux temporels

E = (M, I) ( t > E = (M, I) o

tat atteint

1 - M ( t > M 2 - (M' ( t' > ) " I'(t') = # t' nouvellement sensibilise " I'(t') = IS(t')

t' dj sensibilise en M et sans conflit avec t

(t) - # ] " I'(t') = [ Max (0, a (t) - # ), b


Squence de franchissement = (, u) !

! squence de transitions
= t1t2tk Ralisable depuis E0 il existe E1, E2, , Ek tels que

suite des dates relatives de tir u = 12k

E0 ( (t1, 1) > E1 ( (t2, 2) > (tk, k) > Ek


Extensions RdP - Annie Geniet 68

Rseaux temporels

Classes (1)
Relations dquivalence S = (, u) " S = (, u) <=> = E = (M, I) " E = (M, I) <=> il existe S et S tq S " S et E0 (S > E et E0 ( S > E !
!
!

C0 = (M0, I0 = IS) = E0 C() = (M, D) avec : M 0( > M D = union des domaines de tirs

Domaine de tir d'une transition : ensemble de tous les instants de tir possibles Domaine de tir : vecteur des domaines de tir des transitions

Extensions RdP - Annie Geniet

69

Rseaux temporels

Classes (2)

M0 : P1P22

D0 =

[4,9] t1, 1 [0,2] [1,3] [0,2] [0,3]

4 1 9

M1 : P3P4P5 D1 =
t2, 2 042 053 033 4 - 3 1 5 - 3 2

0 22 1 33 0 42 0 53

M1 : P2P3P5

D2 =

042-2 053-2 max(1-2,0)33-2


Extensions RdP - Annie Geniet

70

Rseaux temporels

C = (M, D) D de la forme i i i j - i i,j


tir de tk k

Classes (3)
ti, tj valides

C' = (M', D')

k i M(tk>M'

ti valide

D' :

ti valide en M et qui le reste en M' : 'i = Max(0, - k,i, i - k) et 'i = Min( i,k , i - k) ti nouvellement valide : 'i = a(ti) et 'i = b(ti) Pour tout couple (ti, tj) de transitions valides en M et qui les restent en M' : 'i,j = Min( i,j , i - j ) Pour tout couple de transitions (ti, tj) o ti ou tj est nouvellement valide : 'i,j = i - j
Extensions RdP - Annie Geniet 71

Rseaux temporels

Exercices

Construire le graphe des classes

On considre un systme trs simpli d'opration de virement bancaire via internet. Le fonctionnement schmatique est le suivant : le client se connecte au serveur le serveur envoie un page vierge de saisie de l'opration le client remplit la page et la renvoie au serveur le serveur envoie la rfrence de l'opration et ferme la connexion Le client reoit la rfrence et ferme la connexion Par ailleurs, on suppose que le rseau n'est pas able, donc que certains messages peuvent tre perdus. a - Donner le rseau de Petri modlisant cet change.
Extensions RdP - Annie Geniet 72

Rseaux temporels

Exercices

b - Soit M un marquage. Quelles proprits du marquage M expriment les proprits du systme suivantes : (i) le client se trouve dans un seul tat la fois (ii) le serveur se trouve dans un seul tat la fois c - Quel est le marquage nal atteint lorsque aucune perte ne survient sur le rseau ? d - Construire le graphe des marquages du rseau de Petri. e - An d'viter, en cas de perte de message, que le client ou le serveur attendent indniment, lorsque le client attend un message et qu'il ne l'a pas obtenu au bout de 2 secondes, alors il se met dans un tat d'erreur. De mme, lorsque le serveur attend un message et qu'il ne l'a toujours pas reu au bout de 3 secondes, il ferme la connexion et retourne dans l'tat initial. (i) Donner le rseau de Petri temporel reprsentant le systme modi (les autres temporisations sont gales [0, 1]). (ii) Quel marquage nal atteint-on quand il y a perte de message ? (iii) Donner le graphe des classes.
Extensions RdP - Annie Geniet 73

Rseaux temporels