IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de...

34
1 IFT2251 : Génie logiciel Chapitre 5 : Modélisation formelle – Les réseaux de Pétri Julie Vachon et Houari Sahraoui Réseaux de Pétri 1. Introduction 2 Marquage dun réseau de Pétri 2. Marquage d un réseau de Pétri 3. Franchissement des transitions Transition franchissable Séquence de franchissement 4. Modélisation de la concurrence p.2 5. Analyse des réseaux de Pétri Graphe des marquages accessibles Graphe de couverture Propriétés

Transcript of IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de...

Page 1: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

1

IFT2251 :Génie logiciel

Chapitre 5 : Modélisation formelle – Les réseaux de Pétri

Julie Vachon et Houari Sahraoui

Réseaux de Pétri1. Introduction2 Marquage d’un réseau de Pétri2. Marquage d un réseau de Pétri3. Franchissement des transitions

Transition franchissableSéquence de franchissement

4. Modélisation de la concurrence

p.2

5. Analyse des réseaux de PétriGraphe des marquages accessiblesGraphe de couverturePropriétés

Page 2: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

2

5.1. IntroductionModèle permettant de décrire les aspects de contrôle et le flot des donnéesPermet de représenter les changements d’états et la causalité des événements provoqués par ces changementsPermet de représenter les activités parallèles et concurrentes d’un logicielNotation formelle, opérationnelle, dynamique

Recette A

p.3

Ingrédients : • 3 kg de pommes• 1 kg de sucreDonne :• 2 pots de compote• 1 pot de gelée de pomme

IntroductionNotation formelle, opérationnelle, dynamique

3

1 1

2

kg pommes pot compote

A

3

1 1

2

kg pommes pot compote

A

p.4

kg sucre pot gelée kg sucre pot gelée

Page 3: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

3

IntroductionUn réseau de Pétri est composé

Ensemble fini de places

Ensemble fini de transitions

Ensemble fini de flèches reliant soit

p

t

p.5

Ensemble fini de flèches reliant soit

Soit une place à une transition

Soit une transition à une place

n

m

IntroductionUn réseau de Pétri est un quadruplet (P T F W) où(P, T, F, W) où

P est un ensemble fini de placesT est un ensemble fini de transitionsF est la relation de flot

PTO tFlTPI FlOutFlowInFlowF

××∪⊆

p

t

p.6

W est la fonction de poids, qui associe un entier naturel non nul à chaque élément de F

W(f) = 1 si une flèche f de F n’est pas étiquetée

PTOutFlow TPInFlow ×⊆×⊆

{0}\NF :W → m n

Page 4: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

4

IntroductionPlaces d’entrée et de sortie

Pl d’ t é d’ t iti t lPlaces d’entrée d’une transition t : places desquelles proviennent les flèches qui entrent dans la transition

InFlow}t)(p,|{pIn(t) ∈=

p.7

Places de sortie d’une transition t : places vers lesquelles sont orientées les flèches qui sortent de la transition

OutFlow}p)(t,|{pOut(t) ∈=

5.2. Marquage d’un réseau de PétriOn peut placer des jetons dans les places du réseau de Pétridu réseau de Pétri

L’emplacement et la quantité des jetons définissent l’état du réseau de PétriLa fonction de marquage décrit le nombre de jetons contenus dans chaque place

p.8

Marquage = Affectation d’un entier non-négatif à chaque place

NP:M →

Page 5: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

5

Marquage d’un réseau de Pétri

Marquage

M(p1)=1M(p2)=1M(p3)=2M(p4)=0M(p5)=0M( ) 0

p1 p2

p3

p4 p5

t1 t2

p.9

M(p6)=0M(p7)=2

p6 p7t3 t4

Marquage d’un réseau de PétriRéseau marqué

Un réseau marqué est un couple N = <R,M> où R est un réseau de PétriM est un marquage, c’est-à-dire une applicationtelle que M(p) est le nombre de jetons dans la place

Pp ∈

p.10

On appelle marquage initial (noté M0) le premier marquage attribué à un réseau avant que ses transitions ne soient tirées

NP:M →Pp ∈

Page 6: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

6

5.3. Franchissement des transitionsTransition franchissable

U t iti t dit f hi bl iUne transition est dite « franchissable » si chacune de ses places d’entrée contient un nombre de jetons égal ou supérieur à celui des poids sur les flèches correspondantes

p.11

Une transition t est franchissable si et seulement si

t))W((p,M(p) In(t),p ≥∈∀

Franchissement des transitionsTransition franchissable

p1 p2

p3

p4 p5

t1 t2Quelles sont les

transitions franchissables ?

2

p.12

p6 p7t3 t4

2t2 et t3

Page 7: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

7

Franchissement des transitionsTransition franchissable

p2

p3

p4 p5

t1 t2

Quelles sont les transitions

franchissables ?2

t1

p.13

p6 p7t3 t4

2Une transition sans place d’entrée est

toujours franchissable…

Franchissement des transitionsUne transition franchissable peut être franchie (on dit aussi tirée)franchie (on dit aussi tirée)Lorsqu’on franchit (i.e., on tire) une transition t

Pour chaque place d’entrée pi, un nombre de jetons égal au poids indiqué sur la flèche de pi

p.14

à t est retiréPour chaque place de sortie pj, un nombre de jetons égal au poids indiqué sur la flèche de tà pj est ajouté

Page 8: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

8

Franchissement des transitionsFranchissement d’une transition

p1 p2

p3

p4 p5

t1 t22

p.15

p6 p7t3 t4

2

Franchissement des transitionsFranchissement d’une transition

p1 p2

p3

p4 p5

t1 t22

p.16

p6 p7t3 t4

2

Page 9: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

9

Franchissement des transitionsSoient les fonctions pré et post définissant les pré et post conditions dules pré- et post-conditions du franchissement des transitions

Si t est franchissable pour le marquage M

sinon 0, In(t)p si t)),W((p,t)pre(p,

=∈=

sinon 0, Out(t)p si p)),W((t,t)post(p,

=∈=

p.17

Si t est franchissable pour le marquage M, le franchissement de t donne le nouveau marquage M’ tel que

t)post(p, t)pre(p,- M(p) (p)M' P,p +=∈∀

Franchissement des transitionsp1 p2p3

2

p1 p2p32

⎟⎟⎟⎟⎞

⎜⎜⎜⎜⎛

===

0t2)pre(p32t2)pre(p2,0t2)pre(p1,

⎟⎟⎟⎞

⎜⎜⎜⎛

==

0t2)post(p30t2)post(p2,0t2)post(p1,

⎟⎟⎟⎟⎞

⎜⎜⎜⎜⎛

===

2M(p3)2M(p2)0M(p1)

⎟⎟⎟⎟⎞

⎜⎜⎜⎜⎛

===

2(p3)M'0(p2)M'0(p1)M'

p4p5

p6 p7

t1 t2

t3 t4

2 p4p5

p6 p7

t1 t2

t3 t4

2Tir de t2

p.18

⎟⎟⎟⎟⎟⎟

⎠⎜⎜⎜⎜⎜⎜

⎝ =====

0t2)pre(p7,0t2)pre(p6,0t2)pre(p5,0t2)pre(p4,0t2)pre(p3,

⎟⎟⎟⎟⎟⎟⎟

⎠⎜⎜⎜⎜⎜⎜⎜

⎝ =====

0t2)post(p7,0t2)post(p6,1t2)post(p5,0t2)post(p4,0t2)post(p3,

⎟⎟⎟⎟⎟⎟

⎠⎜⎜⎜⎜⎜⎜

⎝ =====

0M(p7)0M(p6)1M(p5)1M(p4)2M(p3)

⎟⎟⎟⎟⎟⎟

⎠⎜⎜⎜⎜⎜⎜

⎝ =====

0(p7)M'0(p6)M'2(p5)M'1(p4)M'2(p3)M

=- +

Page 10: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

10

Franchissement des transitionsSoit un réseau marqué <R,M>, une séquence de franchissement est une suiteséquence de franchissement est une suite de transitions franchies séquentiellement dans R depuis le marquage MCette séquence est dénotée par une chaîne de noms de transitions

p.19

<t1, t2, …, tn> telle que t1 est franchissable depuis le marquage M, t2 est franchissable depuis le marquage M’ obtenu suite au franchissement de t1, etc.

Franchissement des transitionsSéquence de franchissement M <t2> M’

p1 p2

p3

p4 p5

t1 t22

p.20

p6 p7t3 t4

2

Page 11: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

11

Franchissement des transitionsSéquence de franchissement M <t2,t4> M’’

p1 p2

p3

p4 p5

t1 t22

p.21

p6 p7t3 t4

2

Franchissement des transitionsSéquence de franchissement M <t2,t4,t3> M’’’

p1 p2

p3

p4 p5

t1 t22

p.22

p6 p7t3 t4

2

Page 12: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

12

Franchissement des transitionsSéquence de franchissement M <t2,t4,t3> M’’’

p1 p2

p3

p4 p5

t1 t22

p.23

p6 p7t3 t4

2

Franchissement des transitionsM <t1, …, tn> ou M

L é <t t > t f hi bl

t1,..tn

La séquence <t1, …, tn> est franchissable depuis M

M <t1, …, tn> M’ ou M M’La séquence <t1, …, tn> franchissable depuis

t1,..tn

p.24

q 1, , n pM conduit au marquage M’

Page 13: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

13

5.4. Modélisation de la concurrenceLes réseaux de Pétri, un modèle concurrent

Les transitions servent à modéliser les actions des processuspLes jetons représentent des ressources consommablesLe franchissement d’une transition représente l’exécution d’une action (consommation et production de ressources)Les flèches entrantes indiquent les conditions à satisfaire avant l’action (les ressources nécessaires)Les flèches sortantes représentent les conditions à satisfaire après l’action (les ressources à produire)

p.25

après l action (les ressources à produire)La présence d’un jeton marque la satisfaction, partielle ou totale, d’une condition (i.e., présence d’une ressource)Le non-déterminisme des franchissements signifie que l’ordonnancement des actions n’est pas défini ou priorisé

Modélisation de la concurrenceExemple du producteur-consommateur

Modélisez l’exemple du producteur et du consommateurModélisez l exemple du producteur et du consommateur par un réseau de Pétri (tampon capacité 1)

p2

produire

p1

b1

Tampon

consommer

c2c1

p.26

Légendep1: prêt à produire; p2: prêt à écrirec1: prêt à lire; c2: prêt à consommerb0: tampon vide; b1:tampon plein

déposer

Producteur b0

prendre

Consommateur

Page 14: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

14

Modélisation de la concurrenceExemple du producteur-consommateur

produire

p2p1

consommer

c2c1b1

p.27

déposerprendre

b0

Modélisation de la concurrenceExemple du producteur-consommateur

produire

p2p1

consommer

c2c1b1

p.28

déposerprendre

b0

Page 15: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

15

Modélisation de la concurrenceExemple du producteur-consommateur

produire

p2p1

consommer

c2c1b1

p.29

déposerprendre

b0

Modélisation de la concurrenceLes réseaux de Pétri sont non déterministes

Si l d’ t iti t f hi bl lSi plus d’une transition est franchissable, le choix de la transition à franchir est non-déterministe

p1 p2p3 2 t t ?

p.30

p4 p5

p6 p7

t1 t2

t3 t42

2 t2 ou t3 ?

Choix non déterministe…

Page 16: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

16

Modélisation de la concurrenceQuelques dérives du non-déterminisme…

p1 p2p3

p4 p5

t1 t2

t6t5

Processus A Processus B

p.31

p6 p7t3 t4

t6t5

A B A

Modélisation de la concurrenceQuelques dérives du non-déterminisme…

p1 p2p3

p4 p5

t1 t2

t6t5

Processus A Processus B

p.32

p6 p7t3 t4

t6t5

Possibilité de tomber sur une séquence de franchissement qui finit par ne favoriser que A : <t1, t2, t3, t5, t1, t3, t5, t1, t3, t5…>

Page 17: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

17

Modélisation de la concurrencePolitique non équitable et famine

Les réseaux de Pétri n’imposent pas de politiqueLes réseaux de Pétri n imposent pas de politique d’ordonnancement des transitions pour gérer le non-déterminisme

Il est possible queUne séquence de franchissement n’offre pas de chance égale aux processus ayant des transitions f hi bl dit l é t

p.33

franchissables, on dit que la séquence est non équitableUn processus se voit refuser l’accès à une ressource dont il a besoin pendant un temps indéfini, on dit que le processus est en famine

Modélisation de la concurrenceConcurrence dans les réseaux de Pétri

On considère généralement la simulation des réseaux de Pétri sur une machine séquentielleConcurrence = Exécution invariable de

p.34

Concurrence = Exécution invariable de l’entrelacement des séquences

);();(// ijjiji tttttt ∨≡

Page 18: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

18

Modélisation de la concurrenceTransitions concurrentes : paire de transitions dont le franchissement de l’unetransitions dont le franchissement de l une n’empêche pas celui de l’autre

Concurrence structurelle : la structure du réseau de Pétri fait en sorte que les transitions ne se nuisent pasC

p.35

Concurrence « pratique » : la structure et–ou le marquage du réseau fait en sorte que les transitions ne se nuisent pas

Modélisation de la concurrenceTransitions concurrentes

Concurrence structurelle : deux transitions ti et tj sontConcurrence structurelle : deux transitions ti et tj sont structurellement concurrentes si elles n’ont aucune place d’entrée commune, i.e.,

p1 p2p3

t1 t2

{}In(t2)In(t1) =∩

t1 et t2 ? t1 et t2 sont

p.36

p4 p5

p6 p7t3 t4

t6t5structurellement concurrentes

t3 et t4 ?t3 et t4 ne le sont pas

Page 19: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

19

Modélisation de la concurrenceTransitions concurrentes

Concurrence « pratique » : étant donné un marquage M deuxConcurrence « pratique » : étant donné un marquage M, deux transitions ti et tj sont concurrentes en pratique si les ressources sont suffisantes pour qu’elles puissent s’exécuter dans un ordre ou dans l’autre, sans se nuire, i.e.,

t3 et t4 ? t3 et t4 sont concurrentes en pratique pour le marquage

t2)pre(p,t1)pre(p,M(p)P,p +≥∈∀

p1 p2p3

t1 t2

p.37

pratique pour le marquage M illustréAttention ! Si M(p3)=1, t3 et t4 ne seraient pas concurrentes en pratique

t6p4 p5

p6 p7t3 t4

t5

Modélisation de la concurrenceTransitions conflictuelles : le franchissement de l’une des transitionsfranchissement de l une des transitions empêche le franchissement de l’autre

Conflit structurel : la structure du réseau de Pétri fait en sorte que les transitions risquent de se nuireC f ff f

p.38

Conflit effectif : la structure et le marquage du réseau font en sorte que les transitions ne peuvent être franchies simultanément, i.e., l’une après l’autre dans n’importe quel ordre

Page 20: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

20

Modélisation de la concurrenceTransitions conflictuelles

Conflit structurel : deux transitions ti et tj sontConflit structurel : deux transitions ti et tj sont structurellement en conflit si elles ont au moins une place d’entrée commune, i.e.,

p1 p2p3

t1 t2

{}In(t2)In(t1) ≠∩

t et t sont

p.39

p4 p5

p6 p7

t1 t2

t3 t4

t6t5

t3 et t4 sont structurellement conflictuelles

Modélisation de la concurrenceTransitions conflictuelles

Conflit effectif : étant donné un marquage M deuxConflit effectif : étant donné un marquage M, deux transitions ti et tj sont effectivement en conflit si les ressources ne sont pas suffisantes pour qu’elles puissent s’exécuter simultanément, i.e.,

t2)pre(p,t1)pre(p,M(p)P,p +<∈∃p1 p2

p3

p.40

t3 et t4 sont effectivement en conflit étant donné le marquage illustré

t6

p3

p4 p5

p6 p7

t1 t2

t3 t4

t5

Page 21: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

21

Modélisation de la concurrenceInterblocage (deadlock)

p1

p3

p2

p3t1t2

t3 t4

22

p1

p4

p.41

p5 p6

p7 p8t5 t6

t7 t8

Modélisation de la concurrenceInterblocage (deadlock)

p1

p3

p2

p3t1t2

t3 t4

22

p1

p4

p.42

p5 p6

p7 p8t5 t6

t7 t8

Page 22: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

22

Modélisation de la concurrenceInterblocage (deadlock)

p1

p3

p2

p3t1t2

t3 t4

22

p1

p4

p.43

p5 p6

p7 p8t5 t6

t7 t8

Modélisation de la concurrenceInterblocage (deadlock)

p1

p3

p2

p3t1t2

t3 t4

22

p1

p4

Interblocage !

p.44

p5 p6

p7 p8t5 t6

t7 t8

Page 23: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

23

Modélisation de la concurrenceSituation de blocage

U é d Pét i d d éUn réseau de Pétri, dans un marquage donné M, est en situation de blocage si et seulement si aucune transition n’est franchissableCas typique : le processus A est arrêté car il a besoin d’une ressource détenue par B, or le processus B est arrêté car il a besoin d’une

p.45

processus B est arrêté car il a besoin d une ressource détenue par A… Interblocage !

5.5. Analyse des réseaux de PétriL’analyse d’un réseau de Pétri peut permettre de confirmer ou d’infirmerpermettre de confirmer ou d infirmer certaines propriétés du système modélisé

On étudie les états du systèmeTechniques

Graphe des marquages accessibles

p.46

Graphe de couverture

Page 24: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

24

Analyse des réseaux de PétriMarquages accessibles

Étant donné <R,M0>, l’ensemble des marquages accessibles est l’ensemble de tous les marquages de R atteignables par une séquence de franchissements à partir

p.47

une séquence de franchissements à partir du marquage initial M0

}MsM s,|{M)MA(R; i0i0 ><∃=

Analyse des réseaux de PétriGraphe des marquages accessibles

Si A(R;M0) est fini, on peut le représenter sous forme d’un graphe

Le graphe des marquage GA(R;M0) est un graphe dont les sommets sont les marquages

p.48

graphe dont les sommets sont les marquages de A(R;M0) tel qu’un arc relie deux sommets Mi et Mj s’il existe une transition franchissable permettant de passer du marquage Mi à Mj

Page 25: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

25

Analyse des réseaux de PétriGraphe des marquages accessibles

p1

p2t1

(1,1,0,0)

t4

(0,2,0,0)t4

t1

<R,M0> GA(R;M0)

M0

(0,0,1,0)

p.49

p3

t2

t3

p4

(0,1,1,0)

(0,0,0,1)

t1

t2t3

(1,0,0,0)

t1

(0,1,0,0)

t4

Analyse des réseaux de PétriComment construire GA(R,M0) ?

1. Partir du marquage initial M0, marquer ce nœud newa t du a quage t a 0, a que ce œud e2. Choisir un nœud Mi marqué new3. Pour chaque transition ti franchissable depuis Mi, calculer le

marquage Mj obtenu par franchissementA. Si Mj est égal à un marquage Mk déjà rencontré, ajouter un arc

étiqueté par ti liant Mi à Mk

B. Si Mj est strictement supérieur à un marquage Mk déjà rencontré

p.50

sur le chemin qu’on est en train d’explorer, on peut s’arrêter car le graphe comportera un nombre infini d’états : il faut construire le graphe de couverture

C. Sinon, ajouter un arc étiqueté par ti liant Mi à Mj, marquer Mj new, marquer Mi old et répéter les étapes 2 et 3 tant qu’il reste des sommets marqués new

Page 26: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

26

Analyse des réseaux de PétriMarquage strictement supérieur

Un marquage M est strictement supérieur à un marquage M’ (et est noté M > M’) si et seulement si pour tout

p.51

M'Met (p)M'M(p) P,p ≠≥∈∀

Analyse des réseaux de PétriGraphe des marquages accessibles

Exemple d’un graphe infini

t1 t3p2

p.52

p1 t2 p3

Page 27: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

27

Analyse des réseaux de PétriGraphe de couverture

GA(R;M0) ne peut pas être construit si l’ensemble des marquages est infini (cas 3.B.)

Par exemple lorsqu’il existe une séquence faisant toujours croître le nombre de jetons dans une place p

Construire un graphe fini tel que tous les

p.53

Construire un graphe fini tel que tous les marquages accessibles sont

Soit explicitement représentés par un nœud du grapheSoit «couverts» par un nœud, un tel graphe s’appelle graphe de couverture

Analyse des réseaux de PétriGraphe de couverture

Dans un graphe de couverture certains des sommets représentent des marquages pour lesquels une ou plusieurs places ont un nombre de jetons, noté ω, pouvant être arbitrairement grand M(p) = ω

p.54

grand, M(p) = ω

Propriétésω + ν = ω, ω − ν = ω, ν < ω, ω ≥ ω

Page 28: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

28

Analyse des réseaux de PétriGraphe de couverture

On construit le graphe de couverture GC(R,M0) commeOn construit le graphe de couverture GC(R,M0) comme on construit le graphe de marquage mais à l’étape 3.B. où l’on s’apprête à atteindre un marquage Mj strictement supérieur à un marquage Mk déjà rencontré sur le chemin qu’on explore, on applique la règle suivante :

Mk Mk

p.55

MjMi

tMi

t⇒ M`j

sinon (p),M (p)M

M (p)M si ω, (p)M

kj

jkj

=′

<=′ MM kj >

Analyse des réseaux de PétriRègle (graphe de couverture)

jkk

M

i MM , (p)Mt)post(p,t)pre(p,(p)M P,pj

≠≥−+∈∀44444 344444 21

Soit Mi le sommet qu’on explore, Mk un sommet (déjà visité) sur le chemin qu’on explore et soit t une transition franchissable depuis MiSi :

Alors :On ajoute un nouveau sommet M et un arc étiqueté t de M à M tel que

p.56

sinon (p),M (p)M

t)post(p,-t)pre(p,(p)M (p)M si ω, (p)M

kj

ikj

=

+<=

On ajoute un nouveau sommet Mj et un arc étiqueté t de Mi à Mj tel que

Page 29: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

29

Graphe de couverture

Analyse des réseaux de Pétri

t1

p1(1,0) (2,0)

(ω,0)t1 t2

<R,M0> GC(R;M0)

p.57

p2

t2

2 (0,1)

( )

(ω,ω)

t t2t1

(ω,1)t2

t1

Propriétés comportementales

Analyse des réseaux de Pétri

Réversibilité : un réseau de Pétri est réversible si et seulement si pour tout marquage accessible, il existe une séquence de franchissement qui permet de retourner au marquage initialLe réseau de Pétri R initialement marqué M0 est dit réversible si et seulement si :

00 MsMquetels),MA(R,M ><∃∈∀

p.58

La réversibilité assure que le système peut toujours revenir à son état initialPropriété souhaitable pour un système car elle montre que celui-ci peut être réinitialisé en cas d’erreur

00 q),( ,

Page 30: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

30

Analyse des réseaux de PétriPropriétés comportementales

K-borné : un réseau de Pétri est k-borné si et seulement si pour tout marquage accessible le marquage de chaque place est toujours inférieur ou égal à kLe réseau de Pétri R, initialement marqué M0 est dit k-borné si et seulement si :

p.59

Propriété importante des systèmes où l’on modélise la capacité des ressources

kM(p)),MA(R,M 0 ≤∈∀

Analyse des réseaux de PétriPropriétés comportementales

Vivacité : un réseau de Pétri est vivant si et seulement si pour tout marquage accessible M, il existe une séquence de franchissements depuis M contenant toutes les transitionsLe réseau de Pétri R, initialement marqué M0 est dit vivant si et seulement si :

p.60

vivant si et seulement si :

Une conséquence immédiate de la vivacité est l’absence de blocage dans le système

s) tT,t(et ) s(M que tels ),MA(R,M 0

∈∈∀><∃∈∀

Page 31: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

31

Analyse des réseaux de PétriPropriétés comportementales

En construisant le graphe des marquages accessibles on peut vérifier

Si le réseau est k-borné : nombre fini de marquages accessibles (A(R,M0) est fini)

Donc pas de ω dans graphe de couverture : graphe de couverture = Graphe des marquages accessibles

p.61

Si le réseau est réversible : chaque sommet est sur un circuit orienté contenant M0

Si le réseau contient des blocages : certains sommets ne sont l’origine d’aucune transitionSi le réseau est vivant

Analyse des réseaux de PétriRemarques

Il est important de réaliser que le graphe de couverture offre une information réduite par rapport au graphe des marquages accessibles : perte d’information au niveau des sommets représentant des marquages non bornésÀ partir du graphe de couverture seulement, il n’est pas toujours possible de prouver la réversibilité et la

p.62

toujours possible de prouver la réversibilité et la vivacité… Pour vérifier ces propriétés, il faut reconsidérer le réseau de Pétri marqué et l’ensemble de ses marquages accessibles A(R,M0)

Page 32: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

32

Analyse des réseaux de PétriPropriétés comportementales

<R M0> GC(R;M0)

t3

t4

p4p3

t1

(0,1,0,0,1)

(0,0,0,1,0) (0,2,0,0,0)

(1 0 1 0 0)

t2

t4

t1

<R,M0> GC(R;M0)

p.63

t2

t5

p5p2p1

(1,0,1,0,0)

(ω,0,0,1,0)

(ω,0,1,0,0)

t3

t4

t3

ω

Analyse des réseaux de PétriPropriétés comportementales

<R M0> GC(R;M0)

t3

t4

p4p3

t1

(0,1,0,0,1)

(0,0,0,1,0) (0,2,0,0,0)

(1,0,1,0,0)

t2t1

t4

t3

<R,M0> GC(R;M0)

p.64

t2

t5

p5p2p1

(ω,0,0,1,0)

(ω,0,1,0,0)t4

t3

Le réseau n’est pas borné, n’est pas réversible, n’est pas vivant et contient un blocage, pourquoi ?

Page 33: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

33

Analyse des réseaux de Pétri

p1Propriétés comportementales

p2p3t2

t2

p1

p3p2

t1

t3 t4

p.65

Réseau vivantPourquoi ?

p4

Réseau 2-bornéPourquoi ?

t3

5.6. ConclusionLimitations du modèle de base

Les jetons sont anonymesLes jetons sont anonymesParfois, on aimerait que les jetons portent une valeur pour pouvoir les discriminer, pouvoir mettre des conditions sur les arcs pour décider du franchissement d’une transition en fonction de la valeur des jetons dans les places

Absence de politique de sélection des transitions franchissables (pas de politique d’ordonnancement)

p.66

Absence de notion de tempsEtc.

Page 34: IFT2251 : Génie logiciel · 3 Introduction Un réseau de Pétri est composé Ensemble fini de places Ensemble fini de transitions Ensemblefinideflèchesreliantsoit p t p.5 Ensemble

34

ConclusionExtensions au modèle de base

Réseaux de Pétri colorésRéseaux de Pétri avec prioritésRéseaux de Pétri temporisés

p.67

Réseaux de Pétri avec arcs inhibiteurs

Voir aussi le Graphcet (Europe)