Sunteți pe pagina 1din 39

Reele Petri

Definiii
# 1
Definiii
Convenii
Reguli de funcionare
Reele temporizate
Reele stochastice Reele stochastice
Exemple de abstractizare
Reelele Petri sunt un instrument pentru studiul
sistemelor. Teoria reelelor Petri permite unui
sistem s fie modelat de ctre o reea Petri,
1 Introducere
sistem s fie modelat de ctre o reea Petri,
realizndu-se astfel o reprezentare matematic a
sistemului. Analiza reelei Petri poate apoi s
furnizeze informaii importante despre structura i
comportamentul dinamic al sistemului modelat,
putnd fi folosit pentru a evalua sistemul modelat putnd fi folosit pentru a evalua sistemul modelat
i pentru a sugera mbuntiri sau schimbri.
Astfel, dezvoltarea unei teorii a reelelor Petri se
bazeaz pe aplicarea reelelor Petri n modelarea i
proiectarea sistemelor
Reelele Petri sunt proiectate special pentru a
modela sisteme cu componente cu interaciune
concurent. Reelele Petri au la baz studiile lui
2 Istoric
concurent. Reelele Petri au la baz studiile lui
Carl Adam Petri (lucrarea de doctorat)
A.W. Holt extinde proiectul pentru teoria
sistemelor informaionale (Information System
Theory Project)
1970 Jack B. Dennis reelele Petri i metodele 1970 Jack B. Dennis reelele Petri i metodele
aferente Institutul de Tehnologie din
Massachusetts (M.I.T.)
Din 1978 grup de cercetare la Hamburg Germania
Definiii fundamentale
Structura unei reele Petri
O reea Petri este compus din patru pri: O reea Petri este compus din patru pri:
- o mulime de locaii S;
- o mulime de tranziii T;
- o funcie de intrare I;
- o funcie de ieire O.
Funciile de intrare i ieire sunt relaii ntre T (mulimea de tranziii) i S
(mulimea de locaii). Funcia de intrare I este o funcie de la o
tranziie t la o colecie de locaii I(tj) care poart numele de locaiile tranziie t
j
la o colecie de locaii I(tj) care poart numele de locaiile
de intrare ale tranziiei. Funcia de ieire O este o funcie de la o
tranziie tj la o colecie de locaii O(tj) care poart numele de locaiile
de ieire ale tranziiei. Structura unei reele Petri este definit de
locaiile i tranziiile sale, de funcia sa de intrare i de cea de ieire.
Grafuri pentru reele Petri
O structur de reea Petri const din locaii i tranziii. Corespunztor
acestora, un graf de reea Petri are dou tipuri de noduri. Un cerc acestora, un graf de reea Petri are dou tipuri de noduri. Un cerc
reprezint o locaie; Un ptrat (sau o bar) reprezint o tranziie.
Deoarece un cerc reprezint o locaie, am numit cercurile locaii.
Similar, am numit barele tranziii.
Arcele direcionate (sgeile) conecteaz locaiile i tranziiile, unele
fiind direcionate de la locaii la tranziii, altele de la tranziii la locaii.
Un arc direcionat de la o locaie p
i
la o tranziie tj definete locaia ca
fiind o intrare a tranziiei. Intrrile multiple ntr-o tranziie sunt
indicate prin arce multiple de la locaiile de intrare la tranziii. O indicate prin arce multiple de la locaiile de intrare la tranziii. O
locaie de ieire este indicat printr-un arc de la o tranziie la o locaie.
De asemenea, ieirile multiple se indic prin arce multiple.
Marcajele reelelor Petri
Un marcaj este o asignare de jetoane
locaiilor unei reele Petri. Conceptul de jeton
este un concept fundamental n teoria reelelor
Petri (la fel ca locaiile i tranziiile). Jetoanele
sunt asignate locaiilor unei reele Petri si pot
fi gndite ca aparinnd acestora. Numrul i fi gndite ca aparinnd acestora. Numrul i
poziia jetoanelor se pot schimba n timpul
funcionrii unei reele Petri. Jetoanele sunt
folosite pentru a defini funcionarea unei
reele Petri.
Reguli de funcionare pentru
reele Petri
Funcionarea unei reele Petri este controlat de numrul i
distribuia jetoanelor n reeaua Petri. Jetoanele sunt rezidente n distribuia jetoanelor n reeaua Petri. Jetoanele sunt rezidente n
locaii i controleaz execuia tranziiilor reelei. O reea Petri se
execut prin declanarea tranziiilor. O tranziie se declaneaz
prin mutarea jetoanelor din locaiile de intrare i crearea de noi
jetoane care sunt distribuite n locaiile de ieire.
O tranziie se poate declana dac este posibil. O tranziie este
posibil dac fiecare dintre locaiile sale de intrare conine un posibil dac fiecare dintre locaiile sale de intrare conine un
numr de jetoane mai mare sau egal cu numrul de arce de la acea
locaie la tranziie. Sunt necesare jetoane multiple pentru arce
multiple de intrare. Jetoanele din locaiile de intrare care permit o
tranziie sunt jetoanele sale de validare.
Definiie
Categorie de grafuri
# 8
Noduri
Arce
Definiie
Categorie de grafuri
Noduri Locuri + Tranziii
# 9
Noduri Locuri + Tranziii
Arce
Locuri
Tranziii
Convenii
Intrare n P
2
Ieire din T
1
# 10
P
1
P
2
P
3
T
1
T
2
T
3
Ieire din P
2 Intrare n T
1
P
3 T
2
Convenii
a(T
i
,P
j
) = evaluarea arcului
# 11
P
1
P
2
P
3
T
1
T
2
T
3
a(P
1
,T
1
) a(P
2
,T
3
)
a(T
1
,P
2
)
a(T
3
,P
1
)
P
3 T
2
a(P
3
,T
3
)
a(P
1
,T
2
)
a(T
3
,P
1
)
Convenii
|
|
|
|

= 2 0 1
0 2 1
A
= matricea de inciden
# 12
P
1
P
2
P
3
T
1
T
2
T
3
1 2 1
|
.

\
2 1 1
P
3 T
2
1
2 2
1
Convenii
M = (2, 1, 0) = marcajul reelei
Jeton
# 13
P
1
P
2
P
3
T
1
T
2
T
3
1 2 1
Jeton
P
3 T
2
1
2 2
1
Reguli de funcionare
Tranziie
activabil
Tranziie
M
3
< a (P
3
, T
3
)
# 14
P
1
P
2
P
3
T
1
T
2
T
3
1 2 1
M
1
a (P
1
, T
1
)
Tranziie
inactivabil
P
3 T
2
1
2 2
1
Reguli de funcionare
Activare
tranziie T
1
# 15
P
1
P
2
P
3
T
1
T
2
T
3
1 2 1
P
3 T
2
1
2 2
1
Reguli de funcionare
# 16
P
1
P
2
P
3
T
1
T
2
T
3
1 2 1
P
3 T
2
1
2 2
1
Reguli de funcionare
Activare
# 17
P
1
P
2
P
3
T
1
T
2
T
3
1 2 1
Activare
tranziie T
2
P
3 T
2
1
2 2
1
Reguli de funcionare
# 18
P
1
P
2
P
3
T
1
T
2
T
3
1 2 1
P
3 T
2
1
2 2
1
Reguli de funcionare
Activare
# 19
P
1
P
2
P
3
T
1
T
2
T
3
1 2 1
Activare
tranziie T
3
P
3 T
2
1
2 2
1
Reguli de funcionare
# 20
P
1
P
2
P
3
T
1
T
2
T
3
1 2 1
P
3 T
2
1
2 2
1
Durat de
activare
Reele temporizate
Timp de
# 21
P
1
(s
1
)
P
2
(s
2
)
P
3
(s
3
)
T
1
(t
1
)
T
2
(t
2
)
T
3
(t
3
)
1 2 1
sejur
P
3
(s
3
)
T
2
(t
2
)
1
2 2
1
Reele temporizate
t = 0: activare tranziie T
1
# 22
P
1
P
2
P
3
T
1
(t
1
)
T
2
(t
2
)
T
3
(t
3
)
1 2 1
t = 0: activare tranziie T
1
P
3 T
2
(t
2
)
1
2 2
1
Reele temporizate
0 < t < t
1
: staionare jeton n T
1
# 23
P
1
P
2
P
3
T
1
(t
1
)
T
2
(t
2
)
T
3
(t
3
)
1 2 1
0 < t < t
1
: staionare jeton n T
1
P
3 T
2
(t
2
)
1
2 2
1
Reele temporizate
t = t
1
: sfrit activare T
1
# 24
P
1
P
2
P
3
T
1
(t
1
)
T
2
(t
2
)
T
3
(t
3
)
1 2 1
t = t
1
: sfrit activare T
1
P
3 T
2
(t
2
)
1
2 2
1
Durat de
activare
Reele stochastice
Timp de
sejur
Probabilistice
# 25
P
1
(s
1
)
P
2
(s
2
)
P
3
(s
3
)
T
1
(t
1
)
T
2
(t
2
)
T
3
(t
3
)
1 2 1
sejur
P
3
(s
3
)
T
2
(t
2
)
1
2 2
1
T
1
(t
1
)
1 1
Exemple de abstractizare
Post simplu de lucru
# 26
T
1
(t
1
)
1 1
Exemple de abstractizare
Post simplu de lucru
# 27
3 3
Prelucrare simultan
T
1
(t
1
)
T
1
(t
1
)
1 1
Exemple de abstractizare
Post simplu de lucru
# 28
P
2
T (t )
1
3 3
Prelucrare simultan
T
1
(t
1
)
P
3
T
3
(t
3
)
2
1
Asamblare
Evenimente i condiii
Evenimentele sunt aciuni care au loc n Evenimentele sunt aciuni care au loc n
sistem. Apariia acestor evenimente este
controlat de starea sistemului. Starea
sistemului poate fi descris ca o mulime
de condiii. O condiie este un predicat
sau descriere logic a strii sistemului. sau descriere logic a strii sistemului.
Astfel, o condiie poate fi fie adevrat,
fie fals
Evenimente i condiii
Deoarece evenimentele sunt aciuni, ele se Deoarece evenimentele sunt aciuni, ele se
pot produce. Pentru ca un eveniment s se
produc, s-ar putea s fie necesar ca
anumite condiii s fie adevrate. Acestea se
numesc precondiiile evenimentului.
Apariia evenimentului poate determina Apariia evenimentului poate determina
ca precondiiile s nu mai fie adevrate,
i poate stabili ca alte condiii, numite
postcondiii, s devin adevrate
Exemplu - problema modelrii
unui atelier simplu
Atelierul ateapt pn cnd apare un ordin i apoi l prelucreaz
i l trimite afar pentru distribuire. i l trimite afar pentru distribuire.
Condiiile pentru sistem sunt:
a. Atelierul este n ateptare.
b. A sosit un ordin i este n ateptare.
c. Atelierul prelucreaz ordinul.
d. Prelucrarea ordinului s-a ncheiat.
Evenimentele vor fi:
1. Sosirea unui ordin.
2. Atelierul ncepe prelucrarea ordinului.
3. Atelierul termin prelucrearea ordinului.
4. Ordinul este trimis pentru distribuire.
Precondiiile evenimentului 2 (Atelierul ncepe prelucrarea
ordinului.) sunt evidente:
(a)Atelierul este n ateptare. i (b) A sosit un ordin i este n
ateptare..
Postcondiia evenimentului 2 este (c) Atelierul prelucreaz Postcondiia evenimentului 2 este (c) Atelierul prelucreaz
ordinul.. Similar, putem s definim precondiiile i postcondiiile
celorlalte evenimente i s construim urmtorul tabel de
evenimente cu precondiiile i postcondiiile corespunztoare.
Intrriile unei tranziii sunt precondiiile evenimentului corespunztor; ieirile
sunt postcondiiile. Apariia unui eveniment corespunde cu declanarea tranziiei
corespunztoare. O condiie adevrat este reprezentat de existena unui jeton
n locaia corespunztoare condiiei. Cnd o tranziie se declaneaz, mut
jetoanele de validare reprezentnd ndeplinirea precondiiilor i creeaz noi jetoanele de validare reprezentnd ndeplinirea precondiiilor i creeaz noi
jetoane reprezentnd ndeplinirea postcondiiilor.
Reeaua Petri din figura este un model de reea Petri pentru exemplul de
mai sus cu atelierul. Am etichetat fiecare tranziie i locaie cu evenimentul sau
condiia corespunztoare.
Exemplul 2
Atelierul poate avea trei maini diferite M
1
, M2, i M3 i doi operatori F1 i F2.
Operatorul F1 poate opera mainile M1 i M2, iar operatorul F2 poate opera
mainile M1 i M3. Lucrrile necesit dou stagii de prelucrare. Mai nti
acestea trebuie prelucrate de maina M1, apoi de oricare dintre mainile M2, sau
M3. Acest sistem mai complicat va avea urmtoarele condiii:
a. A sosit o lucrare i ateapt s fie prelucrat de M
1
.
b. O lucrare a fost prelucrat de M
1
i ateapt s fie prelucrat de M2 sau M3.
c. Prelucrarea lucrrii s-a terminat.
d. Maina M
1
este liber.
e. Maina M
2
este liber.
f. Maina M
3
este liber.
g. Operatorul F este liber. g. Operatorul F
1
este liber.
h. Operatorul F
2
este liber.
i. Maina M
1
este operat de F1.
j. Maina M
1
este operat de F2.
k. Maina M
2
este operat de F1.
l. Maina M
3
este operat de F2.
Pot aprea urmtoarele evenimente:
1. Sosete un ordin.
2. Operatorul F
1
pornete prelucrarea lucrrii pe maina M1. 2. Operatorul F
1
pornete prelucrarea lucrrii pe maina M1.
3. Operatorul F
1
termin prelucrarea lucrrii pe maina M1.
4. Operatorul F
2
pornete prelucrarea lucrrii pe maina M1.
5. Operatorul F
2
termin prelucrarea lucrrii pe maina M1.
6. Operatorul F
1
pornete prelucrarea lucrrii pe maina M2.
7. Operatorul F
1
termin prelucrarea lucrrii pe maina M2.
8. Operatorul F
2
pornete prelucrarea lucrrii pe maina M3.
2
9. Operatorul F
2
termin prelucrarea lucrrii pe maina M3.
10. Ordinul este trimis pentru livrare.
Declanarea nedeterminist i nesimultan a tranziiilor n
modelarea sistemelor concurente este indicat n figura de
mai jos. n aceast situaie, cele dou tranziii posibile nu se
afecteaz reciproc n nici un fel, i secvenele posibile de
evenimente includ unele n care apare mai nti una dintre evenimente includ unele n care apare mai nti una dintre
tranziii, i altele n care apare mai nti cealalt tranziie.
Cealalt situaie n care simultaneitatea este mai dificil de mnuit
i care poate fi controlat prin definirea de evenimente care nu
apar simultan, este ilustrat n figura de mai jos. Aici, cele dou
tranziii posibile sunt n conflict. Se poate declana numai o
singur tranziie, deoarece, prin declanare, jetonul din intrarea singur tranziie, deoarece, prin declanare, jetonul din intrarea
comun este mutat i dezactiveaz cealalt tranziie.
pi
t
j
-
-
t
k -