Documente Academic
Documente Profesional
Documente Cultură
2.1 Introducere
O reţea Petri este un graf bipartid cu două tipuri de noduri: locuri şi tranziţii.
Arcele orientate leagă anumite locuri de anumite tranziţii, sau anumite tranziţii
de anumite locuri. Un arc nu leagă niciodată două noduri de aceeaşi natură. În
general, locurile sunt reprezentate prin cercuri şi tranziţiile prin bare (sau
dreptunghiuri). Fiecare loc poate conţine una sau mai multe mărci (sau
jetoane), reprezentate prin puncte. Aşa cum vom vedea mai departe, aceste
mărci vor permite modelarea dinamicii sistemului.
Marcajul unei reţele Petri este un vector de dimensiune egală cu numărul de
locuri, ale cărui componente sunt numere întregi pozitive sau nule. Cea de-a
“n”–a componentă a vectorului reprezintă numărul de mărci ce figurează în
locul n al reţelei Petri.
Fiecărui arc i se asociază ca pondere un număr întreg pozitiv. Dacă această
pondere nu este figurată pe arc, se consideră că este egală cu 1.
Cu aceste elemente fixate, putem defini o RP.
Definiţie 2.1: O reţea Petri este un cvintuplu RP = (P, T, A, W, M0), unde:
P = {P1, P2, …,Pn} este mulţimea locurilor;
T = {T1, T2, …, Tm} este mulţimea tranziţiilor;
A (PT) (TP) este mulţimea arcelor,
W : A {1, 2, 3, …} este funcţia de ponderare ataşată
arcelor,
M0 : P {0, 1, 2, …} este marcajul iniţial.
Observaţie: Mulţimile locurilor şi tranziţiilor sunt disjuncte:
Cap. 2 – ModelareaSDED utilizand RP 23
P T = .
P1 P2 P3 P1 P2 P3
T1 T1
P4 P4
P1 P2 P3
T1
P4
a) b)
Exemplul 2.1
Se consideră reţeaua Petri din figura 2.2. Marcajul său iniţial este M0 = [1, 2,
3, 4].
P3 T4 P4
T5
Figura 2.2
P1 P1 P2 P3
T2 T1 T2 T1
a) b)
P1 P1
T2 T1 T2 T1
c) d)
Marcajul iniţial validează T1 şi T2, dar nu este decât o marcă, deci există un
conflict efectiv:
Ke = <P1, {T1, T2},M>.
Pentru figura 2.3 b), marcajul curent nu validează decât T 1, deci nu este
conflict efectiv. În figura 2.3 c) cele două tranziţii ale conflictului sunt
validate, şi există două mărci, deci nu există conflict deoarece ambele tarnziţii
se pot declanşa. În cazul reţelei din figura 2.3 d) există un conflict efectiv cu o
structură particulară. Marcajul permite declanşarea unei singure tranziţii dintre
cele două validate: de exemplu după declanşarea T 1 se poate apoi declanşa T2
deoarece există încă o marcă în P1. Această reţea este persitentă pentru
Cap. 2 – ModelareaSDED utilizand RP 27
marcajul considerat. Ordinea de declanşarea a tranziţiilor T1 şi T2 este
indiferentă deoarece secvenţele T1T2 şi T2T1 sunt amândouă posibile, şi în plus
conduc la acelaşi marcaj.
Noţiunea de persistenţă este importantă în cazul conflictului, dar ea se
poate aplica şi în alte cazuri.
Definiţie 2.6: O Reţea Petri se numeşte persistentă pentru marcajul iniţial
M0,m dacă pentru orice marcaj accesibil MiR(M0) este
îndeplinită proprietatea următoare:
- dacă Tk, Tj sunt validate din Mi atunci TkTj este o secvenţă
de declanşări plecând din Mi (la fel ca şi TjTk) prin simetrie.
Anumite RP au structuri particulare, adică posedă caracteristici şi
proprietăţi pe care nu le au reţelele în cazul general. Aceste structuri
particulare sunt grafurile de evenimente, grafurile de stări, reţele fără conflict,
etc.
Definiţie 2.7: O reţea Petri se spune că este graf de evenimente dacă şi
numai dacă orice loc are exact o tranziţie de intrare şi o
tranziţie de ieşire.
Definiţie 2.8: O reţea Petri se spune că este graf de stări dacă şi numai dacă
orice tranziţie are exact un loc de intrare şi un loc de ieşire.
Observaţie: Caracteristicile de tip graf de stări sau graf de marcaj se mai
numesc şi caracteristici structurale deoarece ele nu depind de
marcajul RP
Definiţie 2.9: Se spune despre un loc Pi că este mărginit pentru un marcaj
iniţial M0, dacă pentru orice marcaj accesibil, plecând din M0
numărul de mărci din Pi este finit.
Definiţie 2.10: O reţea Petri este mărginită pentru marcajul iniţial M0 dacă,
pentru fiecare dintre marcajele accesibile, toate locurile sunt
mărginite pentru M0.
Un caz particular de reţea mărginită este reţeaua binară (sau sigură), în
care marcajul fiecărui loc este cel mult 1.
28 Partea I – Modelare si analiza
Reţeaua din figura 2.4 a) este o reţea mărginită, deoarece mulţimea
marcajelor accesibile din M0 este:
{M1, M2, M3, M3}, unde
M1 = [1, 2], M2 = [0, 3], M3 = [2, 1], M4 = [3, 0.],
P1
T1 T1 P1
P2 P2
T2
a) b)
Figura 2.4 Reţele mărginite şi nemărginte
P1
P1 T1
P2
T1
T2
P2
P3
T2
T3
a) b)
P1
T1 T2
P2 P3
T2
P4
0
T1 2
P1
T1 2 T1 1 M2
0 1
T 0
1
2
P2 T2 M0 M1
a) b) M1
Figura 2.7 Graf de marcaj
În figura 2.7 a) este prezentată o Reţea Petri cu marcajul său iniţial M0 = [2,
0]. În figura 2.7 b) este prezentat graful său de marcaj. Din acest graf se pot
determina proprietăţile reţelei. Se poate vedea foarte uşor că reţeaua este
mărginită (deoarece numărul maxim de mărci din fiecare loc este maxim 2), nu
este vivantă şi chiar are două stări de blocaj, este quasi-vivantă (deoarece
plecând din M0 este posibilă declanşarea T1 cel puţin o dată şi pentru T2 la fel),
nu are stare de primire, deci nu este reiniţializabilă.
T1
T1 T1 T1 T1 T1
P1 0 1 2 3 …
0
T1
T2 T2 T2 T2
M0 M1 M2 M3 M0 T2
T2
a) b) c)
0
0
T2
0 0
1 T1 0 0
0 1 M2
T2
0 1 T3
1 T1 0 M2+
M0 M1 0 1
T3 1
P1 + + 0
M0 M1
T3
T1
M0+
P2 P3 b)
T2 0
0
a) T2
0 0
1 T1 0 0
0 1 M2
T2
0 1 T3
1 T1 0 M2+
M0 M1 0 1
T3
M0+ M1+
c)
Figura 2.9 Arbore de acoperire şi graf de acoperire
Acest algoritm este ilustrat cu ajutorul figurilor 2.9 a), b) şi c).În figura 2.9
b) este prezentat arborele de acoperire pentru reţeaua Petri din figura 2.9 a), iar
în figura 2.9 este prezentat graful de acoperire obţinut în urma aplicării
algoritmului.
Exemplul 2.2. (ilustrat prin figurile 2.9 a) şi b))
Pasul 1. M0(T1 M1
Pasul 2.2. pentru M1
34 Partea I – Modelare si analiza
M1(T2 M2
M1(T3 [1, 0 ,1]. Cum [1, 0 ,1] > [1, 0 ,0] = M0, se scrie:
M1(T3 [1, 0 ,] = M0+.
Pasul 2.2. pentru M2: nici o tranziţie validată, este un blocaj.
Pasul 2.2. pentru M0+
M0+(T1 [0, 1 ,] = M1+
Pasul 2.2. pentru M1+
M1+(T2 [0, 0 ,] = M2+
M1+(T3 [1, 0 ,] = M0+
Pasul 2.2. pentru M2+: nici o tranziţie validată, este un blocaj.
Pasul 2.1. pentru M0+
Pe drumul ce corespunde tranziţiilor T1T3T1T3 din M0,
acelaşi marcaj M0+ a fost deja întâlnit.
Arborele de acoperire obţinut prin acest algoritm conţine totdeauna un
număr finit de noduri. Se poate obţine un graf de acoperire (adică un graf de
acoperire al marcajelor accesibile) fuzionând nodurile arborelui care
corespund aceluiaşi “marcaj”. Pe figura 2.9 b) există două noduri ce corespund
M0+. Dacă se fuzionează aceste noduri, se obţine graful de acoperire din figura
2.9 c).
Plecând de la arborele de acoperire din figura 2.9 b), sau de la graful de
acoperire din figura 2.9 c), se pot face următoarele observaţii:
- locurile P1 şi P2 sunt mărginite, dar locul P3 nu este;
- există o infinitate de blocaje, ce corespund M2 şi M2+;
- reţeaua este quasi – vivantă;
- mulţimea secvenţelor declanşări formează limbajul:
L = T1T2 + T1T3(T1T3)*T2.
T2 T5
P3 P6
CP1 nu are nevoie de CP2 nu are nevoie de
memorie memorie
Exemplul 2.2
Două calculatoare CP1 şi CP2 partajează o memorie comună. Calculatorul
CP1 are trei stări posibile: fie cere acces la memorie (locul P1) sau utilizează
resursa (locul P2) sau nu are nevoie de ea (locul P3). De manieră similară
calculatorul CP2 are trei stări cu aceeaşi semnificaţie. Când memoria este
liberă (locul P7 este marcat) şi CP1 face cerere de memorie , tranziţia T1 din
figura 2.2 este autorizată. Dacă T1 este declanşată, CP1 utilizează memoria, iar
la terminarea taskului de utilizare a memoriei, se declanşează T2 şi resursa
memorie este eliberată, fiind gata de a fi folosită de CP1 sau de CP2.
Reţeaua Petri care modelează funcţionarea celor două calculatoare este
prezentată în figura 2.10, şi descrie partajul resursei memorie.
De exemplu, pentru reţeaua din Fig.2.10, se poate vedea uşor că, s1 = T4T5T6
este o secvenţă repetitivă din marcajul M1, unde M1 = [1, 0, 0, 1, 0, 0, 1].
Definiţie 2.22: O secvenţă repetitivă este o secvenţă de tranziţii care
realizează transferul
s
M0
Mi.,
unde s = s1 s2 astfel încât s2 este o secvenţă repetitivă din Mi.
În exemplul din Fig.2.10, s = s1 s2 este o secvenţă repetitivă, pentru s2 =
T1T2T3.
Definiţie 2.23: O componentă repetitivă este o submulţime a mulţimii T ce
conţine tranziţiile dintr-o secvenţă repetitivă.
De exemplu, pentru reţeaua din fig 2.10, se poate vedea intuitiv că, există
mai multe componente repetitive: {T1,T2, T3}, {T4,T5,T6}, {T1,T2, T3,
T4,T5,T6}.
Definiţie 2.24: Matricea de incidenţă, notată W, este matricea ale cărei
elemente wij corespund modificărilor de marcaj pe care le
produce declanşarea tranziţiei Tj asupra locului Pi.
Observaţie: Dimensiunea matricii de incidenţă este (nm), unde n =
card(P) şi m= card(T).
În matricea de incidenţă, o linie este asociată unui loc şi o coloană este
asociată unei tranziţii.
Pentru reţeaua din figura 2.10, care are card(P) = 7 şi card(T) = 6, matricea
de incidenţă este:
T1 T2 T3 T4 T5 T6
- 1 0 1 0 0 0 P1
1 -1 0 0 0 0 P2
0 1 -1 0 0 0 P3
W .
0 0 0 - 1 0 1 P4
0 0 0 1 - 1 0 P5
0 0 0 0 1 - 1 P6
- 1 - 1 1 0 P7
1 0
Cap. 2 – ModelareaSDED utilizand RP 37
Se poate vedea în matricea de incidenţă că elementul wij reprezintă
modificarea marcajului locului Pi în urma declanşării tranziţiei Tj. Spre
exemplu elementul w74= -1 are semnificaţia că declanşarea tranziţei T4 extrage
o marcă din locul P7.
Observaţie: Matricea de incidenţă nu oferă nici o indicaţie asupra
posibilităţii de a declanşa o tranziţie, deoarece este
independentă de marcaj.
Unei secvenţe de declanşări s i se asociază un vector caracteristic S, a cărui
componentă i este numărul de declanşări ale tranziţiei Ti din secvenţa s. Se
poate observa că un vector caracteristic poate corespunde mai multor secvenţe
de declanşări, după cum nu pentru orice vector S cu elemente pozitive există o
secvenţa de tranziţii.
Dacă o secvenţă de declanşări oarecare s, căreia i s-a asociat vectorul
caracteristic S, este aplicată din marcajul Mi, marcajul accesibil în care se
ajunge, Mk, este dat de ecuaţia fundamentală:
Mk = Mi + W S. (2.1)
conduce în marcajul:
1 - 1 0 1 0 0 0 1 0 1
0 1 - 1 0 0 0 0 1 0 0 0
1
0 0 1 - 1 0 0 0 0 0 0
1
M k 1 0 0 0 - 1 0 1 1 - 1 0
0 0 0 0 1 - 1 0 0 1 1
3
2
0 0 0 0 0 1 - 1 0 0 0
1 - 1 1 0 - 1 1 0 2 1 - 1 0
.
se obţine
XT Mk = XT M0 + XT W S,
unde q este un număr intreg pozitiv, atunci S duce înapoi în marcajul Mi.
Marcajul atins din Mi este dat de ecuaţia fundamentală (2.1), în care se ţine
seama de relaţia (2.4), şi rezultă imediat că:
M k = Mi .
apariţia E3
P1
1
marcajul P1
a) T1 E3
0
P2
1
marcajul P2
0
apariţia E2
2
P3
marcajul P3 1
b) T2 E2
0
P4
1
marcajul P4
0
apariţia E1
P5
1
T3 E1 marcajul P5
0
c) P6
1
marcajul P6
T4
0
P7
1
marcajul P7
0
Figura 2.11 Principiu de declanşare a unei tranziţii sincronizate
P1 apariţia E3
1 1 1
T1 E3 marcaje stabile M0= 0 0
0
P2
T2
marcaje instabile 0 0
M0 1 1
a) b)
T1 T1 T1 T1
marcă
indisponibilă P1 d1 P1 d1 P1 d1 P1 d1
marcă T2 T2 T2 T2
disponibilă
P2 d2 P2 d2 P2 d2 P2 d2
T3 T3 T3 T3
marcă indisponibilă în P1
d1
(tranziţia T2 nu este validată)
marcă disponibilă în P1
(tranziţia T2 este validată)
marcă indisponibilă în P2 d2
declanşare T1
declanşare T2
Figura 2.13 Disponibilitatea unei mărci
Funcţionarea unei RP P-temporizate
La momentul iniţial, marcajul M0 este dat de mărcile disponibile. La un
moment t oarecare, marcajul prezent M, este suma a două marcaje Md şi Mi,
astfel încât Md este marcajul constituit din mărcile disponibile, iar Mi este
marcajul dat de mărcile indisponibile. O tranziţie este validată pentru marcajul
M = Md + Mi,
dacă este validată pentru marcajul Md. Declanşarea unei tranziţii într-o RP P-
temporizată se face la fel ca într-o RP netemporizată, cu precizarea că la
declanşarea tranziţiei nu se extrag, din locurile de intrare decât mărcile
disponibile. Declanşarea unei tranziţii se produce pe un interval de timp de
durată nulă. Dacă o marcă este depusă într-un loc Pi după declanşarea unei
tranziţii care se produce la momentul de timp t, atunci această marcă rămâne
indisponibilă pe intervalul de timp [t, t+di].
Definiţie 2.32: O RP P-temporizată funcţionează la viteză maximală dacă
orice tranziţie se declanşează deîndată ce este validată.
T1 T1 T1
a) P2 d2=3 P2 d2=3 P2 d2=3
T2 T2 T2
M0 M1 M2 M3
1 {T1 T2}/0 1 T1/2 0 T2/1 1
b) 1 1 2 1
[T1 T2]/2
T2T2/3
2 T1 T1/0 0 2
c) 0 2 0
T1 T1/2
M0’ M1’ M2’
M0 M1 M2 M3
1(0) {T1T2}/0 1(2) T1/2 0 T2/1 1(2)
1(0) 1(3) 2(1,3) 1(2)
{T1T2}/2
Definiţie 2.34: Frecvenţa de declanşare, Fj, a unei tranziţii, Tj, este numărul
mediu de declanşări ale Tj pe unitatea de timp, după ce s-a
ajuns în regim staţionar.
Se consideră RP P-temporizată din figura 2.14, funcţionând la viteză
proprie. Numărul mediu de mărci din P1 (în regim staţionar) este egal cu
produsul d1F2 deoarece mărcile intră în P1 cu frecvenţa F2 şi rămân acolo pe o
durată de timp d1. De asemenea, numărul mediu de mărci din P2 este d2F1.
Suma celor două numere este un invariant, deci avem:
d1F2 + d2F1 = M0(P1) + M0(P2).
rezultat ce rămâne coerent cu figura 2.14 b) şi 2.14 c). În figura 2.14 b) se vede
că ciclul M1 M2 M3 M1 durează 5 unităţi de timp şi sunt două
declanşări T1 şi două declanşări T2 pe durata unui ciclu. În figura 2.14 c) ciclul
este M1’M2’M1’, are aceeaşi durată şi sunt, de asemenea, două declanşări
pentru fiecare dintre cele două tranziţii pe durata unui ciclu.
În cazul general, avem relaţiile următoare:
1) O relaţie legând temporizările, frecvenţele şi marcajul iniţial, care
este asociată fiecărui invariant liniar al locurilor. Această relaţie este în
general o inegalitate, deoarece frecvenţele reale pot fi inferioare celor
48 Partea I – Modelare si analiza
ce corespund funcţionării la viteză proprie. Această relaţie se poate
scrie sub forma:
XT.D.W.F XT.M0, unde
T1
d2=3 d3=1
P2 P3
T2
T1 d1 T1 d1 T1 d1 T1 d1
marcă
rezervată P1 P1 P1 P1
marcă T2 d2 T2 d2 T2 d2 T2 d2
nerezervată
P2 P2 P2 P2
T3 d3 T3 d3 T3 d3 T3 d3
marcă nerezervată în P1
(tranziţia T2 validată)
marcă rezervată în P1
(pentru declanşarea T2) d2
marcă nerezervată în P2
(sfârşit de) declanşare T1
decizie de declanşare T2
(sau început de declanşare T2)
a)
maşini
operaţionale
P
stoc de 1 2
T2
b) intrare
1 maşini în
T1 P4
pană
stoc de P3
T3 3
ieşire
P2
Se consideră staţia de producţie din figura 2.18, compusă din două maşini,
un stoc de intrare şi un stoc de ieşire. Staţia produce piese prelucrând piesele
brute din stocul de intrare care sunt depuse în stocul de ieşire. Funcţionarea
acestui sistem poate fi descrisă de RP din figura 2.18 b). Se presupune că
Cap. 2 – ModelareaSDED utilizand RP 53
timpul de servire al unei maşini este o variabilă aleatoare, cu o distribuţie după
o lege exponenţială , a cărei medie este 1. Pornind de la acest timp mediu, 1,
se definesc ratele de declanşări, 1 = 1/1, ale tranziţiei T1 din figura 2.18 b).
Această rată semnifică faptul că există o probabilitate 1.dt de declanşare a
tranziţiei T1 între momentele t şi t+dt, ştiind că tranziţia T1 este validată la
client în curs server
de servire operaţional
P1
sfârşit de T1 1 T2 2 server în
servire pană
a)
staţia 1
în lucru
T1 1 T2 2 staţia 2
în lucru
b)
<b> f ( b ) v
P1 <b> <v> f ( v ) b v
<v> <o> f ( o ) b 2 o
<b>
f
T1 {<b>, <v>, <o>}
g
g( b ) b
P2 g( v ) o b
g ( o ) 2 o
b+y
t15 EF2 t14 EF2 a+b+z
t13
b+y+EF2 a+b+EF2+z
x t18 x+a t16
x+a+EF1 t12
y z
A t17 D EF1 b+EF2 a+b+EF2
a+EF1
t1 t2 t3 t4
EF2
B a+EF1 C EF1 b+EF2
F G H t8 I t9 M a+P+b+EF2
E a+b+EF2
J
P t5 t6 a+P t7 a+P a+P+b+EF2 t10 K t11 L
a+EF1 +P
P
a+P+b
Figura 2.22 RP corespunzătoare procesului de asamblare pentru
produsul cu două componente
Oricum, fiecare loc al reţelei este arondat unei resurse şi deci avem
demonstraţia faptului că reţeaua este mărginită.
Cap. 2 – ModelareaSDED utilizand RP 61
Execuţia unei acţiuni (modelate ca tranziţie a RP) se produce când sistemul
de comandă va da ordinul de declanşare a tranziţiei respective. Cum
declanşarea tranziţiilor depinde de evenimente externe RP, avem de a face cu
RP neautonome.
De remarcat, în încheierea prezentării, că pentru un exemplu foarte simplu
(asamblarea a doi constituenţi), s-a obţinut deja o RP de o complexitate destul
de ridicată.
62 Partea I – Modelare si analiza