Sunteți pe pagina 1din 113

Principii generale ale

modelarii
Terminologie si concepte fundamentale
in formalismul retelelor PETRI
netemporizate

 Construirea modelelelor netemporizate stã la baza


analizei si sintezei sistemelor dinamice cu
evenimente discrete si are drept obiectiv
descrierea de tip calitativ (logic) a dinamicii
acestora.
 Formalismul retelelor Petri netemporizate oferã
unul dintre cele mai performante instrumente
utilizate în acest scop.
 Notiuni primare din teoria matematicã
a retelelor Petri netemporizate.

 Functionarea unor clase de procese


fizico-tehnice concrete, pilotate de
evenimente.
Terminologie si concepte fundamentale în
formalismul retelelor Petri netemporizate

 Definitiile si conceptele care stau la baza


formalismului matematic al retelelor Petri
netemporizate. Aceste notiuni fundamentale vor fi
utilizate pe parcursul întregului curs.

 Studii monografice: (Peterson, 1981), (Reisig, 1985),


(Murata, 1989), (David et Alla, 1992), (Cassandras,
1993). În limba româna pot fi consultate referintele
bibliografice (Calin s.a., 1988) si (Stanescu s.a., 1996).
Retele Petri
Domenii de aplicabilitate:

 Protocoale de comunicare, retele


 Sisteme software si hardware
 Algoritmi distribuiti
 Protocoale de securitate
 Biologie, Chimie, Medicina
 Economie (fluxuri de lucru)
 etc..
 2.1.1. Definitia retelei Petri netemporizate
 O retea Petri (eng. Petri net) se compune dintr-un tip particular
de graf orientat notat N si o stare initialã M0, denumitã
marcaj initial (eng. initial marking).
 Graful N al retelei Petri este orientat, ponderat si bipartit,
constând din douã tipuri de noduri, denumite pozitii sau
locatii (eng. place) si respectiv tranzitii (eng. transition);
 arcele pleacã fie de la o pozitie la o tranzitie, fie de la o tranzitie
la o pozitie.
 Nu exista arce care sa conecteze doua pozitii între ele, sau
doua tranzitii între ele!

Ca simbolizare graficã, pozitiile se reprezintã prin cercuri, iar


tranzitiile prin bare sau dreptunghiuri.
 Arcele sunt etichetate cu ponderile lor (valori
întregi, pozitive);
 un arc cu ponderea k poate fi privit ca o multime de k arce paralele cu o
pondere unitarã. Etichetele pentru pondere unitarã se omit în reprezentãrile
grafice uzuale.
 Un marcaj sau o stare atribuie fiecãrei pozitii un
numãr întreg mai mare sau egal cu 0.
 Dacã un marcaj atribuie pozitiei p întregul k , se spune
cã p este marcat cu k jetoane (eng. token).
 Din punct de vedere grafic, în cercul corespunzãtor pozitiei p se vor plasa k
discuri.
 Orice marcaj M este un vector m-dimensional, unde
m noteazã numãrul total al pozitiilor; componenta i a
vectorului M = [M(p1) M(p2) … M(pm)]T a lui M, notatã
M(pi) semnificã numãrul de jetoane din pozitia p.
În problemele de modelare ce utilizeazã conceptele de
conditii si evenimente,
pozitiile reprezintã conditii si
tranzitiile reprezintã evenimente.

O tranzitie (eveniment) posedã un numãr de pozitii


de intrare si iesire, care reprezintã pre-conditii si
respectiv post-conditii pentru evenimentul în cauzã.

Prezenta unui jeton într-o pozitie trebuie înteleasã ca


valoare logicã "adevãrat" pentru conditia asociatã
respectivei pozitii.
  Aspectele prezentate anterior se formalizeazã matematic prin
urmãtoarea definitie:

 O retea Petri este un cvintuplu, PN = (P, T, F, W, M0) în care:


 P = {p1 , p2 , …, pm } este o multime finitã de pozitii;

 T = {t1 , t2 , …, tn } este o multime finitã de tranzitii;

 este o multime de arce;

 W: F → { 1, 2, 3, …}este o functie de ponderare a arcelor;

 M0 : P → {1, 2, 3, …} este o functie de marcaj initial.


 Câteva comentarii sunt necesare pentru a aprofunda detaliile
acestei formalizãri:
 1) Multimile P si T sunt disjuncte P∩T={Ø}

 2) Pentru a asigura obiectul definitiei de mai sus,


multimile P si T satisfac conditia PUT≠{Ø}

 3) Definitia functiei de ponderare se poate extinde pe


multimea tuturor perechilor ordonate din (PXT)U(TXP) →{1,
2, 3, …}, cu observatia ca pentru acele perechi care nu sunt
in multimea F, valoarea functiei W este 0 si aceste perechi
nu sunt reprezentate grafic. Multimea F corespunde
perechilor a caror pondere este nenula si numai acestea
sunt reprezentate grafic.
4) Definitia unei retele Petri considera implicit ca toate
pozitiile retelei pot contine un numar oricat de mare
de jetoane. Se spune ca reteaua este cu capacitate
infinita.

5) O structurã de retea Petri N = (P, T, F, W} fãrã nici


o specificatie referitoare la marcaj se va nota cu N,
notatie care desemneazã topologia retelei.

6) O retea Petri cu un marcaj initial M0 se va nota prin


(N, M0).

7) O retea Petri cu un marcaj oarecare M se va nota


prin (N, M).
 Exemplul 2.1.1.
 Se considerã reteaua Petri definitã prin:

 P= {p1 ,p2 ,p3 } , T = {t};

 F= {(p1 ,t), (p2 ,t)} U {(t ,p3 )};

 W(p1 ,t) = 2 , W(p2 ,t) = 1 , W(t ,p3 ) = 2

 M0 (p1 ) = 2 , M0 (p2 ) = 2 , M0 (p3 ) = 0

 Reprezentarea graficã a retelei este datã în fig. 2.1.1 (a)


 2.1.2. Validarea si executarea tranzitiilor (dinamica retelelor
Petri)
 Marcajul unei retele Petri are semnificatie de stare a retelei si
se poate modifica în conformitate cu urmãtorul procedeu
denumit regula tranzitiei (validare si executare):
 a) O tranzitie t se spune cã este validatã (eng. enabled) dacã fiecare
pozitie de intrare p a lui t este marcatã cu cel putin W(p, t) jetoane, unde
W(p, t) noteazã ponderea arcului de la p la t.
 b) O tranzitie validatã poate sau nu sã fie executatã sau declansatã
(eng. fire), dupã cum evenimentul asociat tranzitiei are sau nu loc.
 c) Executarea unei tranzitii validate, t, îndepãrteazã W(p, t) jetoane din
fiecare pozitie de intrare p a lui t si adaugã W(t, p) jetoane la fiecare pozitie
de iesire p a lui t, unde W(t, p) este ponderea arcului de la t la p.
 O tranzitie fãrã nici o pozitie de intrare se numeste tranzitie
sursã (eng. source). O tranzitie fãrã nici o pozitie de iesire se
numeste tranzitie receptor (eng. sink).
Modul de operare al acestor tranzitii este urmãtorul:
 a) O tranzitie sursã este neconditionat validatã (fãrã a fi
obligatoriu ca sã se execute!). Executarea ei produce
jetoane.
 b) Executarea unei tranzitii receptor consumã jetoane, fãrã a
produce.
 Dacã o pozitie p este atât pozitie de intrare, cât si pozitie de
iesire pentru o tranzitie t, atunci p si t formeazã o buclã
autonomã (eng. self-loop). O retea Petri care nu contine
bucle autonome se numeste purã.
 O bucla autonoma poate fi intotdeauna transformata intr-o bucla
neautonoma prin adaugarea simultan a unei pozitii si a unei
tranzitii formale. Orice retea impura poate fi transformata intr-o
retea pura.
 O retea Petri se numeste ordinarã dacã toate arcele sale au pondere
unitarã.
 Daca intr-o retea Petri exista cel putin un arc a carui pondere este mai
mare decat 1, atunci se spune ca reteaua respectiva este generalizata.
Vom considera cã:
- executarea unei tranzitii nu consumã timp si cã
- jetoanele pot rãmâne în pozitii pentru orice duratã de timp
(oricât de micã sau oricat de mare).

Întrucât executarea unei tranzitii este instantanee, se


considerã cã tranzitiile se executã numai secvential, adicã
nu se poate vorbi de douã tranzitii executate simultan (sau în
paralel).
Aceste presupuneri fac ca modelul de tip retea Petri
netemporizatã sã fie utilizat numai pentru investigarea
proprietãtilor logice, calitative, care nu depind de timp.
Exemplul 2.1.2.
 Se considerã reteaua Petri din Exemplul 2.1.1 (fig. 2.1.1
(a)).
 Tranzitia t este validatã si executarea ei conduce la
marcajul: M(p1) = 0 , M(p2) = 1 , M(p3) = 2 reprezentat în fig.
2.1.1 (b).

Fig. 2.1.1. Reteaua Petri utilizatã în Exemplele 2.1.1 si 2.1.2


a) Marcajul înainte de executarea lui t; b) Marcajul dupã executarea lui t
 Multime predecesor (multimea tuturor pozitiilor/tranzitiilor de
intrare) si multime succesor (multimea tuturor
pozitiilor/tranzitiilor de iesire) a unei pozitii p sau tranzitii t
2.1.3. Retele Petri cu capacitate finitã si infinitã

- Pentru regula de validare a unei tranzitii (ce a fost


prezentatã anterior) s-a presupus cã fiecare pozitie
poate contine un numãr nelimitat de jetoane.
- O astfel de retea Petri se numeste cu capacitate
infinitã.
- În modelarea sistemelor fizice este firesc a considera
o limitã superioarã a numãrului de jetoane pe care îl
poate contine fiecare pozitie.
- O astfel de retea se numeste cu capacitate finitã.
- Într-o retea cu capacitate finitã (N, M0), fiecãrei
pozitii p i se asociazã capacitatea pozitiei, notata K(p),
definitã ca numãrul maxim de jetoane ce pot fi
continute în p.
 Într-o retea cu capacitate finitã, pentru validarea unei tranzitii
t este necesarã urmãtoarea conditie suplimentarã:
numãrul de jetoane în fiecare pozitie de iesire p a lui t
nu poate sã depaseascã capacitatea pozitiei respective,
K(p), atunci când t se executã.
 În acest caz regula tranzitiei se va numi regula strictã a
tranzitiei spre a o deosebi de cea enuntatã în paragraful
2.1.2, care mai este uneori referitã drept regula simplã a
tranzitiei.

 Fiind datã o retea Petri de capacitate finitã (N, M0) este


posibil de aplicat fie regula strictã a tranzitiei direct pentru
reteaua (N, M0), fie regula simplã a tranzitiei pentru o retea
transformatã adecvat, notata (N', M‘0).
 Presupunând cã reteaua N este purã, urmãtorul algoritm
permite constructia retelei (N', M‘ 0) plecând de la (N, M0), prin
metoda pozitiilor complementare:

 Pas 1. Pentru fiecare pozitie p, se adaugã o pozitie complementarã p', al


cãrei marcaj initial este dat de M‘0(p') = K(p) – M0 (p).

 Pas 2. Între fiecare tranzitie t si unele pozitii complementare p' se traseazã


arce suplimentare, (t,p') sau (p',t), cu ponderile W(t, p') = W(p,t), respectiv
W(p',t) = W(t,p), astfel încât suma jetoanelor în pozitia p si în pozitia
complementarã corespunzãtoare p' sã fie egalã cu capacitatea K(p), atât
înainte, cât si dupã executarea tranzitiei t (adica sa se asigure satisfacerea
conditiei M(p)+M'(p‘)=K(p)).

 Subliniem faptul cã metoda nu adaugã tranzitii suplimentare. Grafurile


de accesisbilitate ale retelelor (N, M0) si (N', M‘ 0) sunt izomorfe in sensul ca
prezinta aceleasi secvente posibile de executare a tranzitiilor.
Retele cu probabilitati si prioritati

In unele modele de tip retea Petri doua sau mai multe tranzitii modeleaza
evenimente dintre care unul si numai unul se poate produce la un moment dat
(in conflict).

Implicit se considera ca probabilitatile de aparitie a acestor evenimente sunt


egale. In cazul in care aceasta presupunere nu este in conformitate cu sistemul fizic
modelat, probabilitatile de aparitie a evenimentelor in conflict pot fi asignate in
mod explicit ca probabilitati de executareca tranzitiilor care modeleaza
evenimentele respective (AP 2.5)

De asemenea, atunci cand se doreste a impune modul de alegere a tranzitiei care


urmeaza a fi executata dintre doua sau mai multe tranzitii validate simultan se poate
utiliza o retea Petri cu prioritati care consta dintr-o retea Petri obisnuita si o retea
partiala intre tranzitiile retelei (AP 2.3)
Retele cu arce inhibatoare

Introducerea arcelor inhibatoare extinde capacitatea de modelare a


retelelor Petri.
Un arc inhibitor conecteaza o pozitie la o tranzitie si are rolul de a
inversa logica de validare si executare a acesteia.
Tranzitia respectiva este validata numai daca numarul de jetoane din
pozitia de intrare a arcului inhibitor este strict mai mic decat
ponderea arcului.
Arcul inhibitor se reprezinta grafic printr-un segment ce conecteaza
cele doua noduri, avand un mic cerc la capatul dinspre tranzitia
inhibata.
Nu exista arce inhibitoare care conecteaza o tranzitie la o pozitie
 Exemplul 2.1.3.
 Se considerã reteaua cu capacitate finitã (N, M0) din fig. 2.1.2
(a), cãreia i se aplicã regula strictã a tranzitiei.
 Pentru marcajul M0 = (1,0) considerat, singura tranzitie validatã
este t1 (ca tranzitie sursã). Dupã executarea lui t1, se obtine
M1 = (2 0) si tranzitiile t2 si t3 devin validate. În aceastã situatie se
poate executa fie t2, fie t3, executarea uneia dintre ele atrãgând
invalidarea celeilalte.
(A se reflecta asupra faptului cã nu orice tranzitie validatã se
executã în mod obligatoriu!)

 Fig. 2.1.2
 Dacã se executã t2, marcajul devine M2 = (0 0); dacã se
executã t3, marcajul devine devine M3 = (0 1) etc. Urmãrind
executarea secventialã a tranzitiilor, se pot gãsi marcajele
succesive ale retelei, proces descriptibil într-o maniera
sintetica printr-un graf (diferit de graful retelei Petri!), ce
poartã denumirea de graf de accesibilitate (eng. reachability
graph). Graful de accesibilitate al retelei din fig. 2.1.2 (a) este
prezentat în fig. 2.1.2 (b). Recomandãm ca exercitiu de
manipulare a regulii stricte a tranzitiei construirea acestui
graf.
Fig. 2.1.2. Retele Petri si grafurile de accesibilitate pentru Exemplul 2.1.3
a) Reteaua (N, M0) cu capacitate finitã; b) Graful de accesibilitate al retelei (N, M0), obtinut prin aplicarea regulei stricte a tranzitiei;
c) Reteaua (N', M'0) cu capacitate infinitã; d) Graful de accesibilitate al retelei (N', M'0) obtinut prin aplicarea regulei simple a
tranzitiei
 Sã comentãm acum modul de construire a retelei transformate
(N',M‘0) din fig. 2.1.2 (c), rezultatã din reteaua initialã (N,M0),
prin aplicarea metodei pozitiilor complementare.

 Pas 1. Adãugãm pozitiile complementare p‘11 si p‘22, precum si
marcajul initial
marcajul initial aferent
aferent acestor
acestor noi
noi pozitii
pozitii si
si anume:
anume:

 Pas 2. Adãugãm arce noi între fiecare tranzitie t si unele pozitii


complementare, astfel încât sã mentinem aceeasi sumã de jetoane (si
anume K(pi), i = 1,2) în fiecare pereche de pozitii complementare pi si p‘i,
atât înainte, cât si dupã executarea tranzitiei t.
 De exemplu, în cazul lui t1, deoarece W(t1, p1) = 1, rezultã
W(p‘1, t1) = 1. În cazul lui t3, avem W(t3, p‘1) = W(p1, t3) = 2 si
W(p‘2, t3) = W(t3, p2) = 1, întrucât executarea lui t3 îndepãrteazã
douã jetoane din p1 si adaugã un jeton în pozitia p2 (a se
remarca ponderile diferite ale celor douã arce!). Transformarea
se încheie dupã ce se adaugã si arcele noi, corespunzãtoare
tranzitiilor neluate încã în discutie (adicã t2 si t4), operatii pe
care le recomandãm drept exercitiu.
 În final, ne propunem sã investigãm comportarea retelei (N',M'0) rezultate în
urma transformãrii. În reteaua (N',M'0) se aplicã regula simplã a tranzitiei.
 Recomandãm, drept exercitiu, construirea grafului de acesibilitate al retelei
(N',M'0).
 Acesta este prezentat în fig. 2.1.2 (d), putându-se constata cã el este
izomorf cu cel al retelei initiale (desenat în fig. 2.1.2 (b)). Cu alte cuvinte,
cele douã retele (N,M0) si respectiv (N',M'0) sunt echivalente
comportamental, ambele prezentând aceleasi secvente de executare a
tranzitiilor.
 Teorema 2.1.1. Fie (N, M0) o retea purã, cu
capacitate finitã, cãreia i se aplicã regula
strictã a tranzitiei. Fie (N', M‘ 0) reteaua
obtinutã prin transformarea lui (N, M0),
utilizând metoda pozitiei complementare.
 În (N', M‘ 0) se aplicã regula simplã a
tranzitiei. Retelele (N, M0) si (N', M‘ 0) sunt
echivalente în sensul cã ambele posedã
aceeasi multime de secvente posibile
pentru executarea tranzitiilor.
 În baza teoremei de mai sus, se constatã cã utilizarea regulii
stricte a tranzitiei într-o retea cu capacitate finitã, poate fi
întotdeauna înlocuitã prin utilizarea regulii simple a tranzitiei
într-o retea cu capacitate infinitã.
 Din acest motiv vom prefera sã organizãm materialul
expus în termenii retelelor cu capacitate infinitã si sã
folosim regula simplã a tranzitiei. Acest mod de prezentare
este de fapt cel întâlnit în majoritatea manualelor si studiilor
monografice.
 Mai atragem atentia cã îndeplinirea conditiei din Teorema
2.1.1 care cere ca reteaua sã fie purã nu este criticã, fiindcã
orice buclã autonomã poate fi transformatã într-o buclã
neautonomã dupã cum reiese din exemplul urmãtor.
 Exemplul 2.1.4.
 Se considerã reteaua Petri impurã din fig. 2.1.3 (a). Bucla autonomã poate fi
transformatã într-o buclã neautonomã prin adaugarea simultan a unei pozitii
si a unei tranzitii formale (eng. dummy), conform fig. 2.1.3 (b), ceea ce
transformã reteaua impurã într-o retea purã.
 Concret, în bucla autonomã (t2, p4) se adaugã tranzitia t3 si pozitia p6, bucla
devenind neautonomã. O astfel de buclã neautonomã este referitã simplu
drept "buclã" sau "circuit", fãrã nici un alt atribut .

Fig. 2.1.3. Retelele Petri utilizate în


Exemplul 2.1.4
a) Retea impurã; b) Retea purã
 2.2. Structuri tipice utilizate în modelarea cu retele Petri a sistemelor
cu evenimente discrete

 Se prezinta facilitãtile de modelare oferite de retelele Petri. Abordarea


acestor facilitãti conduce în mod natural, la identificarea unor structuri
cu rol tipic în modelare, a cãror utilizare practicã va fi ilustratã si
comentatã în sectiunea 2.4, destinatã aplicatiilor. Mai precizãm faptul cã
aceste structuri vor fi referite ulterior, în capitolul 3, sectiunea 3.3, când ne
vom ocupa de organizarea retelelor Petri pe subclase, caracterizate prin
existenta unor proprietãti comune.

 Notiunile prezentate în sectiunea de fata pot fi regãsite, în diferite maniere


de formulare, si în diferite referinte bibliografice.
Fig. 2.2.1. Structuri tipice utilizate în modelarea cu retele Petri
a) Conflict, decizie sau alegere liberã; b) Alegere liberã extinsã; c) Alegere asimetricã;
d) Paralelism sau concurentã; e) Confuzie simetricã;f) Confuzie asimetricã; g)
Sincronizare; h) Post-conditie comunã
 2.2.1. Conflict, decizie sau alegere liberã
 Douã evenimente e1 si e2 sunt în conflict dacã pot apãrea atât e1 cât si e2, dar nu
pot apãrea amândouã simultan.
 În fig. 2.2.1 (a) se prezintã o structurã care modeleazã conflictul dintre
evenimentele e1 si e2, materializate prin tranzitiile t1 si respectiv t2. Ambele tranzitii
sunt validate dar numai una dintre ele se poate executa, executia uneia conducând
la invalidarea celei de-a doua. În functie de natura aplicatiei, structura din fig. 2.2.1
(a) mai poate modela procesul de luare a unei decizii, sau o alegere liberã. Din
acest motiv structura se numeste conflict, decizie sau alegere liberã.
 Fig. 2.2.1. Structuri tipice utilizate în modelarea cu retele Petri
 a) Conflict, decizie sau alegere liberã; b) Alegere liberã extinsã; c) Alegere asimetricã; d) Paralelism sau concurentã; e)
Confuzie simetricã;f) Confuzie asimetricã; g) Sincronizare; h) Post-conditie comunã
 2.2.2. Alegere liberã extinsã
 În fig. 2.2.1 (b) ambele tranzitii t1 si t2 sunt validate, dar numai una dintre ele se va
executa, conducând la invalidarea celeilalte. Executarea uneia (si numai uneia) din
cele douã tranzitii va consuma jetoanele din p1 si p2. Întrucât are loc o alegere
privind executarea lui t1 sau t2, structura din fig. 2.2.1 (b) este denumitã alegere
liberã extinsã, pentru a o deosebi de alegerea liberã prezentatã în paragraful
2.2.1.
 Fig. 2.2.1. Structuri tipice utilizate în modelarea cu retele Petri
 a) Conflict, decizie sau alegere liberã; b) Alegere liberã extinsã; c) Alegere asimetricã; d) Paralelism sau concurentã; e)
Confuzie simetricã;f) Confuzie asimetricã; g) Sincronizare; h) Post-conditie comunã
 2.2.3. Alegere asimetricã
 În fig. 2.2.1 (c) ambele tranzitii t1 si t2 sunt validate, dar numai una dintre
ele se va executa, conducând la invalidarea celeilalte. Întrucât are loc o
alegere privind executarea lui t1 sau t2, structura din fig. 2.2.1 (c) este
denumitã alegere asimetricã, pentru a o deosebi de alegerea liberã si
alegerea liberã extinsã, prezentate în paragrafele 2.2.1 si respectiv 2.2.2.
 Fig. 2.2.1. Structuri tipice utilizate în modelarea cu retele Petri
 a) Conflict, decizie sau alegere liberã; b) Alegere liberã extinsã; c) Alegere asimetricã; d) Paralelism sau concurentã; e)
Confuzie simetricã;f) Confuzie asimetricã; g) Sincronizare; h) Post-conditie comunã
 2.2.4. Paralelism si concurentã
 În fig. 2.2.1 (d), ambele pozitii p1 si p2 primesc câte un jeton în urma
executãrii tranzitiei t, putând modela douã activitãti care se desfãsoarã în
paralel. De asemenea tranzitiile t1 si t2 se pot executa independent,
indiferent de ordine, modelând douã evenimente concurente, ce apar fãrã
a genera conflict. Structura din fig. 2.2.1 (d) se numeste paralelism sau
concurentã.
 Fig. 2.2.1. Structuri tipice utilizate în modelarea cu retele Petri
 a) Conflict, decizie sau alegere liberã; b) Alegere liberã extinsã; c) Alegere asimetricã; d) Paralelism sau concurentã; e)
Confuzie simetricã;f) Confuzie asimetricã; g) Sincronizare; h) Post-conditie comunã
 2.2.5. Confuzie
 Situatiile caracterizate atât prin concurentã cât si prin conflict sunt denumite
confuzii. În fig. 2.2.1 (e) se prezintã o structurã denumitã confuzie
simetricã: evenimentele corespunzãtoare lui t1 si t2 sunt concurente, în
timp ce fiecare din aceste evenimente este în conflict cu evenimentul
corespunzãtor lui t3. În fig. 2.2.1 (f) se prezintã o structurã denumitã
confuzie asimetricã: t1 este concurent cu t2, dar t1 va fi în conflict cu t3, dacã
t2 se executã înaintea lui t1.
 Fig. 2.2.1. Structuri tipice utilizate în modelarea cu retele Petri
 a) Conflict, decizie sau alegere liberã; b) Alegere liberã extinsã; c) Alegere asimetricã; d) Paralelism sau concurentã; e)
Confuzie simetricã;f) Confuzie asimetricã; g) Sincronizare; h) Post-conditie comunã
 2.2.5. Confuzie
 Situatiile caracterizate atât prin concurentã cât si prin conflict sunt denumite
confuzii. În fig. 2.2.1 (e) se prezintã o structurã denumitã confuzie
simetricã: evenimentele corespunzãtoare lui t1 si t2 sunt concurente, în timp
ce fiecare din aceste evenimente este în conflict cu evenimentul
corespunzãtor lui t3. În fig. 2.2.1 (f) se prezintã o structurã denumitã
confuzie asimetricã: t1 este concurent cu t2, dar t1 va fi în conflict cu t3,
dacã t2 se executã înaintea lui t1.
 Fig. 2.2.1. Structuri tipice utilizate în modelarea cu retele Petri
 a) Conflict, decizie sau alegere liberã; b) Alegere liberã extinsã; c) Alegere asimetricã; d) Paralelism sau concurentã; e)
Confuzie simetricã;f) Confuzie asimetricã; g) Sincronizare; h) Post-conditie comunã
 2.2.6. Sincronizare
 În fig. 2.2.1 (g) se prezintã structura de sincronizare: pozitiile p1 si p2
reprezintã douã activitãti care se pot desfãsura în paralel si a cãror
încheiere trebuie corelatã (prin executarea tranzitiei t, se extrage câte un
jeton atât din p1 cât si din p2).
 Fig. 2.2.1. Structuri tipice utilizate în modelarea cu retele Petri
 a) Conflict, decizie sau alegere liberã; b) Alegere liberã extinsã; c) Alegere asimetricã; d) Paralelism sau concurentã; e)
Confuzie simetricã;f) Confuzie asimetricã; g) Sincronizare; h) Post-conditie comuna
 2.2.7. Post-conditie comunã
 În fig. 2.2.1 (h) se prezintã structura de post-conditie comunã: tranzitiilor t1
si t2 le sunt asociate douã evenimente care se pot produce independent,
aparitia oricãruia dintre ele conducând la satisfacerea conditiei asociate
pozitiei p. Prin executarea oricãreia din tranzitiile t1 sau t2 se introduce un
jeton în p.
 Fig. 2.2.1. Structuri tipice utilizate în modelarea cu retele Petri
 a) Conflict, decizie sau alegere liberã; b) Alegere liberã extinsã; c) Alegere asimetricã; d) Paralelism sau concurentã; e) Confuzie
simetricã;f) Confuzie asimetricã; g) Sincronizare; h) Post-conditie comuna
 2.3. Studiu comparativ privind utilizarea modelelor tip
automat si tip retea Petri

 Obiectivul sectiunii constã în a aborda problematica


construirii modelelelor netemporizate pentru procesele
pilotate de evenimente, prin prisma posibilitãtii de a utiliza
douã tipuri de reprezentãri: retelele Petri si automatele.

 Aspectele avute în vedere de cãtre acest studiu comparativ


se limiteazã, la nivelul conceptelor fundamentale ce definesc
cele douã tipuri de reprezentãri.
 2.3.1. Modele tip automat pentru sistemele cu
evenimente discrete
 Automatele pot fi utilizate pentru modelarea
sistemelor dinamice cu evenimente discrete.
Afirmatia o vom sustine prin câteva comentarii
referitoare la definitia automatului.

 Un automat (eng. automaton) este un


cvintuplu (E, X, Γ, f, x0) în care semnificatia
obiectelor matematice este urmãtoarea:
cvintuplu (E, X, Γ, f, x0)
 E este multimea evenimentelor (multime numãrabilã).
 X este spatiul stãrilor (multime numãrabilã).
 Γ (x) este multimea evenimentelor posibile (care se pot
produce) în starea x ∈ X (privitã ca oarecare); Γ(x) e inclusa in
E . (Cu alte cuvinte, aparitia evenimentelor din E este
dependentã de starea curentã a sistemului x.)
 f este functia de tranzitie a stãrii:

definitã numai pentru e ∈Γ(x), atunci când starea este x;


f(x,e) nu este definitã pentru e ∉ Γ(x). Starea x' noteazã starea
în care tranzitioneazã automatul aflat în starea x, ca urmare a
producerii evenimentului e∈Γ(x). Cu alte cuvinte, problema
tranzitiei dintr-o stare x într-o altã stare x' se pune numai
pentru evenimente posibile în starea x.
 x0∈ X este starea initialã.
 Oricãrui automat i se poate atasa si o iesire,
situatie când automatul este definit printr-un
septuplu (E, X, Γ, f, x0, Y, g), unde E, X, Γ, f, x0
pãstreazã semnificatiile anterior comentate, la care
se adaugã obiectele definite mai jos:
 Y este multimea iesirilor.
 g este functia iesirii:

 definitã numai pentru e∈ Γ(x), atunci când starea


este x; g(x,e) nu este definitã pentru e nu apartine lui
Γ(x).
 Formalizarii matematice prezentate anterior îi corespunde o
reprezentare grafica de tip graf orientat, denumita diagrama
de tranzitii, în care nodurile au semnificatia stãrilor, iar
fiecare arc orientat este etichetat cu evenimentul 'e' care
declanseazã tranzitia dintre cele douã stãri unite prin arcul
respectiv (adicã x si x'). În cazul când este definitã si iesirea
automatului, arcul orientat ce porneste din nodul x si
corespunde evenimentului e∈Γ (x) va primi o a doua etichetã
cu valoarea iesirii y=g(x,e), separatã prin virgulã de eticheta
'e'. Facem precizarea cã în aceste reprezentãri grafice,
restrictia aplicatiilor f si g la evenimentele posibile în starea x
(adicã e∈Γ (x)) se traduce prin faptul cã din nodul x al
grafului, nu pornesc arce corespunzând tuturor elementelor
lui E, ci numai arce corespunzând elementelor din Γ(x) inclus
in E (multime dependentã de x).
 Exemplul 2.3.1.
 Se considerã un sistem cu evenimente discrete a cãrui
comportare poate fi descrisã prin automatul definit mai jos:

 Diagrama de tranzitii este reprezentatã prin graful orientat din fig. 2.3.1.
Se constatã cã din fiecare nod x∈ {A,B,C} al grafului orientat porneste un
numãr de arce orientate egal cu cardinalitatea multimii Γ(x) (numãrul de
elemente al lui Γ(x)).

 Fig. 2.3.1. Diagrama de tranzitii a automatului din Exemplul 2.3.1


 2.3.2. Legãturi intre modelele tip automat si tip retea Petri
 În Exemplul 2.1.3 din sectiunea 1 (pag. 23) am atasat unei retele Petri un
graf de accesibilitate care transpune mecanismul de functionare al retelei
Petri într-o descriere de tip automat: nodurile grafului orientat reprezintã
stãrile sistemului (adicã marcajul retelei), iar fiecare arc orientat este
etichetat cu evenimentul care produce schimbarea de stare
corespunzãtoare (adicã executarea unei tranzitii a retelei).
 Analizând, intuitiv, modul cum s-a realizat asocierea automatului, fãrã a
intra în detalii tehnice de demonstratie, constatãm cã pentru orice retea
Petri se poate construi un automat care pune în evidentã aceeasi
dinamicã pilotatã de evenimente.
 Precizãm, în clar, cã o asemenea constructie este posibilã si în cazul
când reteaua Petri posedã un numãr infinit de stãri (datoritã cresterii
nelimitate a marcajului anumitor pozitii), dupã cum va reiesi din paragraful
3.2.1 al capitolului 3.
 Totodatã este adevãratã si afirmatia inversã, adicã, dat fiind un
automat, se poate construi o retea Petri care pune în evidentã
aceeasi dinamicã pilotatã de evenimente. Un procedeu care
permite construirea unei retele Petri (P,T,F,W,M0), plecând de
la automatul (X,E,Γ,f,x0) se bazeazã pe urmãtorul algoritm:
Fiecare stare din X devine o pozitie în P, adicã P = X. Apoi
fiecãrei perechi de stãri din X, desemnata prin (x,x'), cu
x’=f(x,e), e∈Γ (x), i se asociazã o tranzitie t∈ T în reteaua
Petri, atasând si arcele (x,t), (t,x‘)∈ F, ambele cu pondere 1.
Aceasta revine la a defini multimile T si F prin:

 iar aplicatia W ia numai valoarea 1, adicã W:F →{1}. Marcajul initial M0 se


asigneazã corespunzãtor stãrii initiale x0.
 Atragem atentia cã, prin aceastã constructie, unui acelasi eveniment e∈ E i
se pot asocia mai multe tranzitii în multimea T.
 Exemplul 2.3.2.
 Se considerã automatul din Exemplul 2.3.1. Construim reteaua Petri conform algoritmului
discutat. Astfel P={p1,p2,p3}, p1={A}, p2={B}, p3={C}. Pentru determinarea multimii T
examinãm, pe rând, tranzitiile posibile din cele trei stãri, construind perechile de tipul ( x,
x'):
 pentru p1: (p1, p2), p2=f(p1, t1), t1={α};
 pentru p2: (p2, p1), p1=f(p2, t2), t2={β};
 (p2, p3), p3=f(p2, t3), t3={λ};
 pentru p3: (p3, p1), p1=f(p3, t4), t4={μ}.
 Atasãm acum si arcele aferente de pondere 1 si obtinem reteaua Petri din fig. 2.3.2.

Fig.2.3.2. Reteaua Petri din Exemplul 2.3.2


 Se observã cã ansamblul format din pozitia p2 si tranzitiile t2, t3 reprezintã o alegere
liberã, corespunzând aparitiei unuia si numai unuia din evenimentele β (executarea lui t2)
sau λ (executarea lui t3).
 Marcajul initial se va alege cu un jeton într-o singurã pozitie, corespunzând stãrii initiale a
automatului din Exemplul 2.3.1.
 Facem precizarea cã procedeul schitat si ilustrat mai sus nu este unicul mod de a asocia,
unui automat, o retea Petri. Mai mult, acest procedeu poate fi caracterizat drept unul formal,
în sensul cã permite o aplicare directã, fãrã a necesita investigarea comportãrii sistemului
fizic, care, prin modelare, a condus la descrierea de tip automat. În practicã, o atare
investigare este întotdeauna recomandatã, întrucât pune în evidentã aspecte ce pot
simplifica structura retelei Petri. De asemenea subliniem faptul cã procedeul prezentat
anterior pãstreazã complexitatea topologiei diagramei de tranzitii si pentru graful tip retea
Petri, în timp ce construirea directã a unui model tip retea Petri, poate simplifica substantial
topologia, dacã se utilizeazã eficient marcajul.
 În cazul când automatul posedã iesire, procedeul de construire a retelei Petri devine mai
laborios, motiv pentru care nu îl vom detalia în lucrarea de fata, dar retinem faptul cã
aceastã constructie este posibilã. Din punct de vedere practic, constructia mai complicatã
este motivatã de interactiunea mai complexã cu "universul exterior", datoratã prezentei
iesirii.
 Încheiem acest paragraf, formulând concluzia fireascã a discutiei anterioare si anume cã
sub aspect teoretic, modelul de tip retea Petri este echivalent cu modelul de tip
automat.
 Aceasta înseamnã cã pornind de la un sistem dinamic cu evenimente discrete real, cu
semnificatie fizicã, vom putea construi ambele tipuri de modele. Din punct de vedere
practic, existã însã unele aspecte ce pot justifica faptul cã unul din aceste douã tipuri de
modele este mai profitabil pentru studierea comportãrii sistemului, aspecte ce vor fi
tratate în paragraful urmãtor.
 2.3.3. Criterii pentru alegerea tipului de model
 În general, optiunea unui anumit tip de model rãmâne la latitudinea
modelatorului, depinzând de experienta si abilitãtile acestuia. Existã
totusi unele criterii generale, orientative, care trebuie întelese în contextul unor
situatii frecvent întâlnite.
 Utilizarea modelelor tip automat este recomandatã atunci când luãm în
considerare numai evenimente ce se petrec în universul exterior
sistemului fizic pe care îl modelãm. Dacã ne intereseazã a pune în
evidentã, prin model, si evenimente interne sistemului fizic, este
preferabil sã se facã apel la retelele Petri.
 În cazul când modelul trebuie sã permitã operarea cu un numãr mare de
stãri (evident distincte), retelele Petri pot fi mai avantajoase, întrucât
diferentierea între stãri se realizeazã prin marcaj si nu prin expandarea
topologiei (situatie inevitabilã în cazul diagramelor de tranzitii asociate
automatelor cu un numãr mare de stãri). Cu alte cuvinte, efortul de modelare
în cazul discutat este (în general) mai mic, dacã se cautã o topologie de retea
Petri relativ simplã si formularea mecanismului aferent pentru asignarea si
modificarea marcajului, decât dacã se urmãreste generarea unei diagrame de
tranzitii cu topologie relativ complexã si complicatã.
 Un ultim aspect se referã la posibilitatea asamblãrii unui model din
submodele. În principiu, utilizarea retelelor Petri permite aplicarea cu
succes a acestei metodologii de modelare, conferind o flexibilitate sporitã
în surprinderea detaliilor si rafinarea modelului. Din contrã, utilizarea
automatelor este mai rigidã, întrucât modelul trebuie privit de la bun
început în ansamblul sãu, modularizarea fiind nenaturalã si anevoioasã.

 Subliniind, încã o datã, faptul cã discutia din acest paragraf constituie un


simplu ghid orientativ, invitãm cititorul sã gãseascã utilitatea acestor
principii, prin parcurgerea sectiunii ce urmeazã, dedicatã integral
aplicatiilor de modelare. Mai atragem totodatã atentia asupra limitãrii unor
puncte de vedere prezentate în acest paragraf de cãtre însusi nivelul de
cunostinte utilizate în sectiunea curentã, cunostinte care nu au explorat
întregul potential de modelare oferit de cele douã tipuri de reprezentãri
netemporizate luate în discutie (automat, respectiv retea Petri).
 2.4. Studii de caz
 În cadrul acestei sectiuni se va gãsi o ilustrare bogatã a
principiilor modelãrii sistemelor cu evenimente discrete
aplicate în cazul unor procese fizico-tehnice cu largã
rãspândire în practica inginereascã.

 Asupra acestor aplicatii se va reveni în capitolele urmãtoare


în scopul analizei detaliate a proprietãtilor comportamentale
si structurale ale modelelor.
 2.4.1. Consideratii generale privind modelarea efectuãrii
operatiilor si a utilizãrii resurselor
 Functionarea unui proces fizico-tehnic pilotat de evenimente se bazeazã pe utilizarea
unor resurse care efectueazã anumite operatii (procesãri, servicii).
 Obiectul procesãrilor îl constituie clientii care sunt entitãti fizice specifice procesului.
Servirea completã a unui client presupune, în cazul general, executarea unei secvente de
operatii cu ajutorul unui set de resurse.
 De exemplu, în cazul sistemelor de calcul, resursele pot fi hard sau soft si asigurã efectuarea
unor operatii de naturã logico-aritmeticã, detaliate la diferite nivele de complexitate.
 În cazul sistemelor de fabricatie, resursele sunt masinile ce executã prelucrãri mecanice,
depozitele ce permit stocarea pieselor, echipamentele destinate manipulãrii si transportului
pieselor.
 În cazul sistemelor de comunicatie, resursele sunt echipamentele de emisie-receptie si
canalele de comunicatie, clientii fiind mesajele ce se transmit.

 În cadrul unui proces fizico-tehnic pilotat de evenimente, o resursã poate fi utilizatã pentru
executarea uneia sau mai multor operatii. O resursã care presteazã o singurã operatie se
numeste nepartajatã, în timp ce o resursã care presteazã mai multe operatii se numeste
partajatã. Utilizarea partajatã a unei resurse pentru efectuarea mai multor operatii poate fi privitã
si ca o partajare a resursei de cãtre mai multi clienti, întrucât operatiile care necesitã resursa
partajatã se desfãsoarã asupra unor clienti diferiti, aflati simultan în diferite etape ale servirii.
 Un model de tip retea Petri netemporizatã poate furniza informatii referitoare atât la modul de
desfãsurare a operatiilor cât si la modul de utilizare a resurselor.
 Modelul dinamicii operatiilor permite numai descrierea relatiilor dintre diferite
operatii.
 Fiecare pozitie a retelei Petri este asociatã unei anumite operatii,
prezenta unui jeton într-o pozitie marcând efectuarea operatiei, iar
absenta jetonului marcând neefectuarea acesteia.
 Astfel de modele sunt folosite, în general, în acele situatii când operatiile
nu necesitã partajarea resurselor, adicã efectuarea unei operatii
presupune, de la sine, disponibilitatea resursei care o realizeazã.
 În cazul resurselor partajate, modelul dinamicii operatiilor nu furnizeazã
suficiente informatii pentru analizã si proiectare.
 Modelul dinamicii operatiilor si al resurselor permite atât descrierea
relatiilor dintre operatii precum si a modului cum se utilizeazã
resursele.
 Parte din pozitiile retelei Petri sunt asociate operatiilor, iar parte din pozitii
sunt asociate resurselor.
 Semnificatia marcajului pentru pozitiile de tip operatii este aceeasi ca în
paragraful anterior. Pentru pozitiile de tip resurse, prezenta unui jeton
marcheazã disponibilitatea resursei, iar absenta jetonului marcheazã
faptul cã resursa este utilizatã.
 În general, modelele cu un grad de detaliere mai mare, care permit analiza
si proiectarea eficientã a sistemelor cu evenimente discrete, contin informatii
referitoare atât la dinamica operatiilor cât si a resurselor.

 Uneori modelarea dinamicii operatiilor (fãrã resurse) este avantajos a se


realiza utilizând retele cu capacitate finitã, pentru a putea preciza numãrul
de operatii de acelasi tip acceptate.

 Recomandam ca transformarea unui astfel de model (prin metoda pozitiei


complementare) într-o retea cu capacitate infinitã (a cãrei dinamicã se
bazeazã pe regula simplã a tranzitiei) sa fie privitã (ori de câte ori este
posibil) prin prisma unei semnificatii concrete a pozitiei complementare, si
anume aceea de resursã utilizatã pentru efectuarea unei operatii. În acest
mod, reteaua cu capacitate infinitã rezultatã în urma transformãrii va
constitui un model al dinamicii operatiilor plus resurselor.

 Asupra aspectelor generale privind modelarea, discutate în acest paragraf ,


se va reveni în paragrafele urmãtoare prin comentarea a o serie de situatii
concrete, cu referire imediatã la modelele construite.
 2.4.2. Modelarea sistemelor de asteptare cu fir de
capacitate nelimitatã
 În paragraful 1.3.1 al capitolului 1 au fost prezentate sistemele de
asteptare drept o configuratie (structurã, bloc) frecvent întâlnitã în
construirea modelelor pentru procese pilotate de evenimente.
 Utilizând instrumentul pus la dispozitie de retelele Petri, un sistem de
asteptare poate fi modelat prin reteaua cu marcajul initial din fig. 2.4.1(a).

 Se considerã cazul când servirea este realizatã de o singurã resursã


(server) si capacitatea firului de asteptare este nelimitatã. Se mai
presupune cã modelul nu trebuie sã furnizeze detalii despre disciplina de
servire a clientilor.

 Aceste ipoteze simplificatoare privind functionarea sistemului de


asteptare, pot fi înlocuite cu ipoteze mai restrictive, dar mai realiste, dupã
cum vom ilustra în cadrul paragrafelor urmãtoare.
 În paragraful 1.3.1 al capitolului 1 au fost prezentate sistemele de
asteptare drept o configuratie (structurã, bloc) frecvent întâlnitã în
construirea modelelor pentru procese pilotate de evenimente.
 Utilizând instrumentul pus la dispozitie de retelele Petri, un sistem de
asteptare (vezi reprezentarea schematizatã din fig. 1.3.1), poate fi
modelat prin reteaua cu marcajul initial din fig. 2.4.1(a).

 Fig. 1.3.1. Reprezentarea schematizatã a unui sistem de asteptare

 Se considerã cazul când servirea este realizatã de o singurã resursã


(server) si capacitatea firului de asteptare este nelimitatã.
 Se mai presupune cã modelul nu trebuie sã furnizeze detalii despre
disciplina de servire a clientilor. Aceste ipoteze simplificatoare privind
functionarea sistemului de asteptare, pot fi înlocuite cu ipoteze mai
restrictive, dar mai realiste, dupã cum vom ilustra în cadrul paragrafelor
urmãtoare.
 Executarea tranzitiei s (de tip sursã) corespunde evenimentului "sosirea unui client în firul
de asteptare".
 Numãrul de clienti din fir este dat de numãrul de jetoane care se acumuleazã în pozitia
F.
 Initial, în fir nu se aflã nici un client (adicã pozitia F nu contine nici un jeton), iar serverul este
neutilizat (adicã pozitia N contine un jeton).
 Executarea tranzitiei i corespunde evenimentului "începerea servirii unui client"; în urma
executãrii acestei tranzitii, serverul devine ocupat (adicã pozitia L primeste un jeton, iar
pozitia N devine vidã).
 Executarea tranzitiei p are semnificatia evenimentului "plecarea unui client, dupã
servirea sa completã"; în urma executãrii acestei tranzitii serverul devine neutilizat (adicã
pozitia N primeste un jeton, iar pozitia L devine vidã).
 Modelarea servirii mai multor clienti (corespunzãtor numãrului de jetoane din F) revine la
succesiunea de executãri a tranzitiilor i,p,i,p,...,i,p, pânã când pozitia F devine vidã.
 Se constatã cã modelul tip retea Petri încorporeazã:
 evenimentele ce piloteazã functionarea sistemului de asteptare (de
tip s, i si p);
 spatiul stãrilor generat de vectorul

 mecanismul de realizare a tranzitiilor dintr-o stare în alta, asigurat de


regula tranzitiei discutatã în paragraful 2.1.2.

 Fig. 2.4.1. Modelarea functionãrii unui sistem de asteptare, cu un singur


server, fãrã posibilitãti de defectare si fir de capacitate nelimitata
 a) Model tip retea Petri; b) Model tip automat
 Este evident cã numãrul clientilor din sistemul de asteptare (incluzând clientul
servit) este dat de M(F)+M(L). De asemenea poate fi introdusã pozitia suplimentarã
CS (de tip receptor) care va acumula numãrul de jetoane corespunzãtoare clientilor
serviti, ce pãrãsesc sistemul.
 Pentru a întelege utilitatea si flexibilitatea în modelare a retelelor Petri, sã
considerãm, comparativ, modelul tip automat al sistemului de asteptare, a cãrui
diagramã de tranzitii este prezentatã în fig. 2.4.1 (b). Starile din diagrama de tranzitii
precizeaza numarul de clienti aflati în sistemul (fir plus server).
 Notatiile s si p desemneaza aceleasi evenimente ca si în cazul modelului tip retea
Petri din fig. 2.4.1 (a). Se observã cã modelul tip automat nu oferã toate detaliile pe
care le dã reteaua Petri, întrucât nu surprinde starea serverului (utilizat sau
neutilizat). În plus, reteaua Petri evidentiazã clar diferenta dintre evenimentele tip s,
care sunt impuse de universul exterior (clientii sosesc independent de functionarea
sistemului) si evenimentele tip p, care rezultã din operarea sistemului însusi (fiecare
client pleacã dupã ce a fost servit). De asemenea, se observã cã prin cresterea
numãrului de clienti din firul de asteptare, numãrul nodurilor din diagrama de tranzitii
(fig. 2.4.1 (b)) va trebui expandat, în timp ce topologia retelei Petri rãmâne
neschimbatã.

 Fig. 2.4.1
 2.4.3. Modelarea serverelor cu posibilitãti de defectare

 Modelarea cu ajutorul retelelor Petri poate include si situatia defectãrii


serverului, dacã se face apel la modelul din fig. 2.4.2 (a). Se presupune cã
defectarea serverului nu poate sã aparã decât atunci când serveste un client, adicã
în starea L. Mai presupunem cã servirea clientului curent nu mai poate fi reluatã
dupã defectare, serverul trecând în starea N, pentru a servi apoi un alt client.
 Astfel s-a introdus evenimentul de tip d, care corespunde aparitiei unui defect
si evenimentul de tip r, care corespunde terminãrii reparatiei. Aparitia defectului
(executarea tranzitiei d) face ca jetonul din L sã se deplaseze în D (corespunzãtor
stãrii serverului defect). Dupã terminarea reparatiei (executarea tranzitiei r), jetonul
ajunge în starea N, ceea ce înseamnã cã servirea clientului curent nu mai poate fi
reluatã, serverul fiind pregãtit pentru servirea unui nou client.

 Fig. 2.4.2 Modelarea functionãrii unui server (resursã) cu posibilitãti de defectare, fãrã reluarea servirii clientului curent
 a) Model tip retea Petri; b) Model tip automat
 Fig. 2.4.2. Modelarea functionãrii unui server (resursã) cu posibilitãti de defectare,
fãrã reluarea servirii clientului curent
 a) Model tip retea Petri; b) Model tip automat

Modelarea ca automat a functionãrii serverului este ilustratã prin diagrama de tranzitii


din fig. 2.4.2 (b).
Se observã cã aceastã diagramã constituie tocmai graful de accesibilitate al retelei Petri
din fig. 2.4.2 (a).
Mai mult, dacã se presupune cã functionarea sistemului este descrisã prin automatul
reprezentat în fig. 2.4.2 (b), construirea modelului tip retea Petri rezultã imediat în
baza celor discutate în paragraful 2.3.2.
 Sã considerãm acum cazul când serverul poate relua
servirea clientului curent în urma aparitiei si remedierii
unei defectiuni. Modelul tip retea Petri este prezentat în fig.
2.4.3 (a). Deosebirea fatã de modelul din fig. 2.4.2 (a) constã
în faptul cã serverul din starea D, în urma aparitiei
evenimentului r (terminarea reparatiei), va trece din nou în
starea L, ceea ce înseamnã cã va continua servirea clientului
curent, întreruptã de aparitia defectãrii.

 Fig. 2.4.3. Modelarea functionãrii unui server (resursã) cu posibilitãti de defectare,


care reia servirea clientului curent
 a) Model tip retea Petri; b) Model tip automat
 În fig. 2.4.3 (b) este prezentatã diagrama de tranzitii a modelului de tip automat.

 În baza discutiilor anterioare, subliniem un aspect important în modelarea


cu retele Petri a functionãrii serverului cu posibilitãti de defectare. În
ambele modele tip retea Petri (fig. 2.4.2 (a) si respectiv 2.4.3 (a)) se
constatã cã ansamblul format din pozitia L si tranzitiile p, d reprezintã
o structurã tip conflict sau alegere liberã. Cu ajutorul acestei
structuri se modeleazã faptul cã atunci când serverul este ocupat cu
servirea unui client, fie servirea se încheie fãrã incidente (executarea
lui p), fie apare un defect (executarea lui d ). Aparitia oricãruia din
aceste douã evenimente exclude posibilitatea aparitiei celuilalt.

 Fig. 2.4.3. Modelarea functionãrii unui server (resursã) cu posibilitãti de defectare,


care reia servirea clientului curent
 a) Model tip retea Petri; b) Model tip automat
 2.4.4. Modelarea firelor de asteptare cu capacitate
limitatã
 Dupã cum am precizat deja firele de asteptare sunt
frecvent utilizate în sistemele de calcul, sistemele de
transmisie a datelor, sistemele de fabricatie etc.
 În multe din aceste cazuri, firul de asteptare trebuie
modelat ca având capacitate limitatã, aspect ce nu este
surprins de modelele din fig. 2.4.1, elaborate pentru
sistemele de asteptare.
 De asemenea, aceste modele nu dau nici o informatie
despre disciplina de servire.
 Folosind larga flexibilitate în modelare oferitã de retelele
Petri, neajunsurile semnalate anterior pot fi remediate
dupã cum urmeazã.
 Sã ne ocupãm, mai întâi, de cazul mai simplu când ne intereseazã numai
capacitatea limitatã, k, a firului de asteptare, fãrã a intentiona sã
modelãm si disciplina de servire.
 În fig. 2.4.4 (a) este prezentat modelul tip retea Petri care include informatiile
privitoare la capacitatea limitatã a firului.

 Fig. 2.4.4. Modele tip retea Petri ale firelor de asteptare cu capacitate limitatã k a) Fãrã detalierea disciplinei de servire; b) Cu
detalierea disciplinei de servire FCFS
 Marcajul din fig. 2.4.4 (a) corespunde situatiei când pozitia FD (disponibilitate în fir) contine k jetoane,
semnificând disponibilitatea a k locuri în fir. În fir nu asteaptã nici un client, marcajul pozitiei F fiind vid.
 Pe mãsurã ce sosesc clienti (se produc evenimente s), jetoanele din pozitia FD se deplaseazã, prin
executarea tranzitiei s, în pozitia F. Începutul servirii unui client, adicã executarea tranzitiei i, deplaseazã un
jeton din pozitia F în pozitia FD, ceea ce înseamnã cã s-a disponibilizat un loc în spatiul de asteptare. Este
evident faptul cã în situatia când pozitia FD este vidã, tranzitia s nu se mai poate executa, deci nu mai pot
sosi clienti în firul de asteptare. Includerea capacitãtii k în model este realizatã pe baza proprietãtii marcajului
care întotdeauna satisface conditia M(F)+M(FD)=k.

Fig. 2.4.4. Modele tip retea Petri ale firelor de


asteptare cu capacitate limitatã k a) Fãrã
detalierea disciplinei de servire; b) Cu detalierea
disciplinei de servire FCFS
 Modelarea firului cu capacitate limitatã s-ar fi putut realiza utilizând numai pozitia F din fig. 2.4.4
(a) (fãrã pozitia FD), dar precizând cã pozitia F are capacitatea k, adicã K(F)=k .
 Se va face distinctie între termenul "capacitatea firului" (notiune concreta ce caracterizeaza
structura firului de asteptare) si termenul "capacitatea pozitiei" (notiune abstracta ce
caracterizeaza o pozitie dintr-o retea Petri).
 Asadar modelul furnizat în fig. 2.4.4 (a) poate fi privit ca rezultând prin metoda pozitiei
complementare FD atasate pozitiei F, cu K(F)=k. În acest mod, apare evident faptul cã pozitia
FD corespunde unei resurse cu semnificatia numãrului de locuri disponibile pentru operatia de
asteptare.
 Dacã disciplina de servire a clientilor este de tip primul sosit, primul
servit (eng. first come, first served si abreviat FCFS), adicã servirea se
executã în ordinea sosirii, modelarea ca retea Petri a dinamicii firului de
asteptare este ilustratã în fig. 2.4.4 (b). Un client care soseste când firul este
gol avanseazã pozitie dupã pozitie, corespunzãtor deplasãrii unui jeton din
F1 pânã în Fk.
 Similar, un client care soseste când firul este partial ocupat avanseazã
corespunzãtor deplasãrii unui jeton din F1 pânã în ultima pozitie liberã.
Conditiile privitoare la marcaj M(Fi)+M(Fdi)=1, i=1,..., k asigurã satisfacerea
egalitãtii:

 ceea ce permite modelarea capacitãtii limitate, k, a firului de asteptare. Si în acest


caz este evident rolul de resurse jucat de pozitiile FD1,...,FDk, modelând
disponibilitãtile existente pentru operatia de asteptare.
 2.4.5. Modelarea unui sistem de fabricatie cu o resursã
partajatã secvential
 Utilizarea partajatã a resurselor cu preturi ridicate constituie o strategie frecvent
implementatã în procesele de fabricatie. În fig. 2.4.5 (a) se prezinta schematizat un
sistem de fabricatie compus din douã masini M1, M2, ambele cu încãrcare
automatã. Descãrcarea celor douã masini este realizatã de un acelasi robot (R)
care constituie o resursã partajatã secvential. Între M1 si M2 existã un depozit
(fir de asteptare) D în care pot fi stocate douã piese. Pentru a putea fi prelucrate pe
cele douã masini, piesele brute sunt fixate pe palete. În urma prelucrãrii, produsul
finit este desprins de pe paletã, iar paleta liberã este returnatã, pentru fixarea unei
noi piese brute. În total se folosesc patru palete.

 Fig. 2.4.5. Utilizarea partajatã secvential a robotului R în functionarea unui sistem de fabricatie
 a) Reprezentarea schematizatã a sistemului de fabricatie; b) Modelul tip retea Petri cu marcajul initial corespunzãtor
disponibilitãtii tuturor resurselor; c) Modelul tip retea Petri cu un marcaj pentru care t2 si t5 sunt în conflict
 Se presupune cã existã un numãr suficient de mare de piese brute care urmeazã a fi prelucrate.
 În fig. 2.4.5 (b) este prezentat modelul tip retea Petri al sistemului de fabricatie, marcajul corespunzând situatiei initiale
când:
 masinile si robotul sunt neutilizate (pozitiile M1N, M2N si RN contin câte un jeton);
 depozitul are neutilizate ambele spatii de stocare (pozitia DN contine douã jetoane);
 toate cele patru palete pentru transport sunt libere (pozitia P contine patru jetoane).

 Fig. 2.4.5. Utilizarea partajatã secvential a robotului R în functionarea unui sistem de fabricatie
 a) Reprezentarea schematizatã a sistemului de fabricatie; b) Modelul tip retea Petri cu marcajul initial corespunzãtor disponibilitãtii tuturor resurselor; c) Modelul tip retea Petri cu un marcaj pentru care t2
si t5 sunt în conflict
 Se observã cã partajarea lui R poate conduce la situatii conflictuale privind
alocarea lui R pentru a descãrca M1 sau M2 (pozitia RN apare într-o
structurã de tip confuzie asimetricã). În fig. 2.4.5 (c) este ilustrat un marcaj
pentru care atât tranzitia t2 cât si tranzitia t5 sunt validate. Rezolvarea
conflictului presupune o decizie în conducerea sistemului, care sã aloce
robotul uneia din cele douã operatii de descãrcare. Aceastã decizie este
crucialã, întrucât:
 Dacã R este utilizat pentru a descãrca M1, R nu are spatiu în depozit sã depunã piesa
descãrcatã de pe M1. Totodatã M2 nu mai poate fi descãrcatã pentru cã R nu este
disponibil. Se creeazã un fenomen de blocaj circular (eng. circular blocking) prin asteptarea
la nesfârsit a eliberãrii resurselor implicate: M2 asteaptã R, R asteaptã D si D asteaptã M2.
Din aceastã situatie nu se poate iesi fãrã o interventie externã. În limbajul retelelor Petri,
pozitia R1L va contine un jeton, DL doua jetoane, M2L un jeton si nici una din tranzitiile
t1,...,t6 nu mai este validatã. Asupra aparitiei blocajelor circulare în modelele tip retea Petri
se va reveni cu un formalism matematic adecvat în capitolul viitor, când se va discuta
proprietatea de viabilitate.
 Dacã R este utilizat pentru a descãrca M2, atunci, dupã descãrcare, M2 se va încãrca
automat din depozit, iar R va fi utilizat pentru a descãrca M1 în depozit etc. Spre deosebire
de cazul discutat anterior, sistemul continuã sã functioneze.
 Încheiem acest paragraf prin a atrage atentia asupra
faptului cã modelul ce a fost construit modeleazã
dinamica operatiilor plus a resurselor.
 Este evident cã utilizând numai un model al dinamicii
operatiilor nu am fi putut pune în evidentã fenomenul
de blocaj circular.
 Modelarea dinamicii operatiilor plus resurselor aratã
cã partajarea secventialã a robotului poate
conduce la blocaj circular deoarece nu este
asiguratã excluderea mutualã între cele douã
operatii de transport ce utilizeazã robotul (alocarea,
utilizarea si eliberarea resursei partajate în orice
conditii de operare).
 2.4.6. Modelarea excluderii mutuale într-un sistem de operare
multitasking
 Problema excluderii mutuale constã în utilizarea corectã a resurselor partajate cu un singur
punct de intrare. Sã presupunem cã într-un sistem multitasking douã procese P1 si P2 au acces
la o variabilã comunã v, cu dreptul de a o modifica. Procesul P1 adaugã valoarea i la v, iar
procesul P2 scade valoarea j din v. Se presupune cã vitezele celor douã procese sunt
oarecare. În fig. 2.4.6 (a) se prezintã situatia când citirile variabilei v interfereazã. Rezultatul
obtinut de P2 este eronat întrucât utilizeazã valoarea lui v cititã înainte de incrementarea sa cu
valoarea i de cãtre P1, adicã lucrurile se petrec ca si cum P1 nici nu s-ar fi executat. Din punctul
de vedere al utilizãrii partajate de cãtre cele douã procese, variabila v este o resursã criticã. La
nivelul unui proces, secventa de tratare a unei resurse critice se numeste sectiune criticã. În fig.
2.4.6 (b) se prezintã situatia unei tratãri corecte a sectiunii critice, când lectura variabilei v de
cãtre unul din procese este imediat urmatã de modificarea lui v realizatã de acelasi proces. Se
acceptã ipoteza cã fiecare proces iese din sectiunea sa criticã dupã un interval finit de timp.
 Fig. 2.4.6. Competitia proceselor P1 si P2 în utilizarea unei resurse critice
 a) Tratare eronatã a resursei critice; b) Realizarea excluderii mutuale; c) Modelul tip retea Petri al excluderii mutuale

 În functionarea corectã, cele douã procese se exclud mutual de la utilizarea resursei critice, fapt ce poate fi modelat prin reteaua Petri din fig. 2.4.6 (c). Tranzitiile t1 si t2 reprezintã intrarea si respectiv iesirea din sectiunea criticã a procesului P1; tranzitiile t3 si t4 reprezintã intrarea si respectiv iesirea din sectiunea criticã a procesului P2. Disponibilitatea resursei critice este marcatã de un jeton în pozitia RN (resursã neutilizatã). Se constatã cã tranzitiilet1 si t3 sunt în conflict pentru marcajul din fig. 2.4.6 (c). Odatã executatã una (si numai una) din cele douã tranzitii, procesul aferent intrã în sectiunea criticã, acaparând resursa
partajatã paralel, pe care o disponibilizeazã la iesirea din sectiunea criticã.
 2.4.7. Modelarea unui protocol de comunicatie
 O solutie pentru sincronizarea activitãtilor la emisia si respectiv receptia de mesaje se bazeazã pe utilizarea unui tampon (eng. buffer) în care emitãtorul depune mesajul util, iar receptorul, dupã receptie, depune un
mesaj de confirmare (eng. acknowledge). În fig. 2.4.7 (a) se prezintã schematizat modul de operare al unui protocol de comunicatie simplu, cu transmitere unidirectionalã de mesaj util de la emitãtorul (E), la receptorul
(R). Mesajul util pregãtit de E este depus în tamponul (T) si este preluat de R numai atunci când acesta este pregãtit sã-l receptioneze. Dupã emiterea mesajului util, E asteaptã un mesaj de confirmare, pe care R îl
depune în T, de îndatã ce a încheiat de receptionat mesajul util. Dupã receptionarea mesajului de confirmare, E pregãteste un nou mesaj util pentru transmitere. Dupã receptionarea mesajului util, R proceseazã mesajul
util curent si se pregãteste sã primeascã un nou mesaj util. Functionarea descrisã este ciclicã.

 Fig. 2.4.7. Modelarea unui protocol de comunicatie simplu, unidirectional


 a) Reprezentarea schematizatã a modului de operare; b) Modelul tip retea Petri al functionãrii protocolului
În fig. 2.4.7 (b) se prezintã modelul tip retea Petri netemporizatã a acestui protocol.
Se constatã cã structurile formate din t2, p2, p7 si respectiv t6, p6, p8 reprezintã structuri de tip paralelism
sau concurentã. Cu ajutorul primeia se modeleazã faptul cã trasmiterea mesajului util (producerea
evenimentului t2) conduce simultan la schimbarea stãrii lui E si T (p2 si p7 primesc câte un jeton). În mod similar
se justificã si utilizarea celei de-a doua structuri de tip paralelism mentionatã anterior, care se referã la
schimbarea stãrilor lui R si T.
Pe de altã parte, structurile formate din p2, p8, t3 si respectiv p4, p7, t5 reprezintã structuri de tip
sincronizare. Cu ajutorul celei de-a doua, se modeleazã faptul cã începerea receptionarii mesajului util
(producerea evenimentului t5) este posibilã numai dacã T contine un mesaj util si R este gata de receptie (p7 si
p4 contin câte un jeton). În mod similar se justificã si utilizarea primei structuri de tip sincronizare mentionatã
anterior.
Se constatã cã modelul din fig. 2.4.7 (b) nu contine explicit informatii despre disponibilitatea tamponului T, ca
resursã; reteaua modeleazã numai operatiile de stocare (în T) a mesajelor (utile sau de confirmare). Totusi, lipsa
unui astfel de detaliu nu aduce nici un prejudiciu calitãtii modelului, introducerea sa fiind redundantã. Atragem
însã atentia asupra faptului cã dacã s-ar lua în discutie si posibilitatea defectãrii lui T, atunci, modelul ar trebui sã
continã explicit informatii despre disponibilitatea lui T.
 2.4.8. Modelarea unui sistem de calcul cu douã resurse partajate paralel
 Se considerã un sistem de calcul biprocesor, echipat cu douã unitãti de bandã B1, B2, reprezentat schematic în fig. 2.4.8 (a). Fiecare din cele douã procesoare P1, P2 executã câte o succesiune de joburi, fiecare job necesitând ambele benzi. Succesiunea de joburi
executate de P1 este referitã prin SJ1, iar succesiunea executatã de P2 este referitã prin SJ2.

 Fig. 2.4.8. Utilizarea partajatã paralel a benzilor B1, B2 în functionarea unui sistem de calcul biprocesor
 a) Reprezentarea schematizatã a sistemului de calcul; b) Modelul tip retea Petri cu marcajul initial corespunzãtor disponibilitãtii tuturor resurselor
 2.4.9. Utilizarea reprezentãrilor GRAFCET în modelarea dinamicii operatiilor
 2.4.9.1. Prezentare generalã a standardului GRAFCET

 GRAFCET-ul este un standard grafic utilizat pentru modelarea dinamicii


operatiilor în procesele tehnice pilotate de evenimente. El reprezintã un set
de conventii de descriere graficã bazatã pe douã tipuri de noduri: tranzitii si
etape.
 Impunerea sa ca standard în domeniul automatizãrilor a avut loc în anii '80,
când formalismul retelelor Petri pãtrunsese relativ putin în acest domeniu
tehnic. Ulterior, la sfârsitul deceniului noua , întrucât cele doua formalisme
(GRAFCET si retele Petri) se dezvoltasera , pâna atunci, în mod
independent, s-au efectuat mai multe analize privind compatibilitatea lor.
 În unele lucrari, formalismul GRAFCET este prezentat în conexiune cu
retelele Petri interpretate sau de comandã. În opinia noastrã, utilizarea
acestor tipuri de retele nu este absolut necesarã pentru a discuta
formalismul GRAFCET, întrucât modul lor de definire nu face decât sã
accentueze rolul tranzitiilor si pozitiilor în modelarea cu retele Petri, astfel
încât problematica compatibilitãtii sã fie mai amplu motivatã.
 Fãrã a intra în prea multe detalii, precizãm cã o serie de
modele pentru dinamica operatiilor, construite cu ajutorul
retelelor Petri, pot fi transpuse cu usurinta în GRAFCET
utilizând informatiile din tabelul 2.4.1.

 Etapele în limbajul GRAFCET sunt asociate operatiilor.


 O etapã poate fi activã (operatia este în curs de
desfasurare) sau inactiva (operatia nu este în curs de
desfãsurare).
 O etapã activã se marcheazã printr-un jeton conform tab.
2.4.1.
 Starea din care se porneste reprezintã etapa initialã,
reprezentatã conform conventiei din tab. 2.4.1.
 Uzual, etapele se numeroteazã 1,2,..., iar, în lateral, se dau
explicatii privind continutul etapei (operatia desfãsuratã si
eventual resursa utilizatã), dupã cum va reiesi si din aplicatia ce
urmeazã.
 Pentru tranzitii, se noteazã, în lateral, evenimentul
corespunzãtor, ori de câte ori aceastã precizare este necesarã.
Uzual, tranzitiile se numeroteazã (1),(2),... dupã cum va reiesi si
din aplicatia de mai jos.
 Marcarea cu sãgeti a orientãrii arcelor nu este necesarã, atâta
vreme cât aceastã orientare este de sus în jos, pe verticala ; în
toate celelalte cazuri sãgetile trebuie pozitionate pe desen.
 Se constatã cã restrictia majorã fatã de formalismul general al
retelelor Petri o constituie faptul cã unei etape oarecare îi
corespunde o variabilã booleanã, cu numai douã valori de
adevãr: activã sau inactivã. În limbajul retelelor Petri, aceastã
restrictie înseamnã cã în orice pozitie poate fi plasat cel mult un
jeton.
Tabelul 2.4.1.
Conventiile fundamentale
ale formalismului
GRAFCET
 2.4.9.2. Exemplu ilustrativ (Functionarea ciclicã a unui sistem de
rezervoare)
 Se considerã sistemul de rezervoare din fig. 2.4.9 (a). Rezervorul Ri, i=1,2, este considerat gol atât timp
cât fluidul se afla sub nivelul αi si este considerat plin atât timp cât fluidul se afla peste nivelul βi.
Traductoarele sistemului furnizeazã urmãtoarele semnale logice:

 Initial cele douã rezervoare sunt goale. Umplerea rezervoarelor R1 si R2 este declansatã prin apãsarea
butonului 'a', care deschide robinetele V1 si V2.
 Când rezervorul Ri este plin, se închide robinetul Vi si se deschide robinetul Wi. Dupã deschiderea lui Wi,
fluidul se scurge din Ri, pânã când acesta devine gol, moment când se închide Wi. Dupã golirea ambelor
rezervoare, ciclul de functionare se reia conform celor prezentate mai sus.
 În fig. 2.4.9 (b) se prezintã modelul GRAFCET. Etapele initiale 1 si 4 corespund lui R1 si R2 goale. În urma sincronizãrii, prin apãsarea butonului 'a', se trece în etapele 2 si respectiv 5, când are loc umplerea lui R1
si R2, robinetele V1 si V2 fiind deschise. În momentul când semnalul yi trece de pe 0 pe 1, se închide robinetul Vi si se deschide Wi, i=1,2, trecându-se astfel în etapele 3 si respectiv 6, când are loc golirea lui R1 si
respectiv R2. În momentul când semnalul xi trece de pe 1 pe 0 (adicã semnalul negat, notat Γxi, trece de pe 0 pe 1), se închide robinetul Wi, i=1,2, trecându-se astfel în etapele initiale 1 si respectiv 2. Dupã
aceasta ciclul se reia.
 În fig. 2.4.9 (c) este prezentat modelul tip retea Petri al dinamicii operatiilor. Semnificatiile pozitiilor sunt (în cazul marcãrii acestora):
 p1(p4) - R1(R2) este gol
 p2(p5) - R1(R2) se umple
 p3(p6) - R1(R2) se goleste
 Semnificatiile tranzitiilor sunt:
 t1 - permite sincronizarea si corespunde aparitiei evenimentului "apãsare buton 'a' ".
 t2(t4) - corespunde aparitiei evenimentului "R1(R2) a ajuns plin", adicã aparitiei evenimentului "semnalul y1(y2) trece de pe 0 pe 1".
 t3(t5) - corespunde aparitiei evenimentului "R1(R2) a ajuns gol", adicã aparitiei evenimentului "semnalul Γx1 (Γx2) trece de pe 0 pe 1".

 Fig. 2.4.9. Functionarea ciclicã a unui sistem de rezervoare


 a) Schema de principiu a procesului; b) Modelul dinamicii operatiilor utilizând formalismul GRAFCET; c) Modelul dinamicii operatiilor utilizând formalismul retelelor Petri; d) Modelul dinamicii operatiilor plus resurselor, utilizând
formalismul retelelor Petri
 Se constatã imediat similitudinea dintre modelul GRAFCET din fig. 2.4.9 (b) si cel de tip retea Petri din fig. 2.4.9 (c), în sensul cã ambele furnizeazã aceleasi informatii referitoare la dinamica operatiilor.
 În scopul de a ilustra puterea de modelare a retelelor Petri, încheiem aceastã aplicatie prin a prezenta si un model al dinamicii operatiilor plus resurselor, reprezentat în fig. 2.4.9 (d). Semnificatiile pozitiilor nou introduse sunt (în cazul marcãrii acestora):
 p7(p9) - robinetul V1(V2) este închis
 p8(p10) - robinetul W1(W2) este închis.
 Se observã cu usurintã faptul cã acest model încorporeazã toate detaliile privitoare la functionarea ciclicã a sistemului de rezervoare.

 Fig. 2.4.9. Functionarea ciclicã a unui sistem de rezervoare


 a) Schema de principiu a procesului; b) Modelul dinamicii operatiilor utilizând formalismul GRAFCET; c) Modelul dinamicii operatiilor utilizând formalismul retelelor Petri; d) Modelul dinamicii operatiilor plus resurselor, utilizând formalismul retelelor Petri
 3.1. Definirea proprietãtilor comportamentale

 În aceastã sectiune vor fi definite proprietãtile


comportamentale (eng. behavioral) ale retelelor
Petri, utilizând formalismul matematic introdus în
sectiunea 2.1 a capitolului precedent.

 Proprietãtile comportamentale sunt dictate atât


de topologia, cât si de marcajul initial al retelei.
 Vor fi formulate unele comentarii succinte, de facturã
intuitivã, ale proprietãtilor, cu referiri la semnificatia
lor în modelare.
 3.1.1. Accesibilitate
3.1.2. Mãrginire
3.1.3. Viabilitate
3.1.4. Reversibilitate
3.1.5. Independenta proprietãtilor de mãrgi
nire, viabilitate si reversibilitate

3.1.6. Acoperire
3.1.7. Persistentã
3.1.8. Distantã sincronã
3.1.9. Impartialitate
 3.1.1. Accesibilitate
 O secventã de executãri de tranzitii ale unei retele conduce la modificarea
marcajului (distributiei de jetoane), în conformitate cu aplicarea regulii
tranzitiei. Un marcaj Mn se spune cã este accesibil (eng. reachable) din
marcajul initial M0, dacã existã o secventã de executãri de tranzitii, care
transformã M0 în Mn. Aceasta secventã de executãri (de tranzitii) se
noteazã prin: sau, simplu, prin: când nu
intereseaza succesiunea de marcaje.
 Faptul ca marcajul Mn este accesibil din M0 prin secventa de executãri σ se
noteazã M0[σ >Mn].
 Multimea tuturor marcajelor care pot fi atinse în reteaua (N, M0), pornind
din M0, se noteazã prin R(N, M0), sau, simplu, prin R(M0), atunci când se
subîntelege reteaua N la care ne referim.
 Multimea tuturor secventelor de executare posibile în reteaua (N, M0),
pornind din M0, se noteazã prin L(N, M0) sau, simplu, prin L(M0) atunci
când se subîntelege reteaua N la care ne referim.
 3.1.2. Mãrginire
 O retea Petri (N, M0) se spune cã este k-mãrginitã sau, pe scurt,
mãrginitã (eng. bounded) dacã numãrul de jetoane din fiecare pozitie
nu depãseste un numãr finit k pentru orice marcaj ce este accesibil
din starea M0 (adicã pentru orice secventã de executãri de tranzitii,
pornind de la marcajul M0).
 In limbaj matematic M(p) ≤ k
 O retea Petri (N, M0) se spune cã este sigurã (eng. safe) dacã ea este
1-mãrginitã.
 Din punct de vedere practic, când reteaua modeleazã un proces,
proprietatea de mãrginire permite a studia eventualele depãsiri ale unor
capacitãti fizice de procesare/memorare a informatiei sau de
prelucrare/stocare a produselor.
 Mãrginirea asigurã nedepãsirea anumitor valori, indiferent de secventa de
evenimente (adicã tranzitii executate).
 3.1.3. Viabilitate
 O retea 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 tranzitie t a retelei. Pâna la executarea lui t poate fi necesara, eventual,
executarea unui numa r finit de alte tranzitii.
 Un marcaj pentru care nici o tranzitie a retelei nu mai poate fi executatã se
numeste deadlock. (Preferãm utilizarea acestui termen original din literatura
anglo-saxonã, întrucât traducerea sa prin "blocaj" poate crea confuzii cu "blocajul
resurselor“.
 În baza definitiei viabilitãtii se constatã cã o retea viabilã opereazã fãrã
deadlock. Pe de altã parte, o retea care nu este viabilã nu evolueazã în mod
obligatoriu cãtre deadlock, existând una sau mai multe tranzitii care pot fi
executate de o infinitate de ori.
 Din punct de vedere practic, când reteaua modeleazã un proces, proprietatea de
viabilitate permite a studia functionarea fãrã incidente nereparabile (de facturã
logicã, adicã nu defecte), care sã necesite o interventie externã procesului.
 Î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
 3.1.4. Reversibilitate
 O retea Petri (N M0) se spune cã este reversibilã (eng. reversible),
dacã pentru orice marcaj M ∈ R(M0), marcajul initial M0 este, la rândul
sau, accesibil când se porneste din M.
 Astfel, într-o retea reversibilã, întotdeauna este posibilã întoarcerea
la marcajul initial.
 Proprietatea de reversibilitate poate fi relaxatã în sensul cã nu se
urmãreste întoarcerea chiar în marcajul initial M0, ci într-un alt marcaj,
notat M', care poartã denumirea de marcaj (sau stare) recuperabil (eng.
home state). Astfel, se spune cã un marcaj M' este recuperabil dacã,
pentru orice marcaj M∈ R(M0), M' este accesibil din M.
 Din punct de vedere practic, când reteaua modeleazã un proces,
proprietatea de reversibilitate permite a studia repetabilitatea desfãsurãrii
anumitor activitãti sau a aparitiei anumitor conditii.
 3.1.5. Independenta proprietãtilor de mãrginire,
viabilitate si reversibilitate

 Mãrginirea, viabilitatea si reversibilitatea sunt


proprietãti independente una de cealaltã.
 3.1.6. Acoperire

 Un marcaj M în reteaua 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
retelei.
 Acoperirea este în strânsã conexiune cu viabilitatea L1.
 Sã notãm prin M marcajul minim necesar pentru a valida o
tranzitie t.
 Astfel, faptul cã tranzitia t este invalidatã (nu este viabilã L1)
este tot una cu faptul cã marcajul M nu este acoperibil.
 Într-o formulare echivalentã avem: tranzitia t este viabilã L1
dacã si numai dacã M este acoperibil.
 3.1.7. Persistentã

 O retea Petri (N, M0) se spune cã este persistentã (eng.


persistent) dacã pentru oricare douã tranzitii validate,
executarea uneia dintre ele nu invalideazã pe cea de a
doua.
 Asadar într-o retea persistentã, o tranzitie, odatã ce a fost
validatã, rãmâne validatã pânã la executarea ei.
 3.1.8. Distantã sincronã

 Fie t1 si t2 douã tranzitii ale retelei (N, M0).


 Se numeste distantã sincronã (eng. synchronic distance)
între t1 si t2 numãrul (finit sau nu):

 Unde σ noteazã o secventã de executãri pornind din orice marcaj M∈R(M0),


 3.1.9. Impartialitate
 În literaturã sunt introduse mai multe tipuri de impartialitate (eng. fairness). Ne
vom rezuma la urmãtoarele douã, care sunt cele mai frecvent folosite.
 a) Impartialitatea de tip mãrginire
 Se spune cã douã tranzitii t1 si t2 se aflã într-o relatie de impartialitate de tip
mãrginire, dacã numãrul de executãri pe care le poate avea una dintre tranzitii,
atâta vreme cât cealaltã nu se executã niciodatã, este mãrginit.
 O retea Petri (N, M0) se spune cã este impartialã de tip mãrginire, dacã oricare
douã tranzitii ale retelei se aflã în relatia de impartialitate de tip mãrginire.

 b) Impartialitatea de tip global


 Se spune cã o secventã de executãri de tranzitii σ este impartialã de tip global,
dacã σ este finitã sau orice tranzitie din retea este executatã infinit de des în σ.
 O retea Petri (N, M0) se spune cã este impartialã de tip global, dacã orice
secventã σ pornind de la un marcaj oarecare M∈ R(M0) este impartialã de tip
global.
 Se constatã, cu usurintã, cã impartializarea de tip mãrginire este mai puternicã
decât cea de tip global, adicã orice retea impartialã de tip mãrginire este si
impartialã de tip global.
 3.2. Tehnici generale de analizã a proprietãtilor
comportamentale

3.2.1. Arborele si graful de acoperire (accesibilitate)


3.2.2. Ecuatia de stare
3.2.3. Reguli de transformare
 3.2.1. Arborele si graful de acoperire
(accesibilitate)
 3.2.1.1. Arborele de acoperire (accesibilitate)

 Fiind datã o retea Petri (N, M0), pornind de la


marcajul initial M0, modificarea marcajelor ca urmare
a executãrii tranzitiilor 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 tranzitii
care transformã marcajul asociat nodului de plecare în
marcajul asociat nodului de sosire.
 3.2.1.2. Graful de acoperire (accesibilitate)

 Strâns legat de notiunile de arbore de acoperire si de


accesibilitate, se introduc grafurile de acoperire si,
respectiv, de accesibilitate.
 Graful de acoperire asociat unei retele Petri (N, M0) este
un graf orientat G = (V, E).
 Multimea nodurilor V este datã de multimea tuturor
marcajelor distincte din arborele de acoperire.
 Multimea arcelor orientate E serveste pentru a uni oricare
douã marcaje Mi, Mj din V, dacã existã o tranzitie tk a cãrei
executare duce de la Mi la Mj; arcele din E corespund arcelor
din arborele de acoperire.
 3.2.2. Ecuatia de stare
 Se considerã o retea Petri purã N , cu n tranzitii si m pozitii. Se numeste
matrice de incidentã (eng. incidence matrix) a retelei,
o matrice A = [aij] de dimensiuni nx m, ale cãrei elemente sunt numere
întregi:

 unde:
 aij+= W(ti, pj) este ponderea arcului de la tranzitia ti, cãtre pozitia sa de
iesire pj;
 aij-= W(pj, ti) este ponderea arcului cãtre tranzitia ti, de la pozitia sa de
intrare pj.
 Matricea A+= [aij+] (de dimensiune n´ m) este referitã drept matrice de
incidentã de iesire.
 Matricea A- = [aij-] (de dimensiune n´ m) este referitã drept matrice de
incidentã de intrare.
 Din punctul de vedere al aplicatiilor, scrierea matricei de incidentã A se
poate face global, construind, mai întâi, matricele A+ si A-, dupã care se
efectueazã diferenta:
 3.2.3. Reguli de transformare
 În acest paragraf vom formula o serie de reguli de transformare care conservã
proprietãtile fundamentale de viabilitate si mãrginire. Prezentãm aceste reguli
drept echivalente, întrucât ele pot fi utilizate în scopul reducerii complexitatii
retelei, sau în scopul expandãrii retelei.
În fig. 3.2.5 sunt prezentate grafic aceste transformãri echivalente
 1°   pozitii în serie - fig. 3.2.5 (a)
 2°   tranzitii în serie - fig. 3.2.5 (b)
 3°   pozitii în paralel - fig. 3.2.5 (c)
 4°   tranzitii în paralel - fig. 3.2.5 (d)
 5°   pozitie în buclã autonomã - fig. 3.2.5 (e)
 6°   tranzitie în buclã autonomã - fig. 3.2.5 (f)

Notatia u (cu indici) s-a folosit pentru


Fig. 3.2.5. Transformãri de echivalentã care pãstreazã viabilitatea, mãrginirea si siguranta arcele care intrã în aceste structuri, iar
a) Pozitii în serie; b) Tranzitii în serie; c) Pozitii în paralel; d) Tranzitii în paralel; notatia y (cu indici), pentru arcele care ies
e) Pozitie în buclã autonomã; f) Tranzitie în buclã autonomã din aceste structuri.
Exemplu: Un stop rg

green

red go

orange

or
Doua stopuri rg

rg rg

green

green green

red go red go

SAU red go

orange orange

orange
or or

or
Problema
Solutia
rg1 rg2

g1 g2

r1 go1 x go2 r2

Cum sa faci sa o1 o2

alterneze?

or1 or2