Sunteți pe pagina 1din 42

CAPITOLUL 2

Modelarea sistemelor dinamice cu evenimente


discrete utilzând Reţele Petri

2.1 Introducere

Există o oarecare dificultate în perceperea caracterului dinamic al


sistemelor cu evenimente discrete. Conceptul de sistem dinamic trebuie privit
în strânsă legătură cu cel de semnal, deoarece sistemele dinamice apar ca
“prelucrând” semnale de intrare, pentru a furniza semnale de ieşire. Această
prelucrare se traduce, la sistemele dinamice continue sau discrete prin
întârzieri datorate fenomenelor de acumulare de masă sau energie. Principiul
de bază în modelarea sistemelor dinamice constă în evidenţierea
"transformării" pe care o suferă semnalul de intrare, pentru a genera semnalul
de ieşire. Pentru analistul obişnuit cu sistemele clasice (continue sau discrete),
dificultatea modelării SDED provine din faptul că "semnalele" sunt modelate
uneori implicit şi, oricum, de manieră abstractă. Ele sunt privite ca succesiuni
de evenimente. Evoluţia stării unui SDED se produce ca urmare a producerii
unui astfel de eveniment.
Un SDED este discret în timp, are un spaţiu al stărilor de natură discretă şi
o evoluţie asincronă în raport cu evenimentele de intrare.
SDED pot fi deterministe sau nedeterministe, după cum evoluţia pe
traiectoria de stare se poate face de manieră deterministă sau funcţie de alte
criterii, cum ar fi "şansa" internă sau alte mecanisme care nu sunt în mod
necesar modelate de analistul sistemului.
Reţeaua Petri este un model matematic, cu ajutorul căruia se poate face
descrierea relaţiilor ce există între condiţii şi evenimente. Deoarece reţeaua
Petri (RP), ca instrument de modelare, are numeroase aplicaţii, în afară de
reţelele Petri de bază, au fost dezvoltate o multitudine de tipuri de reţele. În
secţiunea 2.3, sunt prezentate conceptele de bază referitoare la reţelele Petri şi
câteva clase de modele derivate, care pot fi utilizate pentru modelarea SDED.
În acest capitol vom prezenta utilizarea reţelelor Petri pentru modelarea şi
evaluarea performanţelor sistemelor dinamice cu evenimente discrete (SDED).
Pentru urmărirea acestui obiectiv vom prezenta definiţiile de bază,
mecanismele de evoluţie ale reţelelor Petri (pe scurt RP), proprietăţile generale
22 Partea I – Modelare si analiza
şi metode generale de analiză cum ar fi matricea de incidenţă, graful
marcajelor accesibile, arborele şi graful de acoperire
Reţelele Petri prezintă două caracteristici interesante pentru studiul SDED.
Prima caracteristică este posibilitatea de a modela şi vizualiza comportamente
de tipul concurenţă, sincronizare şi partajarea resurselor. Cea de-a doua
caracteristică interesantă a reţelelor Petri este dată de posibilităţile de analiză
pe care acestea le oferă.
Reţeaua Petri este un instrument care permite modelarea oricărui proces cu
evenimente discrete. Un astfel de model răspunde foarte bine la întrebarea
“cum funcţionează procesul” şi permite analiza calitativă a acestuia. Analiza
performanţelor se poate face în mai mică măsură iar problemele de conducere
sunt mai greu abordabile.

2.2 Definiţie. Proprietăţi generale

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 (PT)  (TP) 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 = .

O reţea Petri fără marcaj iniţial este notată:


N = (P, T, A, W),

deci, o reţea Petri este definită prin dubletul:


RP = (N, W0).
Dacă toate arcele reţelei Petri au ponderea 1, atunci reţeaua se numeşte
reţea Petri ordinară.
Se introduc notaţiile următoare:
°Tj = {PiP| (Pi, Tj)  A} = mulţimea locurilor de intrare în tranziţia Tj
Tj = {PiP| (Tj, Pi)  A} = mulţimea locurilor de ieşire din Tj
°Pi = {TjT| (Tj, Pi,)  A} = mulţimea tranziţiilor de intrare în Pi
Pi° = {TjT| ( Pi, Tj,)  A} = multimea tranziţiilor de ieşire din Pi.

Definiţie 2.2: O tranziţie Tj se spune că este validată (sau autorizată) dacă


este îndeplinită condiţia:
M(Pi)  W(Pi, Tj),  Pi  °Tj,
sau, cu alte cuvinte, dacă orice loc de intrare Pi, în tranziţia Tj
conţine un număr de mărci cel puţin egal cu ponderea arcului
de la Pi la Tj. Declanşarea tranziţiei este indivizibilă.
În cazul particular al RP ordinare, condiţia de autorizare a unei tranziţii
constă în existenţa a cel puţin unei mărci în toate locurile de intrare.
O tranziţie Tj, care este autorizată se poate declanşa. A declanşa tranziţia Tj
înseamnă:
- a extrage W(Pi, Tj) mărci din toate locurile Pi aparţinând
mulţimii °Tj,
- a adăuga W(Tj, Pk) mărci în toate locurile Pk aparţinând
mulţimii Tj.
Formal, declanşarea unei tranziţii Tj, din marcajul M0, constă în
transformarea marcajului iniţial într-un marcaj M, definit de maniera
următoare:
M (P )  W (P , T ) daca P  T
 0 i i j i j
 
M(Pi )  M 0 (Pi )  W (T j , Pi ) daca Pi  T j .
  
 M 0 (Pi ) daca Pi  T j si Pi  T j
24 Partea I – Modelare si analiza

P1 P2 P3 P1 P2 P3

T1 T1

P4 P4

P1 P2 P3

T1

P4

a) b)

Figura 2.1. Exemple de declanşări

Declanşarea (tirul) tranziţiei se produce într-un interval de timp infinit


scurt.
În exemplul din fig.2.1 a), tranziţia T1 nu este autorizată în vreme ce în
fig.2.1 b) tranziţia T1 este autorizată prin marcajul M0 = (1, 1, 1, 0).
Declanşarea tranziţiei T1 conduce în marcajul M1=(0, 0, 0, 1), conform relaţiei:
M0(T1 M1.

Mulţimea marcajelor care pot fi atinse plecând din marcajul M 0, efectuând


una sau mai multe declanşări, se notează R(M0).
Marcajul la un moment dat defineşte starea reţelei sau, mai precis, starea
sistemului modelat de reţeaua Petri. Evoluţia stării corespunde evoluţiei
marcajului, care este determinat de declanşarea tranziţiilor.
Într-o RP marcată, declanşarea unei tranziţii autorizate se produce în
momentul apariţiei evenimentului care determină tirul (declanşarea) tranziţiei.
Dacă declanşarea unei tranziţii nu este condiţionată de nici un eveniment,
atunci ea se declanşează de îndată ce este autorizată.
Se consideră că tirul tranziţiei are loc într-un interval de timp de durată
nulă, deoarece conceptul de durată nu este explicitat într-un model de tip reţea
Petri (nici măcar în reţelele Petri sincronizate sau temporizate). În modelele
Cap. 2 – ModelareaSDED utilizand RP 25
SDED de tip RP este uzual să se considere că, la un moment dat, se
declanşează o singură tranziţie.

Exemplul 2.1
Se consideră reţeaua Petri din figura 2.2. Marcajul său iniţial este M0 = [1, 2,
3, 4].

Declanşarea (sau tirul) tranziţiei T2 conduce la marcajul M1=[0, 3, 4, 4].


Dacă plecând din M1 se declanşează T5 se obţine marcajul M2=[0, 3, 5, 3].
Dacă plecând din M2 se declanşează T3, marcajul devine M3=[0, 2, 5, 3]. Se
spune că s-a trecut de la marcajul M0 la marcajul M3 efectuând declanşarea
secvenţei  =<T2, T5, T3> şi se scrie:

M0  M3.
Secvenţa  va fi numită declanşabilă (sau, uneori, admisibilă).
Definiţie 2.3: Un marcaj este accesibil dacă poate fi obţinut plecând din
marcajul iniţial al RP, prin aplicarea unei secvenţe de tranziţii.
T1 P1 T2 P2 T3

P3 T4 P4

T5
Figura 2.2

2.3 Analiza calitativă a Reţelelor Petri

Pentru analiza calitativă a comportamentului unui SDED modelat cu reţele


Petri, se definesc câteva proprietăţi ale acestora.
Definiţie 2.4: Un conflict (sau conflict structural) corespunde existenţei unui
loc Pi care are cel puţin două tranziţii de ieşire T1, T2, … Acest
conflict se va nota printr-un dublet format dintr-un loc şi o
mulţime de tranziţii:
26 Partea I – Modelare si analiza
K = <Pi, {T1, T2,…}>.
Definiţie 2.5: Un conflict efectiv este dat de existenţa unui conflict structural
K, şi a unui marcaj, M, astfel încât numărul de marci din locul
Pi este inferior numărului de tranziţii de ieşire din Pi care sunt
validate de M.
Acest conflict efectiv este reprezentat de tripletul:
Ke = <Pi, {T1, T2,…}, M>.

În figura 2.3 sunt reprezentate câteva RP ce ilustrează conceptele de


conflict şi conflict efectiv.
În figura 2.3 a), avem conflictul structural
K1 = <P1, {T1, T2}>.

P1 P1 P2 P3

T2 T1 T2 T1
a) b)

P1 P1

T2 T1 T2 T1
c) d)

Figura 2.3 Exemple de RP în care există conflict

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 MiR(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.],

şi se poate vedea imediat că marcajele celor două locuri sunt mărginite.


Reţeaua din figura 2.4 b) nu este o reţea mărginită, deoarece în locul P 2 se
acumulează mărci la fiecare declanşare a tranziţiei T1, deci P2 nu este mărginit.

P1

T1 T1 P1

P2 P2

T2
a) b)
Figura 2.4 Reţele mărginite şi nemărginte

Marcajul unei reţele Petri evoluează prin declanşarea tranziţiilor. Atunci


când anumite tranziţii nu sunt declanşabile, o anumită parte a reţelei nu mai
“funcţionează”, şi cel mai probabil există o problemă de proiectare a
sistemului modelat de reţea.
Definiţie 2.11: O tranziţie Tj este vivantă pentru marcajul iniţial M0, dacă
pentru orice marcaj accesibil Mi  R(M0) există o secvenţă de
declanşări S ce conţine tranziţia Tj plecând din Mi.
Altfel spus, oricare ar fi evoluţia, va exista întotdeauna o posibilitate de a
declanşa Tj, dacă aceasta este vivantă.
Această noţiune este ilustrată în figura 2.5, pentru tranziţia T 1. Figura 2.5 a)
reprezintă o RP care are două marcaje accesibile:
R(M0) = {M0, M1}, unde
M0 = [1, 0], M1 = [0, 1]

şi pentru fiecare dintre aceste marcaje există o secvenţă de declanşări ce


conţine T1, deci tranziţia este vivantă.
Reţeaua din figura 2.5 b) are trei marcaje accesibile, adică:
Cap. 2 – ModelareaSDED utilizand RP 29
R(M0) = {M0, M1, M2}, unde
M0 = [1, 0, 0], M1 = [0, 1, 0], M2 = [0, 0, 1].

Se poate remarca uşor că nu există secvenţă de declanşări care să conţină


tranziţia T1 plecând din marcajul M1 (nici plecând din M2), deci tranziţia T1
pentru reţeaua Petri din figura 2.5 b) nu este vivantă.
Definiţie 2.12: O reţea Petri se numeşte vivantă pentru marcajul iniţial M0
dacă toate tranziţiile sale sunt vivante pentru M0.
Altfel spus, dacă o RP este vivantă pentru marcajul iniţial M0, aceasta
înseamnă că oricare ar fi evoluţia nici o tranziţie nu va deveni definitiv
nedeclanşabilă.

Definiţie 2.13: a) O tranziţie Tj este quasi-vivantă pentru un marcaj iniţial M0


dacă există o secvenţă de declanşări ce conţine T j plecând din
M 0.
b) O reţea Petri este quasi-vivantă pentru un marcaj iniţial M0,

P1

P1 T1

P2
T1
T2
P2
P3
T2
T3

a) b)

Figura 2.5 Reţele vivante şi quasi-vivante


dacă toate tranziţiile sale sunt quasi-vivante.
Altfel spus, o tranziţie este quasi-vivantă dacă există o şansă ca acestă
tranziţie să fie declanşată. Un exemplu în acest sens, este tranziţia T 1 din RP
din figura 2.5b), care se declanşează o dată înainte de a deveni definitiv
nedeclanşabilă.
Definiţie 2.14: Un blocaj (sau stare finală) este un marcaj din care nici o
tranziţie nu este autorizată.
30 Partea I – Modelare si analiza
Spre exemplu, în reţeaua Petri din figura 2.6, declanşarea tranziţiei T 1
conduce la marcajul M1 = [0, 1, 0, 0]. Acest marcaj este un blocaj. Nici o
evoluţie a marcajului nu mai este posibilă. Reţeaua este quasi-vivantă.
Definiţie 2.15: Se spune că o reţea Petri este fără blocaj pentru un marcaj
iniţial M0 dacă nici un marcaj accesibil Mi  R(M0) nu este un
blocaj.
Reţeaua din figura 2.5 b) este o reţea quasi-vivantă făra blocaj. După
declanşarea tranziţiei T1 se ajunge în marcajul M1 = [0, 1, 0] şi tranziţiile T2 şi
T3 sunt vivante plecând din acest marcaj. Altfel spus, o reţea fără blocaj este
caracterizată de faptul că rămâne întotdeauna o parte care “funcţionează”.

Observaţie: Proprietăţile de vivacitate şi blocaj depind de manieră evidentă


de marcajul iniţial. De exemplu dacă marcajul iniţial al RPdin
figura 2.4 a) ar fi M0 = [0, 0], atunci acesta ar fi un blocaj: nici
o tranziţie nu este validată.

P1
T1 T2
P2 P3
T2
P4

Figura 2.6 Blocaj


Definiţie 2.16: a) O RP are o stare de primire Ma pentru un marcaj iniţial M0
dacă pentru orice marcaj accesibil Mi  R(M0) există o
secvenţă de declanşări astfel încât:
Mi (Si  Ma.
b) O RP este reiniţializabilă pentru un marcaj iniţial M0 dacă
M0 este o stare de primire.
Starea de primire este o proprietate a reţelei ce depinde de marcajul iniţial.
De exemplu, pentru RP din figura 2.6 şi marcajul iniţial M0 = [1, 0, 0, 0] nu
există stare de primire, în vreme ce pentru aceeaşi reţea şi marcajul iniţial M0’
= [0,0,1,0], există două stări de primire. Aceste stări sunt marcajele M 0’ şi
[0,0,0,1].

După ce am prezentat câteva proprietăţi pe care le pot avea reţelele Petri,


este interesant de văzut cum putem determina dacă o reţea are o anumită
Cap. 2 – ModelareaSDED utilizand RP 31
proprietate. Există în principal trei clase de metode pentru determinarea
proprietăţior reţelelor Petri:
-stabilirea grafului de marcaj şi a arborelui de acoperire (aceasta este
metoda cea mai importantă),
- determinarea proprietăţilor cantitative şi calitative utilizând algebra
liniară,
- determinarea proprietăţilor RP prin reducerea acestora, care nu
conduce la RP echivalente, dar permite păstrarea anumitor proprietăţi,
pentru simplificarea analizei prin metodele precedente.

Definiţie 2.17: Graful de marcaj este compus din noduri ce corespund


marcajelor accesibile şi arce corespunzând declanşărilor
tranziţiilor ce determină trecerea de la un marcaj la altul.

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ă.

Definiţie 2.18: Un arbore de acoperire este un graf de marcaj particular, cu


un număr finit de noduri, pentru reţele care nu sunt mărginite
(care au un număr infinit de marcaje accesibile) în care nu
există nici buclă, nici circuit.
Pentru RP din figura 2.8 a), tranziţia T1 este validată; declanşarea ei are ca
rezultat depunerea unei mărci în P1. Dupa aceea sunt două tranziţii validate T1
şi T2. Dacă se declanşează T1 marcajul locului P1 devine 2 ş.a.m.d.. În figura
2.8 b) este reprezentat începutul construcţiei grafului de marcaj. Acest graf nu
poate fi construit în întregime deoarece reţeaua nu este mărginită, adică
32 Partea I – Modelare si analiza
numărul marcajelor accesibile este infinit. Din acest motiv, putem construi un
arbore de acoperire, care are prin definiţie un număr finit de locuri.
Pentru construcţia arborelui de acoperire se pleacă din marcajul iniţial M0 =
[0] şi declanşând T1 se obţine:

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)

Figura 2.8 Arbore de acoperire


M0(T1  M1 = [1],
şi cum M1 > M0, declanşarea T1 se poate repeta de ori de câte ori se doreşte.
Din acest motiv i se asociază lui P1 marcajul simbolic  ce are semnificaţia că
marcajul P1 poate atinge un numar întreg k oricât de mare. (prin abuz de
limbaj, [] va fi numit marcaj chiar dacă el reprezintă o infinitate de marcaje
posibile. Plecând din marcajul [] sunt două tranziţii validateT1 şi T2,. Dacă
erau k mărci în P1 înainte de declanşarea T1, vor fi k+1 mărci după declanşarea
T1 şi k-1 mărci după declanşarea T2. Ambele valori k+1 şi k-1 pot fi oricât de
mari, şi li se asociază simbolul . Se obţine astfel arborele de acoperire din
figura .8 c).

Algoritmul de construcţie al arborelui de acoperire


Pasul 1. Plecând din marcajul iniţial M0 sunt indicate toate tranziţiile
validate şi marcajele succesoare corespunzătoare. Dacă unul
dintre aceste marcaje este strict mai mare decât M0, se pune 
pentru fiecare dintre componentele superioare componentelor
corespunzătoare din M0.
Pasul 2. Pentru fiecare nou marcaj Mi al arborelui de marcaj se trece fie la
pasul 2.1, fie la pasul 2.2.
Pasul 2.1 Dacă există pe drumul de la M0 la Mi, un marcaj Mj = Mi ,
atunci Mi nu are succesor.
Pasul 2.2 Dacă nu există pe drumul de la M0 la Mi, un marcaj Mj = Mi,
atunci se prelungeşte arborele adăugând toţi succesorii
marcajului Mi. Pentru fiecare succesor Mk al lui Mi se
aplică următoarea regulă:
Cap. 2 – ModelareaSDED utilizand RP 33
1) o componentă  a lui Mi rămâne o componentă 
pentru Mk;
2) dacă există un marcaj Mj pe drumul de la M0 la Mk
astfel încât Mk > Mj, atunci se pune  pentru fiecare
dintre componentele superioare componentele din
Mj.

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.

Un alt instrument utilizat pentru analiza calitativă a SDED modelate prin


RP este algebra liniară, care în principal utilizează ecuaţia fundamentală
pentru a obţine invarianţii reţelei.
Pentru a exemplifica utilizarea algebrei liniare în analiza SDED modelate
cu RP, vom considera exemplul prezentat în cele ce urmează.
Cap. 2 – ModelareaSDED utilizand RP 35
Memorie CP2 cere acces
CP1 cere acces
disponibilă
P1 P4
P7
T1 T4
CP1 utilizează CP2 utilizeză T6
T3 P2 memoria memoria P5

T2 T5
P3 P6
CP1 nu are nevoie de CP2 nu are nevoie de
memorie memorie

Figura 2.10 Reţea Petri care modelează concurenţa şi partajul resurselor

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.

Definiţie 2.19: Un invariant de marcaj este o mulţime de locuri {Pj}


j = k, k  m cu proprietatea:
Mi(Pk) + Mi(Pk+1) + … +Mi(Pj) + … + Mi(Pk+m) = c,
unde c este o constantă întreagă.
De exemplu, pentru reţeaua din Fig. 2.10, {P2, P5, P7} este un invariant,
deoarece:
m2 + m5 + m7 = 1.

Semnificaţia fizică a acestui invariant este că resursa memorie comună este


partajată de cele două calculatoare CP1 şi CP2, deci, nu poate fi utilizată decât
de un singur calculator la un moment dat.
Definiţie 2.20: O reţea este conservativă, dacă există un invariant ce conţine
toate locurile.
36 Partea I – Modelare si analiza
Definiţie 2.21: O secvenţă repetitivă din marcajul Mi este o secvenţă de
tranziţii s , care realizează transferul:
s
Mi 
 Mi.

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 (nm), 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)

În reţeaua din figura 2.10, secvenţa de declanşări


s = T1T2T4T5T6T4T5T3T4,
căreia îi corespunde vectorul de declansări
S = [1 1 1 3 2 2]T

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 poate verifică imediat, urmărind figura 2.10, că acesta este marcajul în


care se ajunge după declanşarea secvenţei s = T1T2T4T5T6T4T5T3T6T4 , căreia îi
corespunde vectorul de declanşări S = [1 1 1 3 2 2]T.
Observaţie Pentru orice secvenţă de declanşări există un vector de
declanşări, dar reciproca nu este totdeauna adevărată. Spre
exemplu vectorului S1 =[3 2 3 3 2 3] nu îi corespunde nici o
38 Partea I – Modelare si analiza
secvenţă de declanşări deoarece, funcţionarea reţelei nu
permite ca numărul de declanşări ale tranziţiei T 6 să fie mai
mare decât numărul de declanşări ale T5 întrucât autorizarea T6
depinde de marcajul locului P6 care creşte numai prin
declanşarea T5.
Definiţie 2.25 Un vector X este P-invariant, dacă
XTW = 0. (2.2)

Un astfel de vector are o proprietate interesantă. Dacă din marcajul inţial


M0, cu secvenţa de declanşări s, de vector caracteristic S, se ajunge în marcajul
accesibil Mk definit prin:
Mk = M0 + W S,

se obţine
XT Mk = XT M0 + XT W S,

iar din relaţia (2.2) rezultă că


X T Mk = X T M0 , (2.3)

pentru orice marcaj accesibil.


Relaţia (2.3) arată că existenţa unui vector P-invariant este o proprietate
structurală, deoarece nu depinde de marcaj. Un vector P-invariant corespunde
unui vector al ponderilor asociat locurilor. În general, ponderea asociată unui
loc poate fi un număr pozitiv sau nul, dar sunt de interes locurile cu ponderi
nenule.
Mulţimea locurilor care au ponderi nenule, într-un invariant, formează o
componentă conservativă. Într-o componentă conservativă, numărul de mărci
dat de ponderile locurilor din mulţimea respectivă este constant.
Definiţie 2.26: Un vector Y este T-invariant dacă:
W Y = 0. (2.4)

Dacă din marcajul Mi există o secvenţă de declanşări S, astfel încât


S = q Y,

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 .

Observaţie Relaţiile 2.3 şi 2.4 permit determinarea invarianţilor de marcaj


şi respectiv a invarianţilor de tranziţii utilizând algebra liniară.
Cap. 2 – ModelareaSDED utilizand RP 39
Spre exemplu, pentru RP din figura 2.10 determinarea P-invarianţilor se
face determinând soluţiile sistemului de ecuaţii:
- 1 0 1 0 0 0 
 1 -1 0 0 0 0 
 
 0 1 -1 0 0 0 
m1 m 2 m 3 m 4 m 5 m 6 m 7    0 0 0 - 1 0 1   0 .
 0 0 0 1 -1 0 
 
 0 0 0 0 1 - 1
- 1 1 0 - 1 1 0 
 

Spaţiul soluţiilor acestui sistem este determinat de vectorii liniar


independenţi ce determină P-invarianţii:
- [0 0 0 1 1 1 0] ce determină invariantul {P4, P5, P6};
- [1 1 1 0 0 0 0] ce determină invariantul {P4, P5, P6};
- [0 0 0 1 1 1 1] ce determină invariantul {P4, P5, P6, P7};
- [1 1 1 0 0 0 1] ce determină invariantul {P1, P2, P3, P7}.
Observaţie: Toate locurile dintr-o componentă conservativă sunt mărginite.

2.4 Câteva tipuri de Reţele Petri

Evoluţia pe traiectoria de stare unui SDED modelat prin RP se produce ca


efect al declanşării tranziţiilor. Declanşarea unei tranziţii (secţiunea 2.1) se
produce dacă aceasta este autorizată şi - în anumite cazuri - s-a produs
evenimentul extern ce condiţionează declanşarea. Deci, tranziţiile se pot
declanşa deîndată ce sunt validate, dacă nu există condiţionări externe, şi în
acest caz RP modelează un SDED care evoluează de manieră autonomă.
Într-un astfel de sistem momentele la care se produce tranziţia stării nu sunt
nici cunoscute, nici indicate. Reţelele ce modelează această categorie de
sisteme se numesc RP autonome. Aceste reţele sunt utilizate pentru analiza
calitativă (reţelele utilizate ca exemple în secţiunea 2..3 sunt RP autonome).
O RP neautonomă descrie funcţionarea unui sistem a cărui evoluţie este
condiţionată de evenimente externe sau de timp. Evenimentele externe
corespund unei schimbări de stare a lumii exterioare (în opoziţie, se poate
numi eveniment intern o schimbare de stare internă, o schimbare de marcaj).
40 Partea I – Modelare si analiza
2.4.1 Reţele Petri sincronizate

Definiţie 2.27: O Reţea Petri sincronizată (notată RPS) este un triplet:


<R, E, Sinc>,
unde
- R este o RP marcată;
- E este o mulţime de evenimente externe;
- Sinc: T  E  {e}, este o aplicaţie pe mulţimea tranziţiilor
cu valori în mulţimea evenimentelor reunită cu e, care este
evenimentul cu apariţie permanentă
Mulţimea E a evenimentelor externe este:
E = {E1, E2,…}.
Principiul de funcţionare al RP sincronizate
În figura 2.11 a) , evenimentul extern E3 este asociat tranziţei T1. În acest
caz, se spune că tranziţia T1 este receptivă la evenimentul E3, T1 este
autorizată, şi declanşarea ei se produce la apariţia evenimentului E3, aşa cum
se vede în cronograma corespunzătoare.
În figura 2.11 b) tranziţia T2 este receptivă la evenimentul E2, deoarece ea
este validată. T2 este declanşată în monentul apariţiei evenimentului E2, dar
declanşarea nu se produce decât o singură dată, chiar dacă marcajul P2 este 2 la
momentul producerii E2.
În figura 2.11 c) tranziţia T3 este receptivă la evenimentul E1, deoarece ea
este validată, şi se declanşează în momentul în care se produce evenimentul E1.
În schimb, tranziţia T4 nu se declanşează chiar dacă este sincronizată tot cu E1
(deoarece nefiind autorizată, nu este receptivă la E1).
Observaţie: Într-o RP autonomă orice tranziţie poate fi calificată prin
validată sau declanşabilă. Acest lucru nu este valabil pentru
RP sincronizate. O tranziţie dintr-o RP sincronizată este
validată dacă fiecare dintre locurile de intrare conţine cel puţin
o marcă. Dacă este validată, ea este declanşabilă la apariţia
evenimentului care îi este asociat, şi este imediat declanşată
(cu excepţia cazului în care există conflict ce nu permite
declanşarea tuturor tranziţiilor declanşabile).
Evenimentul cu apariţie permanentă, notat e, nu este un eveniment extern.
Cap. 2 – ModelareaSDED utilizand RP 41

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

În figura 2.12, evenimentul e este asociat tranziţiei T2. Aceasta înseamnă că


deîndată ce tranziţia T2 va fi validată, ea fiind receptivă la e, se va declanşa
imediat. Pentru marcajul iniţial M0 =[1, 0] din figura a) RP sincronizată este
receptivă la E3. La producerea evenimentului E3, se declanşează T1 ce conduce
42 Partea I – Modelare si analiza
în marcajul [0, 1] pentru care este validată T2. Cum T2 este receptivă la e, ea se
declanşează imediat şi se revine în marcajul [1, 0]. Din acest marcaj se
aşteaptă o nouă apariţie a evenimentului E3 pentru ca reţeaua să evolueze din
nou.

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)

Figura 2.12 Evenimentul cu apariţie permanentă, e

Din acest exemplu se vede că marcajul [1, 0] este un marcaj stabil, în


vreme ce marcajul [0, 1] este un marcaj instabil deoarece din acest marcaj
există o tranziţie receptivă la e.
Definiţie2.28: O RP sincronizată astfel încât fiecărei tranziţii îi este asociat
un eveniment extern (nici unei tranziţii nu îi este asociat
evenimentul cu apariţie permanentă, e) se numeşte Reţea Petri
total sincronizată.
Definiţie 2.29: Atunci când mai multe tranziţii sunt declanşabile simultan la
apariţia unui eveniment XE{e}, se face o sevenţă de
declanşări a acestor tranziţii (întrucât nu se pot declanşa
simultan), care se numeşte secvenţă de simulare completă (pe
scurt SSC).
Se notează mulţimea tranziţiilor receptive la evenimentul X, pentru
marcajul M, cu:
T(X, M).

Definiţie 2.30: Sk este o secvenţă de simulare completă (SSC) în raport cu


evenimentul X, pentru un marcaj M, dacă îndeplineşte
următoarele patru condiţii:
- Sk este o secvenţă de declanşări din marcajul M, ce conţine
numai tranziţii din mulţimea T(X, M).
- orice tranziţie din T(X, M) apare cel mult o dată în Sk.
- orice secvenţă Sh obţinută permutând tranziţii din Sk este o
secvenţă de declanşări din marcajul M.
Cap. 2 – ModelareaSDED utilizand RP 43
- nu există nici o secvenţă mai lungă care să conţină toate
tranziţiile din Sk şi care să îndeplinească cele trei condiţii
anterioare.
O secvenţă de declanşări se notează cu
Sk ={T1T2…Ta}.

2.4.2 Reţele Petri temporizate

O reţea Petri temporizată permite descrierea unui sistem a cărui


funcţionare depinde de timp. De exemplu, între începutul şi sfârşitul unei
operaţii se poate scurge un interval de timp. Dacă o marcă care se află într-un
loc indică faptul că operaţia se află în curs, o RP temporizată permite să se ţină
seama de durata acestei operaţii. Reţelele Petri temporizate sunt utile pentru
evaluarea performanţelor unui sistem. Există în principal două metode pentru
modelarea temporizărilor: fie temporizările sunt asociate locurilor (în acest
caz, se spune că reţeaua este o RP P-temporizată), fie temporizările sunt
asociate tranziţiilor (în acest caz, se spune că reţeaua este T-temporizată).

2.4.2.1 Reţele Petri P-temporizate

Fiecărui loc Pi îi este asociată o temporizare di; eventual nulă. În cele ce


urmează, se va considera cazul în care di are valoare constantă, dar în cazul
general, di ar putea fi variabilă.
Definiţie 2.31: O reţea Petri P-temporizată este un dublet:
- <R, Temp> astfel încât:
- R este o RP marcată;
- Temp: P  Q ,Temp(Pi) = di, temporizarea asociată locului
Pi.
Principiul de funcţionare al RP P-temporizate
Deîndată ce o marcă este depusă în locul Pi, această marcă trebuie să
rămână în acest loc cel puţin pe durata di. Se spune că marca este indisponibilă
pe această perioadă de timp. După scurgerea duratei di, marca devine
diponibilă. Această funcţionare este ilustrată în figura 2.13. Declanşarea
tranziţiei T1 are ca efect depunerea unei mărci în locul P1. Această marcă
rămâne indisponibilă pe o durată de timp d1. În momentul în care această
marcă devine disponibilă, tranziţia T2 este validată. Când se declanşează T2
44 Partea I – Modelare si analiza
(nu neapărat imediat ce este validată), o marcă indisponibilă este depusă în P 2,
ş.a.m.d.

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ă.

Graful de marcaj al funcţionării la viteză maximală


Observaţie: Un graf de marcaj pentru o RP P-temporizată nu poate fi
reprezentat decât pentru funcţionarea la viteză maximală.
Cap. 2 – ModelareaSDED utilizand RP 45
În graful de marcaj al funcţionarii la viteză maximală, un marcaj
corespunde relaţiei:
M = Md + Mi,

adică mărcile disponibile şi cele indisponibile nu sunt distincte. Trecerea de la


marcajul M1 la un marcaj M2 este marcată Tj/dk. Tranziţia Tj este cea a cărei
declanşare determină trecerea de la marcajul M1 la marcajul M2, iar dk este
durata între momentul în care marcajul a fost atins şi momentul în care are loc
M0
P1 P1 P1
d1=2 d1=2 d1=2

T1 T1 T1
a) P2 d2=3 P2 d2=3 P2 d2=3

T2 T2 T2

t=0 0< t 2 2< t 3

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’

Figura 2.14 Funcţionarea la viteză maximală


(RP P-temporizată)
declanşarea tranziţiei Tj. În anumite cazuri, trecerea de la M1 la M2 se poate
face prin declanşarea mai multor tranziţii care sunt validate la acelaşi moment
de timp. În această situaţie se foloseşte notaţia {T i, Tj,…}/dk, pentru a indica
faptul că există o declanşare a tranziţiilor Ti Tj…într-o ordine oarecare.
În figura 2.14 b) este prezentat graful marcajelor funcţionării la viteză
maximală pentru marcajul M0 = [1, 1]. Pentru acest marcaj T1 şi T2 sunt
validate şi sunt, deci, imediat declanşate. Se atinge marcajul [1, 1]pentru care
ambele mărci devin indisponibile. La sfârşitul intervalului de timp d1=2 marca
46 Partea I – Modelare si analiza
din P1 devine disponibilă şi avem declanşarea T1/d1 = T1/2, ce conduce în
marcajul M2 = [0, 2]. Una dintre cele două mărci din P2 devine indisponibilă
pentru o durată d2, dar cea care era deja în P2 rămâne indisponibilă numai pe

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

Figura 2.15 Indicarea duratelor indisponibilităţilor reziduale


durata d2-d1 = 1. Avem deci o tranziţie marcată T2 /(d2-d1) = T2 /1 între M2 şi
M3. Două unităţi de timp mai târziu, cele două marci vor deveni disponibile şi
se va reveni la marcajul M1 prin dubla declanşare notată {T1, T2} / 2.
Figura 2.14 b) indică funcţionarea ce se obţine plecând din marcajul iniţial
M0’=[2, 0]. Tranziţia T1 este validată prin cele două mărci şi ea este declanşată
de două ori la momentul 0. După aceea, două mărci sunt tot timpul disponibile
la aceleaşi momente de timp, şi vor fi două declanşări fie ale T1, fie ale T2, de
fiecare dată.
Observaţie: Pe figura 2.14 b, se vede că marcajele M0, M1 şi M3 corespund
aceluiaşi număr de mărci în fiecare loc. Ceea ce le diferenţiază
(dar nu apare explicit în graful de marcaj al funcţionării la
viteză maximală) este durata indisponibilăţii reziduale a
fiecărei mărci în momentul în care este atins un marcaj.
În figura 2.15 este explicitată această informaţie indicând între paranteze
duratele indisponibilităţii reziduale ale diferitelor mărci. Această durată este 0
pentru toate mărcile marcajului iniţial (dacă această ipoteză nu ar fi adevărată
atunci ar fi indicate valorile corespunzătoare).

Observaţie: Se poate remarca faptul că toate funcţionările reprezentate în


grafurile de marcaj din figurile 2.14 b), 2.14 c) şi 2.15 ajung la
un regim periodic după un anumit interval de timp. Această
proprietate are un caracter de generalitate.
Proprietate: Fie o RP P-temporizată ale cărei temporizări sunt numere
raţionale. Funcţionarea la viteză maximală a acestei reţele
conduce la o funcţionare periodică, după un interval finit,
pentru orice marcaj iniţial, dacă reţeaua este mărginită.
Cap. 2 – ModelareaSDED utilizand RP 47
Definiţie 2.33: O reţea Petri P-temporizată se spune că funcţionează la viteză
proprie dacă orice marcă nu rămâne într-un anumit loc decât
pe durata sa de indisponibilitate.
Altfel spus, funcţionarea la viteză proprie este o funcţionare la viteză
maximală astfel încât nici o marcă nu rămâne disponibilă. În cazul general, o
marcă poate rămâne disponibilă un anumit timp dacă ea nu este suficientă
pentru a valida o tranziţie. În acest caz, ea trebuie să aştepte ca alte mărci să
devină disponibile, în alte locuri. Funcţionarea la viteză maximală a RP P-
temporizate din figura 2.14 este o funcţionare la viteză proprie.
Pentru analiza regimului staţionar, sunt interesante frecvenţele de
declanşări ale tranziţiilor.

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).

În acest exemplu, se observă că


F1 = F2.

Cum d1=2 şi d2=3, rezultă că:


5F1 = M0(P1) + M0(P2) = 2.

De unde, avem că:


F1 = F2 = 2/5,

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

- X este un invariant de marcaj,


- D o matrice diagonală astfel încât Dii = dii este temporizarea
asociată locului Pi,
- W este matricea de incidenţă,
- F este vectorul frecvenţelor de declanşări,
- M0 este marcajul iniţial.
2) O relaţie între frecvenţele de declanşări ale diverselor tranziţii
corespunzătoare fiecărui invariant de declanşări, care se poate scrie
sub forma:
W .Y = 0, unde

- Y este un invariant de tranziţii.


3) Din toate aceste relaţii se deduc frecvenţele de declanşări
corespunzătoare funcţionării la viteză maximală (când problema are
soluţie).
Determinarea frecvenţelor de declanşări ale tranziţiilor permit evaluarea
anumitor performanţe ale sistemului: declanşarea unei tranziţii ar putea
corespunde, de exemplu, încheierii unui task, marcajul mediu al unui loc,
numărului mediu de clienţi în aşteptare pentru a fi serviţi.
Exemplul 2.3
Se consideră RP P-temporizată din figura 2.16. Se cere să se determine
frecvenţele de declanşări ale tranziţiilor T1 şi T2.
Funcţionarea la viteză proprie în bucla P2 – P3.
Sunt doi invarianţi liniari de marcaj care sunt :
M(P1) + M(P2) = 2, şi
Cap. 2 – ModelareaSDED utilizand RP 49
M(P2) + M(P3) = 1.

Din cele două relaţii rezultă cele două inecuaţii:


d1F2 + d2F1 2 (2.5)
d3F2 + d2F1 1. (2.6)
Inegalităţile ar deveni egalităţi dacă reţeaua ar funcţiona la viteză
proprie. Există un singur invariant de tranziţii (corespunzător secvenţei
repetitive minimale) din care se deduce:
F1 = F2. (2.7)

Pentru d1 = 2, d2 = 3 şi d d3 = 1, din (2.5), şi (2.7) rezultă că:


F1  2/5.

Din relaţiile (2.6) şi (2.7) rezultă că:


F1  1/4.

Din cele două rezultă imediat că:


P1 d1=2

T1
d2=3 d3=1
P2 P3

T2

Figura 2.16 Frecvenţe de declanşări

F1= min (2/5, 1/4) = 1/4.

2.4.2.2 Reţele Petri T-temporizate

Într-o RP temporizată, există două posibilităţi de modelare a temporizărilor:


ataşându-le fie locurilor, fie tranziţiilor. Dacă în RP temporizările sunt ataşate
tranziţiilor, atunci reţeaua se spune că este T-temporizată. Reţelele Petri P-
temporizate şi T-temporizate sunt echivalente. Din acest motiv se poate trece
de la un model la altul.
Definiţie 2.35: O reţea Petri T-temporizată este un dublet:
<R, Temp>,
astfel încât:
- R este o RP marcată,
50 Partea I – Modelare si analiza

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)

(sfârşit de) declanşare T2

Figura 2.17 Principiul de funcţionare al RP T-temporizate


- Temp: T Q+ , Tempo (Tj) = dj este temporizarea
asociată tranziţiei Tj.

Principiul de funcţionare al RP T-temporizate


O marcă poate avea două stări:
- poate fi rezervată pentru declanşarea unei tranziţii Tj
- poate fi nerezervată.
Funcţionarea reţelei T-temporizate este ilustrată cu ajutorul figurii 2.17.
Deîndată ce tranziţia T1 este declanşată, este depusă o marcă în locul P1, ceea
ce conduce la validarea tranziţiei T2. Din acest moment, se va putea decide
declanşarea T2. În momentul în care se decide declanşarea, marca necesară
acestei declanşări este rezervată. După scurgerea duratei d2, din momentul
deciziei de declanşare, tranziţia este efectiv declanşată. Marca rezervată pentru
declanşarea tranziţiei este extrasă din P1 şi o marcă nerezervată este depusă în
P2, ş.a.m.d.
Cap. 2 – ModelareaSDED utilizand RP 51
Fie t momentul de timp la care este decisă declanşarea tranziţiei T j şi t+dj
momentul de timp la care declanşarea este efectiv realizată. Această abordare
are avantajul de a prezenta declanşarea pe o durată nulă ceea ce este coerent
cu definiţia 2.2, în care se consideră că declanşarea unei tranziţii este
indivizibilă. De multe ori se utilizează un vocabular mai sugestiv: t este
începutul declanşării Tj şi t+dj este sfârşitul declanşării Tj. Unii autori spun
chiar că între t şi t+dj mărcile rezervate sunt “în” tranziţie.
Pentru o RP T-temporizată se pot, de asemenea, defini o funcţionare la
viteză maximală (deîndată ce o tranziţie este validată, mărcile necesare
declanşării ei sunt rezervate) şi o funcţionare la viteză proprie (deîndată ce o
marcă este depusă într-un loc, ea este rezervată pentru declanşarea unei
tranziţii).
Ca şi în cazul RP P-temporizate, pentru RP T-temporizate se pot calcula
frecvenţele de declanşări ale tranziţiilor în regim staţionar. Pentru calculul
frecvenţelor de declanşari se folosesc aceleaşi relaţii de calcul, cu observaţia
că numărul mediu de mărci într-un loc Pi este este cel puţin egal cu produsul
dintre frecvenţa de declanşări a tranziţiei sale de ieşire şi durata acestei
tranziţii, dacă tranziţia de ieşire a locului este unică, sau cu suma produselor
Tjdj unde Tj  Pi° dacă mulţimea locurilor de ieşire din Pi, Pi°,are mai mult de
un element. Pentru o RP t-temporizată trebuie contabilizate mărcile care ies
dintr-un loc, deoarece timpul de şedere în locul respectiv depinde de tranziţia
de ieşire.
Observaţie: După ce în definiţia RP s-a făcut precizarea că declanşarea
unei tranziţii are o durată nulă, modelul P-temporizat ar părea
mai logic decât modelul T-temporizat. Totuşi, cel de-al doilea
model se justifică dacă fiecare operaţie care are o anumită
durată se asociază unui loc cu o singură tranziţie de intrare şi o
singură tranziţie de ieşire. În acest caz, se obţine un model mai
compact utilizând o RP T-temporizată.

2.4.3 Reţele Petri stochastice

Într-o RP temporizată, se asociază o durată fixă fiecărui loc sau fiecărei


tranziţii a reţelei. Se obţin astfel, modele care sunt bine adaptate pentru studiul
sistemelor în care duratele operatorii sunt fixe. Un exemplu ar putea fi
sistemele de producţie unde timpul de lucru al unei maşini pentru a trata o
piesă este constant. Pe de altă parte, există fenomene care nu pot fi bine
modelate cu durate constante. Acesta este cazul, spre exemplu, al timpului de
bună funcţionare (între două defectări) al unei maşini. Această durată poate fi
52 Partea I – Modelare si analiza

stoc de intrare stoc de intrare

a)

Fiecare dintre maşini poate fi


operaţională sau în pană

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

Figura 2.18 Exemplu de modelare a penelor într-un


sistem de producţie

modelată printr-o variabilă aleatoare. În astfel de cazuri se pot utiliza Reţele


Petri stochastice.
În RP stochastice se asociază declanşării fiecărei tranziţii un timp aleatoriu.
Ipoteza cea mai frecventă este că temporizările sunt distribuite după o lege
exponenţială. Marcajul M(t) al unei RP stochastice (nu al unei RP cu
temporizări stochastice) este atunci un proces markovian omogen şi, deci,
oricărei RP stochastice i se poate asocia un lanţ Markov omogen.
Analiza unei RP stochastice face apel la metodele de analiză cunoscute.
Rezultatele privind invarianţii de marcaj şi de tranziţii sunt uşor generalizabile
la RP stochastice. Pentru aceste reţele sunt interesante conservarea marcajului
mediu şi frecvenţele medii de declanşare în regim permanent.

2.4.3.1 Definirea modelelor RP stochastice

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 client gata staţia 2


liberă pentru a fi liberă
P1 de servit

staţia 1
în lucru
T1 1 T2 2 staţia 2
în lucru

b)

Figura 2.19 a) RP stochastică b) RP cu temporizare stochastică

momentul t, şi că marcajul nu permite decât o singură declanşare a tranziţei


(acesta este cazul reţelei din figura 2.18 b) deoarece există o singură marcă în
locul P3). O maşină este susceptibilă de a cădea în pană. Intervalul de timp de
bună funcţionare între două pene este o variabilă aleatoare; se notează cu 2
rata de pană a unei maşini. Marcajul reţelei din figura 2.18 arată că o maşină
este în pană şi o maşină este operatională. O maşină în pană este reparată după
un interval de timp variabil, depinzând, spre exemplu, de gravitatea
defecţiunii, fie 3 rata de reparare.
Pentru a defini RP stochastice, vor fi prezentate în continuare două astfel de
modele prin intermediul figurii 2.19. În fiecare dintre cele două exemple există
o situaţie de conflict. Definirea fiecărui model este legată de interpretarea
conflictului.
În RP din figura 2.19.a) există un conflict între tranziţiile T 1 şi T2, deoarece
declanşările lor depind de marca din P1. Declanşarea T1 se produce la apariţia
evenimentului “sfârşit de servire”, iar declanşarea T 2, la apariţia evenimentului
54 Partea I – Modelare si analiza
“server în pană”. Tranziţia declanşată va corespunde, deci, evenimentului ce se
va produce primul. Durata de servire a unui client este o variabilă aleatoare D1
(de medie 1/1) şi durata de bună funcţionare a serverului pornind din marcajul
P1 este o variabilă aleatoare D2 (de medie 1/2). Numărul dj reprezintă o
realizare a variabilei Dj. Dacă d1<d2, atunci se va declanşa T1, dacă d1>d2,
atunci se va declanşa T2.
În figura 2.19.b) există, de asemenea, conflict între tranziţiile T 1 şi T2, dar
este de natură diferită. Marca P1 corespunde unui job (client) ce poate fi tratat
fie de către staţia 1, fie de către staţia 2. Trebuie, deci, făcută alegerea staţiei
ce va trata acest client (criteriul nu este în mod necesar durata de servire,
această durată putând fi, de altfel, necunoscută la momentul luării deciziei).
Dacă se alege staţia 1, durata de servire va fi d1, care este o variabilă aleatoare
de medie 1/1.
RP din figura 2.19.a) corespunde unei RP autonome a cărei evoluţie este
caracterizată de variabile aleatoare, şi această reţea este o RP stochastică.
Exemplul din figura 2.19.b) corespunde unei RP T-temporizate ale cărei durate
de declanşari sunt stochastice.Deîndată ce staţia a fost aleasă, mărcile
corespunatoare sunt rezervate; este o RP cu temporizare stochastică.
Înainte de a defini o RP stochastică şi o RP cu temporizare stochastică, se
introduce noţiunea de n-validare. Se consideră exemplul din figura 2.18.
Pentru marcajul M1 = [3,1,1,1…] al RP din figura 2.18.b), tranziţiile T1, T2 şi
T3 sunt validate, şi declanşabile la ratele 1, 2 şi 3. Dacă este declanşată
tranziţia T3, se atinge marcajul M2 = [3,1,2,0…]. Din M2 nu sunt validate decât
T1 şi T2, dar ele sunt declanşabile cu ratele 21 şi respectiv 22. Cele două
maşini fiind operaţionale , timpul mediu de servire este împărţit la doi; ceea ce
corespunde faptului că există suficiente mărci în P1 şi P3 pentru a “valida de
două ori” tranziţia T1, întrucât M2(P3) = 2 şi M2(P1)>2 (se spune în acest caz,
că tranziţia T1 este 2-validată). De manieră similară, T2 este 2-validată
(probabilitatea ca o maşină să cadă în pană, între momentele t şi t+dt este
2.2.dt).
Definiţie 2.36: a) Într-o RP ordinară Tj este n-validată dacă:
mini(M(Pi)) = n, Pi Tj.
b) Într-o RP generalizată Tj este n-validată dacă:
n  mini(M(Pi)) / W(Pi,Tj)) < n+1, Pi Tj,
unde, W(Pi,Tj) este ponderea arcului de la Pi la Tj.
Definiţie 2.37: O Reţea Petri stochastică este o RP autonomă în care se
asociază o temporizare aleatoare dj fiecărei tranziţii Tj, şi care
se comportă conform algoritmului 2.1.
Cap. 2 – ModelareaSDED utilizand RP 55
Algoritmul 2.1 Interpretarea unei RP stochastice
Pas 1. Iniţializarea marcajului. Calendarul termenului limită conţine t=0.
Pas 2. Fie X = {T1, T2, …,Tj,…} mulţimea tranziţiilor validate.
Pas 3. Pentru fiecare tranziţie Tj din mulţimea X, se calculează durata dj. Dacă
rata de declanşare asociată Tj este j, şi Tj este n-validată, atunci
declanşarea ei se face cu o rată n.j.
Pas 4. Fie
dm = min(d1, d2, …, dj,…) şi Tm tranziţia corespuzătoare.
Se înlocuieşte t cu t+dm în calendarul termenului limită.
Pas 5. Se declanşează Tm la momentul t. Pas2.

Definitie 2.38: O RP cu temporizare stochastică este o RP T-temporizată ce


funcţionează la viteză maximală, în care se asociază o
temporizare aleatoare fiecărei tranziţii.
Observaţie: O RP stochastică şi o RP cu temporizare stochastică au exact
acelaşi comportament dacă nu există conflict efectiv.

Pentru analiza unei RP, se pot utiliza două abordări complementare:


- prima abordare este cea a proprietăţilor de conservare a RP- calculul
invarianţilor de marcaj şi a invarianţilor de tranziţii- ce conduc la
relaţii de conservare a marcajelor şi a ratelor de declanşări;
- cea de-a doua abordare constă în construcţia grafului marcajelor
accesibile ale RP autonome sub-adiacentă RP stochastice şi etichetarea
fiecărui arc cu o rată de declanşări ce depinde de rata asociată
tranziţiei şi marcajelor locurilor din amonte de această tranziţie;
analiza RP stochastice conduce la analiza unui proces Markov omogen
cu un spaţiu al stărilor discret, în timp continuu. Această analiză este
posibilă numai în cazul în care reţeaua autonomă sub-adiacentă este
mărginită.

2.4.4 Reţele Petri colorate

Reţelele Petri sunt instrumente utile pentru modelarea proceselor în care


apar aspecte de concurenţă, sincronizare şi paralelism. În astfel de sisteme se
întâmplă deseori să existe aspecte repetitive. Aspectele repetitive se referă
uneori la părţi ale procesului care au descriere identică. Acestea sunt modelate
56 Partea I – Modelare si analiza
prin aceeaşi RP sau porţiune de reţea care se repetă de atâtea ori cate porţiuni
identice sunt. Dacă numărul acestor porţiuni identice din proces este mare,
creşte dimensiunea modelului care poate ajunge la dimensiuni care să îl facă
greu de exploatat.
Într-o RP, informaţia în general este purtată de loc. Prezenţa unei mărci
poate, spre exemplu, să modeleze o maşină disponibilă. Dacă locul este liber,
aceasta înseamnă că maşina este ocupată. Mai multe mărci într-un loc pot avea
semnificaţia numărului de piese identice dintr-un stoc. Dacă se doreşte să se
îmbogăţeasă informaţia conţinută de un loc din reţeaua Petri trebuie să existe o
modalitate de a distinge între mărcile diferite din acelaşi loc. Pentru aceasta, se
asociază fiecărei mărci din locul respectiv, un identificator numit “culoare” şi
informaţia este reprezentată de mulţimea loc-culoare. Rezultă astfel un nou
instrument de modelare: reţelele Petri colorate. Într-o RP colorată fiecare
tranziţie poate fi declanşată în mai multe moduri, reprezentate de diferitele
culori de declanşări care sunt asociate tranziţiei.
Definiţie 2.39: O Reţea Petri colorată este un cvintuplu:
R = <P, T, W, M0, C>,
unde:
- P este mulţimea locurilor,
- T este mulţimea tranziţiilor,
- C = {C1, C2, …} este mulţimea culorilor,
- M0 este marcajul iniţial,
- W este funcţia de ponderare a arcelor relativă la culorile de
declanşări.
O RP colorată se diferenţiază de o RP prin adăugarea mulţimii de culori. O
culoare
Ck = <ck1, ck2, …ckn>

se va nota fie global Ck, fie prin n-uplul care o defineşte.


Ca orice RP, reţeaua petri colorată are două tipuri de noduri: locuri şi
tranziţii, legate prin arce orientate.
Locurile. Un loc poate conţine mărci colorate, mai multe mărci de aceeaşi
culoare se pot gasi într-un loc la un moment dat, aşa cum este cazul reţelei din
figura 2.20. În această figură, locul P1 conţine tei mărci<b>, două marci <v> şi
o marcă <o>.
Tranziţiile. Fiecărei tranziţii îi este asociată o mulţime de culori, fiecare dintre
culori indică o posibilitate distinctă de declanşare. Tranziţia T 1 din figura 2.20
se poate declanşa în raport cu culoarea <b> în culoarea <v> sau în culoarea
<o>.
Cap. 2 – ModelareaSDED utilizand RP 57
Arcele. Ponderea unui arc este dată de funcţia W ca în definiţia 2.1 a RP, cu
deosebirea că, pentru RP colorate ea stabileşte o corespondenţă între fiecare
culoare a tranziţiei şi culorile locurilor din amonte sau aval de tranziţie.
Funcţia de ponderarea are în cazul RP colorate un argument suplimentar care
este culoarea Ck de declanşare a tranziţiei Tj. De asemenea, W(Pi, Tj/Ck) şi
W(Tj/Ck, Pi), corespund, în cazul general, unei combinaţii liniare de culori de
mărci relative la locul Pi. În figura 2.20:
W(P1, T1/<v>) = f(<v>) = <b> + <v>.

Se poate produce o “transformare” a culorilor odată cu declanşarea unei


tranziţii. Astfel declanşarea T1 în raport cu culoarea <b> extrage o marcă de de
culoarea <v> din P1 şi adaugă o marcă de culoarea <b>. în P2.

<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 

Figura 2.20 O porţiune dintr-o RP colorată

Evoluţia marcajului. Marcajul M(Pi) al unui loc Pi reprezintă numărul de mărci


de fiecare culoare din locul Pi. Marcajul iniţial al RP colorate din figura 2.20
este dat de marcajul locurilor P1 şi P2, unde:
M(P1) = 3<b> + 2<v> + <o>, şi
M(P2) = 0.

Suma simbolică M(P1) semnifică 3 mărci de culoarea <b>, 2 mărci de


culoarea <v> şi o marcă de culoarea <o>.
Fie C(Tj) mulţimea culorilor asociate tranziţei Tj. Această tranziţie poate fi
declanşată în raport cu una dintre aceste culori (numărul de culori din C(T j)
corespunde numărului de tranziţii are reţelei Petri echivalente necolorate care
au fost grupate într-o singură tranziţie în RP colorată). Fie Ck o culoare
58 Partea I – Modelare si analiza
oarecare din C(Tj) şi M marcajul curent al RP colorate. Tranziţia Tj este
validată pentru culoarea Ck din marcajul M dacă şi numai dacă numărul de
mărci conţinute de orice loc Pi care are Tj ca tranziţie de ieşire, este mai mare
cel puţin egal cu ponderea arcului Pi, Tj, adică:
PiTj, M(Pi)  W(Pi, Tj/Ck),
unde W(Pi, Tj/Ck) este imaginea culorii Ck prin funcţia pondere a arcului ce
leagă locul Pi de tranziţia Tj.
Spre exemplu, în figura 2.20, tranziţia T1 este validată în raport cu culoarea
<b> deoarece f(<b>) = <v> şi locul P1 conţine două mărci <v> (una singură ar
fi fost suficientă). În schimb, T1 nu este validată în raport cu culoarea <o>
deoarece ar fi trebuit ca în P1 să fie o marcă <b> şi două mărci <o>, şi P1 nu
conţine decât o singură marcă de culoare <o>.
La declanşarea unei tranziţii Tj validată în raport cu culoarea Ck, notată
Tj/Ck, se efectuează simultan următoarele două operaţii:
1) se extrag din fiecare loc Pi de intrare în Tj o cantitate de mărci egală cu
W(Pi,Tj/Ck);
2) se depun în toate locurile Pm de ieşire din Tj o cantitate de marci egală cu
W(Tj/Ck, Pm).
Dacă M’ este marcajul obţinut după declanşarea tranziţiei T j/Ck, acesta se
poate deduce din marcajul M după relaţia următoare:
Pi, M(Pi)’ = M(Pi) + W(Tj/Ck, Pi) – W(Pi, Tj/Ck).

În exemplul din figura 2.20, tranziţia T1 este validată în raport cu culoarea


<b> şi, deci, ea poate fi declanşată în raport cu această culoare. Declanşarea
T1/<b> constă în
1) extragerea unei mărci de culoare <v> din P1, deoarece f(<b>)= <v>;
2) depunerea unei mărci <b> în locul P2, deoarece g(<b>) = <b>.

Reţelele Petri colorate sunt instrumente utile pentru modelarea sistemelor în


care există mai multe părţi ce au o funcţionare identică, şi sunt utilizate, în
general, pentru micşorarea dimensiunii modelului. Pentru determinarea
proprietăţilor acestei clase de RP, se pot utiliza metodele generale.
Determinarea proprietăţilor acestor RP utilizând graful de marcaj nu este o
abordare realistă dată fiind dimensiunea impresionantă la care poate ajunge
graful de marcaj. Utilizarea algebrei liniare este posibilă, dar destul de
complicată. Determinarea sistematică a proprietăţilor este destul de dificilă, în
schimb verificarea proprietăţilor despre care se ştie că trebuie să existe, este
mult mai simplă. Plecând de la caietul de sarcini, se pot determina, intuitiv,
invarianţii de marcaj. Verificarea că aceaşti invarianţi există în model, permite
validarea descrierii.
Cap. 2 – ModelareaSDED utilizand RP 59
2.5 Exemplu de modelare cu RP a unui proces real

Pentru a modela aspectele repetitive legate de fabricarea mai multor


exemplare ale aceluiaşi produs, se consideră exemplul din fig. 2.21, în care se
prezintă organizarea unui sistem de asamblare (pe scurt, SA) simplu, în care se
asamblează produse din două componente elementare, a şi b.

În alcătuirea obiectelor intervin paletele P, x, y, şi z precum şi doi efectori


(de exemplu 2 prehensori manipulaţi de un singur robot sau de doi roboţi).
Componentele a şi b se iau din staţii de încărcare pe paletele x şi y, şi produsul
final a+b este depus pe paleta z într-o staţie de descărcare.
Modelul RP al sistemului de asamblare, prezentat în fig 2.21, este dat în
fig.2.22. Sistemul considerat constă în două staţii de lucru P1 şi P2, deservite
respectiv de roboţii R1 şi R2. În reţeaua Petri din figura 2.22, un loc codifică un
obiect localizat, ceea ce face ca, spre exemplu, locurile A şi B să fie ataşate
aceluiaşi obiect a+EF1, dar care nu are aceeaşi poziţie în cadrul SA; o tranziţie
codifică un task, astfel încât:
- robotul R1 dotat cu prehensorul EF1 execută acţiunile: t1 ,t2 ,t5 ,t6 ,t17
şi t18;
- acţiunea t7 este executată de banda transportoare;
- robotul R2 dotat cu prehensorul EF2 execută celelalte acţiuni.
Se remarcă, pe figura 2.22 existenţa a 6 cicluri, corespunzătoare celor
6 tipuri de resurse utilizate: a, b, P, x, y şi z. Un ciclu este o secvenţă de locuri
ataşate unor obiecte ce conţin o anumită resursă, secvenţă care se va parcurge
în mod repetat pentru fabricarea mai multor exemplare de produs.
60 Partea I – Modelare si analiza

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

Ciclurile corespunzătoare paletelor x, y, z sunt reprezentate incomplet,


nedorindu-se detalierea proceselor de încărcare a componentelor de intrare şi
de descărcare a produsului finit. Evidenţierea resurselor şi a ciclurilor ataşate
lor permite determinarea componentelor conservative şi a invarianţilor de
marcaj ai reţelei. De exemplu, efectorul EF1 se găseşte, la un anumit moment,
doar în componenţa unuia dintre obiectele ataşate locurilor A, B, C sau D şi
deci numai unul dintre aceste obiecte poate exista la un moment dat. Avem
deci componenta conservativă {A, B, C, D} şi invariantul de marcaj:
m(A)+m(B)+m(C)+m(D) = 1

În situaţiile în care există r resurse de acelaşi tip, valoarea 1 este înlocuită


cu r. De exemplu, dacă în sistemul nostru am avea r palete de acelaşi tip, am
obţine invariantul de marcaj:
m(E)+m(F)+m(G)+m(H)+m(I)+m(J)+m(K)+m(L) = r

În cazul considerat, r = 1. Modelarea unui număr r de resurse de acelaşi tip


se traduce printr-un anumit marcaj iniţial. Să mai remarcăm că, în funcţie de
structura reţelei, mai există şi alte componente conservative, neasociate
ciclurilor aferente resurselor, de exemplu, în cazul considerat:
m(E)+m(F)+m(G)+m(H)+m(I)+m(M)+m(K)+m(L) = r

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

S-ar putea să vă placă și