Documente Academic
Documente Profesional
Documente Cultură
Fiind dată o rețea Petri (N, M0), pornind de la marcajul inițial M, modificarea marcajelor ca
urmare a executării tranzițiilor poate fi reprezentată sub forma unui arbore, denumit arbore de
acoperire (eng. coverability tree). În acest arbore, M0 este rădăcina, iar marcajele generate
sunt noduri; fiecare arc corespunde executării unei tranziții care transformă marcajul asociat
nodului de plecare în marcajul asociat nodului de sosire.
În cazul rețelelor Petri nemărginite, arborele de acoperire va creste la infinit. Pentru a păstra
finititudinea reprezentării de tip arbore care poate lua valori de acoperire, se introduce un
simbol special acest simbol poate lua valori oricât de mari
Construcția sistematică a arborelui de acoperire a unei rețele (N, M0) se desfășoară conform
următorului algoritm:
Pas 2. Atât timp cât există cel puțin un marcaj etichetat drept "marcaj nou" se efectuează
următorii subpași:
Subpas 2.4. Dacă pentru M există tranziții validate, atunci pentru fiecare
tranziție t validată se efectuează următoarele etape:
1
Etapa 2.4.3. Se introduce M' ca nod al arborelui de acoperire, se
trasează un arc de la M la M' corespunzând tranziției t si se
etichetează M' drept "marcaj nou".
Graful de acoperire asociat unei rețele Petri (N, M0) este un graf orientat G = (V, E).
Mulțimea nodurilor V este dată de mulțimea tuturor marcajelor distincte din arborele de
acoperire. Mulțimea arcelor orientate E servește pentru a uni oricare două marcaje Mi, Mj din
V, dacă există o tranziție tk a cărei executare duce de la Mi la Mj; arcele din E corespund
arcelor din arborele de acoperire.
În cazul rețelelor Petri mărginite, graful de acoperire este referit drept graf de accesibilitate,
întrucât nodurile mulțimii V sunt chiar marcajele accesibile ale rețelei, adică V R(M0).
Se consideră o rețea Petri pură N (vezi paragraful 2.1.2), cu n tranziții si m poziții. Se numește
matrice de incidentă (eng. incidence matrix) a rețelei, o matrice A = [aij] de dimensiuni n m,
ale cărei elemente sunt numere întregi:
unde:
aij+= W(ti, pj) este ponderea arcului de la tranziția ti, către poziția sa de iesire pj;
aij-= W(pj, ti) este ponderea arcului către tranziția ti, de la poziția sa de intrare pj.
Matricea A+= [aij+] (de dimensiune n m) este referită drept matrice de incidentă de ieșire.
Matricea A- = [aij-] (de dimensiune n m) este referită drept matrice de incidentă de intrare.
Din punctul de vedere al aplicațiilor, scrierea matricei de incidentă A se poate face global,
construind, mai întâi, matricele A+ si A-, după care se efectuează diferența:
Acest lucru poate fi descris global cu ajutorul unui vector coloană uk (de dimensiune n 1) ale
cărui elemente sunt toate 0, cu excepția celui de al i-lea element care este 1 (corespunzător
tranziției ti, unde are loc cea de a k-a executare a secvenței). Forma particulară a lui uk, face
ca vectorul coloană m 1, rezultat din înmulțirea ATuk să reprezinte tocmai cea de a i-a
coloană a matricei AT, respectiv cea de a i-a linie a matricei A. Dar, conform celor discutate
mai sus, linia i a lui A (adică aij, j=1,..., m) are semnificația schimbării marcajului rețelei ca
urmare a executării tranziției ti. Deci, revenind la vectorul coloană ATuk, acesta conține toate
2
schimbările de marcaj rezultate la a k-a executare din secvența considerată (executare ce s-a
presupus a avea loc în tranziția ti).
Pe de altă parte, schimbarea de marcaj în urma celei de-a k-a executări poate fi scrisă drept
MkMk-1, unde Mk-1, Mk notează marcajul după cea de-a (k-1)-a si respectiv a k-a executare
din secvența considerată.
Cum asupra lui k (ce referă executarea din secvență) si a lui i (ce referă tranziția unde are loc
această executare) nu au fost puse nici un fel de condiții, rezultă că, în general, schimbarea de
marcaj după cea de a k-a executare este descrisă de egalitatea:
și reprezintă ecuatia de stare (eng. state equation) a rețelei Petri. Vectorul uk se numește
vector de executare sau vector de control.
Exemplul
Fig. 1
3
Rezultatul M1=(3002)T se confirmă imediat si prin aplicarea regulii tranziției în
descrierea grafică.
În acest paragraf vom formula o serie de reguli de transformare care conservă proprietățile
fundamentale de viabilitate si mărginire (inclusiv cazul particular al 1-mărginirii, adică al
siguranței). Prezentăm aceste reguli drept echivalente, întrucât ele pot fi utilizate în scopul
reducerii complexității rețelei (în contextul problemelor de analiză, care urmăresc
simplificarea modelelor), sau în scopul expandării rețelei (în contextul problemelor de sinteză,
care urmăresc rafinarea modelelor). În fig. 2 sunt prezentate grafic aceste transformări
echivalente
1 poziții în serie - fig. 2(a)
2 tranziții în serie - fig. 2(b)
3 poziții în paralel - fig. 2(c)
4 tranzitii în paralel - fig. 2(d)
5 pozitie în buclă autonomă - fig. 2(e)
6 tranziție în buclă autonomă - fig. 2(f)
4
Notația u (cu indici) s-a folosit pentru arcele care intră în aceste structuri, iar notația y (cu
indici), pentru arcele care ies din aceste structuri.
Exemplul 3.2.6
Se consideră rețeaua Petri din fig. 3. Dacă se execută tranziția t2, marcajul devine cel
din fig. 3 (a). În această situație putem aplica regula 1 în sensul reducerii tranzițiilor
serie t1 si t2 la tranziția t12 si a reducerii tranzițiilor serie t3 si t4 la tranziția t34,
rezultând rețeaua din fig. 3(b).
a) Marcajul pentru rețeaua din fig. 3 (c) după executarea lui t2; b)
Rezultatul aplicării regulii 1 pentru rețeaua din fig. 3(a); c) Rezultatul
aplicării regulii 6 pentru rețeaua din fig. 3(b); d) Rezultatul aplicării
regulii 5 pentru rețeaua din fig. 3(c)
Prin aplicarea regulii 6 se elimină tranziția t12, obținând rețeaua din fig. 3(c).
Utilizarea regulii 5 permite eliminarea poziției p3, conducând la rețeaua din fig. 3(d).
Accesibilitate
Mulțimea tuturor marcajelor care pot fi atinse în rețeaua (N, M0), pornind din M0, se notează
prin R(N, M0), sau, simplu, prin R(M0), atunci când se subînțelege rețeaua N la care ne
referim. Mulțimea tuturor secvențelor de executare posibile î rețeaua (N, M0), pornind din M0,
se notează prin L(N, M0) sau, simplu, prin L(M0) atunci când se subînțelege rețeaua N la care
ne referim.
Mărginire
5
O rețea Petri (N, M0) se spune că este k-mărginită sau, pe scurt, mărginită (eng. bounded)
dacă numărul de jetoane din fiecare poziție nu depășește un număr finit k pentru orice marcaj
ce este accesibil din starea M0 (adică pentru orice secvență de executări de tranziții, pornind
de la marcajul M0). În limbaj matematic, aceasta revine la M(p) k pentru orice p si orice M
R (M0).
O rețea Petri (N, M0) se spune că este sigură (eng. safe) dacă ea este 1-mărginită.
Din punct de vedere practic, când rețeaua modelează un proces, proprietatea de mărginire
permite a studia eventualele depășiri ale unor capacități fizice de procesare/memorare a
informației sau de prelucrare/stocare a produselor. Mărginirea asigură nedepășirea anumitor
valori, indiferent de secvența de evenimente (adică tranziții executate).
Viabilitate
O rețea Petri (N, M0) se spune că este viabilă (eng. live) (sau, echivalent, M0 se spune că este
un marcaj viabil pentru N) dacă, indiferent de marcajul care a fost atins pornind din M0, este
posibil ca, în continuare, să fie executată orice tranziție t a rețelei. Până la executarea lui t
poate fi necesara , eventual, executarea unui număr finit de alte tranziții.
Un marcaj pentru care nici o tranziție a rețelei nu mai poate fi executată se numește deadlock.
În baza definiției viabilității se constată că o rețea viabilă operează fără deadlock. Pe de altă
parte, o rețea care nu este viabilă nu evoluează în mod obligatoriu către deadlock, existând
una sau mai multe tranziții care pot fi executate de o infinitate de ori.
Întrucât proprietatea de viabilitate, în formularea de mai sus, este suficient de restrictiva , s-a
căutat relaxarea ei, introducându-se mai multe grade de viabilitate, după cum urmează.
0 viabilă L0 (sau blocată), dacă t nu se mai poate executa în nici o secvență din L
(M0).
1 viabilă L1(potential executabilă), dacă t se mai poate executa cel putin o dată în
unele secvente din L(M0).
2 viabilă L2, dacă, pentru orice întreg k>0, t se mai poate executa de cel putin k ori în
unele secvente din L (M0).
3 viabilă L3, dacă t se mai poate executa de un număr infinit de ori pentru unele
secvente din L (M0).
4 viabilă L4 (sau viabilă) dacă t este viabilă L1 pentru orice secvență din L (M0).
Se spune că o tranziție este viabilă Lk strict, daca ea este viabila Lk dar nu este viabilă L(k+1),
pentru k = 1,2,3.
Se constată că între gradele de viabilitate introduse mai sus, există următoarea conditionare
logică de tip implicatie:
6
Notiunea de strictă viabilitate Lk se aplică la o rețea Petri (totalitatea tranzitiilor), păstrând
semnificatia introdusă anterior pentru o singura tranziție.
Exemplul .
Se consideră rețeaua Petri din fig. 4 (a). Rețeaua nu este viabilă, întrucât dacă se
execută t1 se ajunge la deadlock, (fig. 4 (b)), nici o altă tranziție nemaiputându-se
executa.
Se constată că, deși rețeaua (în totalitate) este viabilă L1 strict, tranziția t2 este viabilă
L2 strict. Într-adevăr secvența t2, t4, t5, t2 permite executarea lui t2 de două ori, după
care se ajunge la deadlock-ul din fig. 4 (d).
Reversibilitate
O rețea Petri (N M0) se spune că este reversibilă (eng. reversible), dacă pentru orice marcaj
M R(M0), marcajul inițial M0 este, la rândul sa u, accesibil când se pornește din M. Astfel,
într-o rețea reversibilă, întotdeauna este posibilă întoarcerea la marcajul inițial.
Din punct de vedere practic, când rețeaua modelează un proces, proprietatea de reversibilitate
permite a studia repetabilitatea desfășurării anumitor activități sau a apariției anumitor condiții.
Acoperire
Un marcaj M în rețeaua Petri (N, M0) se spune că este acoperibil (eng. coverable), dacă există
un marcaj M' R(M0) astfel încât M'(p) M(p) pentru fiecare pozitie p a rețelei.
Acoperirea este în strânsă conexiune cu viabilitatea L1. Să notăm prin M marcajul minim
necesar pentru a valida o tranziție t. Astfel, faptul că tranziția t este invalidată (nu este viabilă
L1) este tot una cu faptul că marcajul M nu este acoperibil. Într-o formulare echivalentă avem:
tranziția t este viabilă L1 dacă si numai dacă M este acoperibil. Pentru ilustrarea acestei
legături între viabilitatea L1 si proprietatea de acoperire se pot relua exemplele din paragraful
anterior.
Persistentă
O rețea Petri (N, M0) se spune că este persistentă (eng. persistent) dacă pentru oricare două
tranziții validate, executarea uneia dintre ele nu invalidează pe cea de a doua. Așadar într-o
rețea persistentă, o tranziție, odată ce a fost validată, rămâne validată până la executarea ei.
Distantă sincronă
Fie t1 si t2 două tranziții ale rețelei (N, M0). Se numește distantă sincronă (eng. synchronic
distance) între t1 si t2 numărul (finit sau nu):
notează o secvență de executări pornind din orice marcaj unde M R(M0), iar ,
notează numărul de executări ale tranziției t1, t2 în secvența de executări.
Din punct de vedere practic, când rețeaua modelează un proces de tipul condiții-evenimente,
distanta sincronă constituie o metrică pentru gradul de dependentă mutuală dintre două
evenimente.
O submulțime de poziții S ale unei rețele Petri ordinare se numește zăvor sau sifon (eng.
siphon) dacă fiecare tranziție ce are o poziție de ieșire în S posedă și o poziție de intrare în S.
Echivalent, utilizând notația de precedentă si succesiune, avem:
8
Pentru ilustrare, a se vedea fig. 5 (a), î n care sifonul S={p1, p2, p3} se caracterizează prin
S{t1} si S {t1, t2}.
O submulțime de poziții Q ale unei rețele Petri ordinare se numește capcană (eng. trap) dacă
fiecare tranziție ce are o poziție de intrare î n Q posedă și o poziție de ieșire î n Q. Echivalent,
utilizând notația de precedentă si succesiune, avem:
Pentru ilustrare, a se vedea fig. 5 (b), în care capcana Q ={p1, p2, p3} se caracterizează prin
Q ={t1} si Q {t1, t2}.
Un sifon se numește sifon de bază (sau fundamental) dacă nu poate fi reprezentat drept o
reuniune de alte sifoane. Similar, o capcană se numește capcană de bază (sau fundamentală)
dacă nu poate fi reprezentată drept o reuniune de alte capcane. Toate sifoanele (capcanele)
unei rețele Petri ordinare pot fi reprezentate drept reuniuni ale unor sifoane (capcane) de bază.
9
Un sifon (capcană) se numește minimal(ă) dacă nu conține nici un alt sifon (nici o altă
capcană). Sifoanele (capcanele) minimale sunt si sifoane (capcane) de bază, dar nu toate
sifoanele (capcanele) de bază sunt minimale.
Exemplul.
{p1} {t2, t3}, {p1}={t1} {p1} nu este nici sifon, nici capcană;
{p3} {t4}, {p3}{t1, t2} {p3} nu este nici sifon, nici capcană;
{p1, p2} {t1, t2, t3}, {p1, p2}{t1, t4} {p1, p2} nu este nici sifon, nici capcană;
{p2, p3} {t1, t4}, {p2, p3}{t1, t2, t4} {p2, p3} este capcană;
{p3, p4} {t4}, {p3, p4}{t1, t2, t3} {p3, p4} nu este nici sifon, nici capcană;
{p1, p4} {t2, t3, t4}, {p1, p4}{t1, t3} {p1, p4} nu este nici sifon, nici capcană;
{p1, p3} {t2, t3, t4}, {p1, p3}{t1, t2} {p1, p3} nu este nici sifon, nici capcană;
{p2, p4} {t1, t4}, {p2, p4}{t3, t4} {p2, p4} nu este nici sifon, nici capcană.
{p1, p2, p3} {t1, t2, t3, t4}, {p1, p2, p3}{t1, t2, t4} {p1, p2, p3} este sifon;
{p2, p3, p4} {t1, t4}, {p2, p3, p4}{t1, t2, t4} {p2, p3, p4} este capcană;
{p1, p3, p4} {t2, t3, t4}, {p1, p3, p4}{t1, t2, t3} {p1, p3, p4} nu este nici sifon,
nici capcană;
{p1, p2, p4} {t1, t2, t3, t4}, {p1, p2, p4}{t1, t3, t4} {p1, p2, p4} este sifon.
10
{p1, p2, p3, p4} {t1, t2, t3, t4}, {p1, p2, p3, p4}{t1, t2, t3, t4} {p1, p2, p3, p4}
este sifon si capcană.
Se constată că {p1, p2, p3} si {p1, p2, p4} sunt sifoane de bază și sifoane minimale.
Sifonul {p1, p2, p3, p4} nu este sifon de bază întrucât el poate fi reprezentat ca
reuniunea sifoanelor {p1, p2, p3} {p1, p2, p4}; rezultă așadar că nu este nici sifon
minimal.
Capcanele {p2, p3}, {p2, p3, p4} si {p1, p2, p3, p4} sunt capcane de bază întrucât nici
una din ele nu poate fi reprezentată drept o reuniune de alte două capcane. În schimb,
capcanele {p2,p3,p4} si {p1,p2,p3,p4} nu sunt capcane minimale, deoarece {p2,p3,p4}
conține capcana {p2, p3}, iar {p1, p2, p3, p4} conține capcanele {p2, p3} si {p2, p3,
p4}.
11