Vous êtes sur la page 1sur 17

Module OMGL - UE ModDyn

Modlisation de la dynamique / Rseaux de Petri

J. Christian Attiogb
Fvrier 2009, maj 2012

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

1 / 34

Plan

Plan de la suite

Dfinitions

Les bases

Fonctionnement dun rseau

Graphe de marquage : smantique


Exercice

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

2 / 34

Plan

Introduction

Carl Adam Petri, 1962


Une notation mathmatique et graphique
Fonde sur une bonne thorie
Plusieurs extensions et outils logiciels pour les analyser
Modlisation de systmes asynchrones, concurrents, distribus,
non-dterministes,
Utilisable diffrentes tapes de construction de logiciels :
analyse, modlisation, simulation, dveloppement (synthse)
Utilisation dans de nombreux domaines : protocoles, systmes
critiques, systmes dexploitation, ...

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

3 / 34

Plan

Introduction

Le rseau de Petri comme un outil de lingnieur : modlisation et


tude du fonctionnement dun systme (avant sa construction).

Exemple : modlisons le comportement de deux robots (dans une


usine).
Les deux robots usinent des pices en se servant doutils communs.
Plusieurs problmes : accs concurrent, synchronisation, blocage, ...

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

4 / 34

Plan

Introduction : un exemple de concurrence

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

5 / 34

Plan

Caractristiques des rseaux de Petri

Spcification et tude des systmes concurrents (communication,


synchronisation)
Abstraction sur les comportements, et les tats
Mode de synchronisation : synchrone, asynchrone
Mode de composition : via le partage de transitions, (pas de
hirarchie)
Modles smantiques : oprationnelle, axiomatique (algbrique)

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

6 / 34

Plan

Concepts fondamentaux

Ensemble de Places : P
Ensemble de transitions : T
Arcs entrant/sortant des transitions et des places
Jetons (dans des places)
Marquage (des places) : Mi
Fonctionnement du rseau : franchissement des transitions et
donc, changement de ltat global (marquage).

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

7 / 34

Plan

Etude empirique du fonctionnement des R. de Petri

Exemples de base
Modlisation dun systme producteur/consommateur avec les
RdP
Modlisation dune chane dassemblage avec des robots ...

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

8 / 34

Plan

Exemple : Producteur/Consomateur
Modlisation du comportement dun producteur :
repos

buffer

produire

reposer

production

P = {repos, production, buffer}


T = {produire, reposer}

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

9 / 34

Plan

Exemples : fonctionnement

Modlisation de la composition producteur et consommateur :


repos

reposC

buffer

repsoserC
produire

reposer

production

J. Christian Attiogb (Fvrier 2009, maj 2012)

prelever

consommation

Module OMGL - UE ModDyn

10 / 34

Les bases

Dfinitions formelles

Un rseau de Petri (R) est un quadruplet (P, T, Pre, Post) o :


P est un ensemble fini de places (avec | P | = m, le cardinal de
P),
T un ensemble fini de transitions, disjoint de P, (avec | T | = n, le
cardinal de T)
Pre : P T IN une application dincidence avant (une
matrice) : les places entrant dans une transition
Post : P T IN une application dincidence arrire (une
matrice) : les places sortant dune transition

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

11 / 34

Les bases

Exemple
Soit P = {1, 2, 3, 4, 5} et T = {a, b, c, d, e}.
Soient Pre (places avant les transitions) et
Post (places aprs les transitions) :

Pre
1
2
3
4
5

a
1
0
0
0
0

b
0
1
0
0
0

c
0
0
1
0
0

d
0
0
0
1
1

J. Christian Attiogb (Fvrier 2009, maj 2012)

e
0
0
0
0
1

Post
1
2
3
4
5

Module OMGL - UE ModDyn

a
0
1
1
0
0

b
0
0
0
1
0

c
0
0
0
0
1

d
1
0
0
0
0

e
0
0
1
0
0

12 / 34

Les bases

Graphe du rseau
1

2
3

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

13 / 34

Les bases

Marquage des rseaux

Un rseau marqu est le couple N = (R, ) form de :


un rseau R et
une application (fonction totale) : P IN.
(p) est le marquage de la place p,
on dit aussi le nombre de marques contenues dans p.
Jeton : indique le marquage de chaque place.

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

14 / 34

Les bases

Marquage des places


repos

produire

buffer

reposer

production

(repos) = 1
(production) = 0
(buffer) = 0
((repos), (production), (buffer))

(1, 0, 0)
J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

15 / 34

Fonctionnement dun rseau

Fonctionnement et proprits des rseaux de Petri

Franchissement des transitions (non-dterminisme, synchronisation)


Franchissable ? quel est le marquage rsultant ?

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

16 / 34

Fonctionnement dun rseau

Fonctionnement des rseaux de Petri (rgles


smantiques)
Une transition est franchissable (ou tirable) (enabled) lorsquil y a
aumoins un jeton dans chacune de ses places en entre.
Une transition franchissable est franchie (instantanment) ou non
franchie.
Lorsque plusieurs transitions sont franchissables,
une dentre elles (de faon non-dterministe) est franchie.
Lorsquune transition est franchie,
on enlve un jeton de chacune de ses places en entre et
on ajoute un jeton dans chacune de ses places en sortie :
modification du marquage.
Chaque arc a un poids de 1 par dfaut.
J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

17 / 34

Fonctionnement dun rseau

Fonctionnement du rseau : graphe et proprits


On tudie le modle partir du graphe de marquage (rseau born).
Marquage et vivacit : Transition vivace (vivante) = il y a toujours
un chemin qui y passe ;
Rseau vivace = tout noeud sans arc sortant contient au moins
chaque transition
Rseau sans blocage = partir dun noeud il y a toujours un arc
sortant.
Interblocage : aucune action possible partir dun noeud
atteignable.
...
On peut avoir des rseaux non borns.

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

18 / 34

Fonctionnement dun rseau

Fonctionnement du rseau : graphe et proprits

Exemples de rseaux :
Les philosophes (exo au tableau)
Lecteurs/rdacteurs

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

19 / 34

Fonctionnement dun rseau

Graphe associ un rseau

Le graphe (P, T, , V) associ au rseau R = (P, T, Pre, Post) est


dfini par :
p P p (p) = {t T | Pre(p, t) > 0} (transitions atteignables)
t T t (t) = {p P | Post(p, t) > 0} (places atteignables)
p P, t T, V(p, t) = Pre(p, t) et V(t, p) = Post(p, t).
(valuation)

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

20 / 34

Fonctionnement dun rseau

Exemple

Soit P = {1, 2, 3, 4, 5} et T = {a, b, c, d, e}.


Soient Pre et Post :
Pre a b c d e
Post
1
1 0 0 0 0
1
2
2
0 1 0 0 0
0 0 1 0 0
3
3
4
0 0 0 1 0
4
5
0 0 0 1 1
5

a
0
1
1
0
0

b
0
0
0
1
0

c
0
0
0
0
1

d
1
0
0
0
0

e
0
0
1
0
0

soit M0 = (1 0 0 0 0) le marquage initial.


On construit le rseau suivant avec M0 :

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

21 / 34

Fonctionnement dun rseau

Graphe du rseau
1

2
3

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

22 / 34

Graphe de marquage : smantique

Graphe de marquage
On construit le graphe sur lensemble des marquages accessibles not
A(R, M) (ou espace dtats) du rseau.
Un tat est un marquage.
Si les places du rseau sont p1 , p2 , . . ., p|P| ,
un marquage est de la forme ((p1 ), (p2 ), . . . , (p|P| )).
Le graphe des marquages est not G(R, M).
Ses sommets sont les lments de A(R, M).
Ses arcs sont etiquets par ti tel que ti T.
Soient Mi des sommets, M1 t M2 ssi :
M1 , M2 A(R, M),
t T,
M2 est accessible par t partir de M1
J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

23 / 34

Graphe de marquage : smantique

Entre et sortie dune transition

On appelle entres dune transition t : les places 1 (t) et


On appelle sorties dune transition t : les places de (t).
On appelle entres dune place p : les transitions 1 (p) et
sorties dune place p : les transitions de (p).

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

24 / 34

Graphe de marquage : smantique

Exercice

Exercice

On donne p et t telles que : (on utilisera t pour les transitions et p


pour les places et abusivement pour les deux cas)
p (1)
p (2)
p (3)
p (4)
p (5)

=
=
=
=
=

t (a)
t (b)
t (c)
t (d)
t (e)

{a}
{b}
{c}
{d}
{d, e}

=
=
=
=
=

{2, 3}
{4}
{5}
{1}
{3}

Construisez le graphe du rseau associ cette description.

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

Graphe de marquage : smantique

25 / 34

Exercice

Pondration des arcs, arcs inhibiteurs

Arcs pondrs
Arcs pondrs par dfaut avec 1
Les arcs peuvent avoir un poids > 1
Exemple dutilisation :
Lecteurs/rdacteur ; on veut autoriser n lectures ;
mais exclusion entre un redacteur et les lecteurs ;
rdaction en exclusion avec les lecteurs.

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

26 / 34

Graphe de marquage : smantique

Exercice

Pondration des arcs

Par dfaut les arcs ont un poids de 1


repos

1
produire

buffer

1
reposer

production

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

Graphe de marquage : smantique

27 / 34

Exercice

Pondration des arcs

Exercice : consommation 3 par 3 de ce qui est produit :


repos

1
produire

buffer

1
reposer

3
vider

production

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

28 / 34

Graphe de marquage : smantique

Exercice

Pondration des arcs

Exercice : Modlisation de la composition des comportements des


processus lecteurs/rdacteurs.
N ressources sont disponibles pour la lecture ou la rdaction ;
un seul processus rdacteur la fois,
1 N processus lecteurs peuvent lire simultanment,
On veut assurer lexclusion entre lecture et rdaction.

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

Graphe de marquage : smantique

29 / 34

Exercice

Arcs inhibiteurs

Arcs inhibiteurs : permettent des franchissements spcifiques.


Un RdP arcs inhibiteur est une variante des RdP, o on un peut avoir
une transition spcifique franchissable lorsque le marquage de la
place entrante est 0.

Exercice : patients/mdecin (au tableau)

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

30 / 34

Graphe de marquage : smantique

Exercice

Arcs inhibiteurs
Modlisation de la dtection de fin dun traitement...

p1

rscrc

1
prendre1
finir

Traitement
Terminaison
FinTraiter

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

Graphe de marquage : smantique

31 / 34

Exercice

Les limites des rseaux de Petri

Manque de modularit
pas de hirarchisation
pas de composition explicite

Explosion du modle (pour la modlisation de grands systmes)


Prise en compte de la modlisation des donnes
...

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

32 / 34

Graphe de marquage : smantique

Exercice

Les extensions des rseaux de Petri

Il existe de nombreuses extensions pour les rseaux de Petri


Rseaux de Petri avec des donnes (langage de donnes
labor)
HLPN (High-Level Petri Nets, rseaux de Petri avec prdicats, etc)
...

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

Graphe de marquage : smantique

33 / 34

Exercice

Rfrences

De nombreuses rfrences existent :


Gnie logiciel, Rseaux de Petri, Racloz et Buchs
Les rseaux de Petri, Un outil de modlisation, Annie
Choquet-Geniet, Dunod
...

J. Christian Attiogb (Fvrier 2009, maj 2012)

Module OMGL - UE ModDyn

34 / 34