Documente Academic
Documente Profesional
Documente Cultură
Introducere
Teoria reţelelor Petri (engl.: Petri nets) îşi are originea în teza de doctorat a lui
Carl Adam Petri "Kommunication mit Automaten". Aceasta a fost susţinută în anul 1962
la Universitatea Tehnică din Darmstadt. Utilizate iniţial în studiul şi analiza fluxului
informaţiei s-au dovedit a fi deosebit de utile în descrierea operaţiilor paralele,
concurente, asincrone, distribuite, posibil nedeterministe. Ele pot fi folosite la
reprezentarea interconectării dintre entităţi, la analiza sau sinteza sistemelor cu
evenimente discrete în general, dar prin extensie şi la sisteme continue. Utilizarea
modelării, sintezei şi analizei prin intermediul reţelelor Petri (PN) a dus la rezultate
semnificative în următoarele domenii:
sisteme software distribuite;
sisteme de operare şi compilatoare;
baze de date distribuite;
limbaje formale;
programe logice;
programe paralele şi concurente;
sisteme de control pentru procese industriale;
sisteme flexibile de fabricatie;
sisteme cu evenimente discrete;
sisteme multiprocesor;
automate programabile;
circuite si structuri asincrone;
retele locale;
filtre digitale;
modele de decizie.
Retelele Petri sunt instrumente teoretice bazate pe grafuri. Reprezentarea grafică
a retelelor Petri faciliteaza înţelegerea si utilizarea lor. De asemenea, li se poate atasa un
formalism matematic util pentru analiza.
Un graf este un set de obiecte (noduri) între care exista relatii. Grafurile permit
descrierea relatiilor între locuri (orase, puncte într-un circuit), dar modeleaza de
asemenea sisteme dinamice discrete si finite, unde:
nodurile reprezinta starile sistemului;
arcele reprezinta tranzitii între stari.
tranzitie trivial
despartire
colectare
locatie terminala
locatie initiala
locatie triviala
ramificatie
jonctiune
Figura 2.1
In tabelul urmator se prezinta câteva dintre cele mai întâlnite interpretari ale
tranzitiilor si locatiilor:
Exista arce care pornesc de la locatii spre tranzitii, sau de la tranzitii spre locatii,
etichetate cu ponderea (engl.: weight) lor. Exista pre(p,t) arce cu ponderea unu, orientate
de la locatia p la tranzitia t (sau un arc cu valoarea pre(p,t)) si post(t,p) are cu ponderea
unu orientate, de la t la p (sau un arc cu ponderea post(t,p)). Pentru a reprezenta marcajul
unei locatii la un moment dat se folosesc puncte desenate în interiorul cercului. Acestea
poarta denumirea de jetoane (engl.: tokens). Jetoanele servesc la reprezentarea starii si
deci la reprezentarea evolutiei dinamice a sistemului. Prin conventie, ponderile arcelor
egale cu unu nu se marcheaza pe figuri.
Locaţia p este o locatie de intrare pentru tranzitia t daca exista un arc de la p la t si
este o locatie de iesire pentru t, daca exista un arc de la t la p. Similar, o tranzitie poate fi
tranzitie de intrare sau tranzitie de iesire, pentru o anumita locatie.
unde:
P = {p1, p2, ..., pm} este multimea finita, nevida, a locatiilor;
T = {t1, t2, ..., tn} este multimea finita, nevida, a tranzitiilor;
pre: P x T N este o functie de incidenta "înainte" sau de intrare, definita astfel:
PN = (N, M0)
M : P N este marcajul (marking).
P T = F si P T F,
adica cele doua seturi sunt disjuncte, iar reuniunea lor trebuie sa includa cel putin un nod.
Uneori se adauga definitiei precedente înca o marime, care exprima capacitatea
maxima a locatiilor: K : P N. Se presupune ca marcajul initial nu depaseste capacitatea
locatiilor, adica:
M(p) < K(p), p P.
Aceasta marime se utilizeaza pentru a impune ca marcajele locatiilor sa nu
depaseasca capacitatile corespunzatoare.
N = (P, T, F, W)
0
t = {p | p P, pre(p,t) 0}
sau
0
t = {p | p P, (p,t) F}
Se defineste setul locatiilor de iesire, t0 dintr-o tranzitie t, prin:
t0 = {p | p P, post(t,p) 0}
sau
t0 = {p | p P, (t,p) F}
0
p = { t | t T, post(t,p) 0}
0
p = { t | t T, (t,p) F}
si
p0 = { t | t T, pre(p,t) 0}
p0 = { t | t T, (p,t) F}
Exemplul p1 p2 p3
Pentru reţeaua Petri din figura 2 se pot 2 2
pune în evidenta seturile: t1
-1 0
-2 0
-2 0
C= 1 -1
1 -1
0 1
Notând cu Pre si Post matricile care au ca elemente valorile functiilor pre si
respectiv post, se obtine:
C = Post - Pre
Admisibilitatea tranzitiilor
Comportamentul dinamic
Fie M marcajul retelei înainte de executia (engl.: fire) tranzitiei executabile t, iar
M' marcajul dupa executia ei. Se noteaza cu M[t M' faptul ca M' ese obtinut prin
executia tranzitiei t din M. Transformarea marcajului este data de relatiile:
et(x) = 1, dacă x = t
0, altfel
Ecuatia de mai sus este o ecuatie de stare, în care M reprezinta starea actuala, M',
starea urmatoare, iar et este vectorul de intrare.
In concluzie, starea sau marcajul retelei Petri se modifica dupa urmatoarele reguli:
1. O tranzitie t este executabila, daca fiecare locatie de intrare p a lui t are cel
putin
pre(p,t) jetoane;
2. Nu este necesar ca o tranzitie admisibila sa fie executata imediat. Tranzitiile se
executa în momentul în care au loc evenimentele reale, sau cele carora le
corespund;
3. Executia unei tranzitii executabile deplaseaza pre(p,t) jetoane din fiecare
locatie de
intrare p a lui t si adauga post(t,p) jetoane în fiecare locatie de iesire p a lui t.
t1 t2 t3 tk
M0 M1 M2 ... Mk
Ecuatia de stare din marcajul M0 pâna la marcajul Mk, pentru secventa de tranzitii
=t1t2 ..., este:
unde este vectorul de numarare a executiilor din . (t) reprezinta numarul executiei
tranzitiei t în . Ecuatia de mai sus se numeste ecuaţia fundamentala sau ecuatia de stare
a sistemului retea.
Introducere
Sistemele sunt definite ca un ansamblu de elemente între care există interacţiuni şi/sau
interdependenţe. Studiul proprietăţilor acestor elemente, precum şi a interacţiunilor corespunzătoare,
permite determinarea comportării ansamblului. Atunci când una sau mai multe caracteristici ale sistemului
se schimbă în raport cu timpul, sistemul este dinamic.
Primul pas în analiza unui sistem îl constituie precizarea mărimilor a căror măsurare şi evoluţie
prezintă importanţă în vederea atingerii unui scop.
Teoria sistemelor studiază comportarea sistemelor, luând în considerare proprietăţile subsistemelor
sau elementelor care le compun, precum şi interacţiunile dintre acestea.
Mărimile (influenţele) care provin din exteriorul sistemului, acţionează asupra lui şi nu sunt în
mod direct afectate de ceea ce se întâmplă în sistem, se numesc mărimi de intrare. Mărimile urmărite, a
căror valoare sau evoluţie sunt modificate sub influenţa mărimilor de intrare, se numesc mărimi de ieşire.
Semnalele sau variabilele ataşate sistemului pot fi: variabile logice, multinivel, discrete, continue,
stochastice şi fuzzy
Sisteme dinamice
Sist. liniare
Sist.neliniare
Tipuri de sisteme
Sisteme continue
Sistemele continue (SC) pot fi descrise de ecuaţii algebrice, obţinându-se sisteme continue fără
memorie, sau de ecuaţii diferenţiale, rezultând sisteme continue cu memorie. Schema bloc a unui sistem
continuu cu m intrări şi q ieşiri, respectiv evoluţia în timp a mărimilor sale de intrare, ui şi ieşire yj, sunt
prezentate în figurile 1.1 şi 1.2. (Atât mărimile de comandă cât şi mărimile perturbatoare sunt considerate
mărimi de intrare).
În cazul sistemelor cu memorie, introducerea mărimilor de stare, permite descrierea unor
fenomene de acumulare care au loc în proces. Dacă se notează cu uRm vectorul mărimilor de intrare, cu
yRq vectorul mărimilor de ieşire şi cu xRn vectorul mărimilor de stare, modelul dinamic al sistemului
este dat de relaţiile:
x = f(x,u,t)
y = g(x, t)
u1 y1
. . yj
. .
. .
um yq ui
x, u, y
0 1 2 3 4 5 t
Estimarea funcţiei iniţiale între două momente de eşantionare consecutive se poate realiza cu un
extrapolator de ordinul zero, care menţine valoarea testării precedente în cursul unei perioade de
eşantionare date, figura 1.3. Dinamica sistemelor cu eşantionare este descrisă de:
unde k Z - mulţimea numerelor întregi. Sistemele discrete descrise prin modelul de mai sus sunt sisteme
discrete cu memorie, comportarea sistemelor discrete fără memorie fiind dată de:
y(k) = f(u(k))
Uzual, controlul sistemelor discrete este realizat cu calculatoare, automate programabile, DSP-uri,
etc., semnalul eşantionat fiind apoi cuantificat. În figura 1.4 sunt prezentate procesul de eşantionare şi
procesul de cuantificare a unui semnal analogic x(t). Sunt reprezentate 3 niveluri de cuantificare. Fiecărei
valori eşantionate a semnalului analogic îi este atribuită valoarea inferioară a nivelului de cuantificare, cea
mai apropiată de valoarea reală a eşantionului. Cuantificarea apare în cadrul conversiei analog-numerice, a
celei numeric-analogice şi în calculator, determinând o anumită pierdere a preciziei.
n+2
n+1
Atât sistemele continue, cât şi cele cu timp discret pot fi liniare sau neliniare, în cazul sistemelor
liniare fiind valabil principiul suprapunerii efectelor.
V1
h
plin
S1 nivel lichid h h’
nici gol
nici plin
gol
V2
S2
Figura 1.5 Rezervor cu lichid Figura 1.6 Reprezentarea variabilelor discrete
care caracterizează rezervorul cu lichid
Procese cu evenimente discrete de timp real
Din punct de vedere formal, sistemele cu evenimente discrete sunt considerate, de obicei, ca
sisteme dinamice (sisteme dinamice cu evenimente discrete sau SDED) caracterizate prin existenţa unui
spaţiu al stărilor şi a unui mecanism de tranziţie a stărilor. Evoluţia SED fiind determinată de evenimente,
modelarea şi analiza lor necesită un cadru matematic nou, diferit de cele anterioare, bazate pe ecuaţii
diferenţiale sau ecuaţii cu diferenţe finite.
Abordările SED pot fi grupate luând în considerare principiile fundamentale şi implicit direcţiile
de cercetare urmate. În acest sens sunt menţionate:
limbaje naturale;
limbaje formale şi automate;
limbaje de simulare a evenimentelor discrete;
automate stochastice temporizate;
maşini cu stări finite;
(diferite tipuri de) reţele Petri şi grafuri de evenimente;
procese recursive finite;
algebra proceselor;
lanţuri Markov;
reţele de cozi (de aşteptare);
abordările orientate pe modele din ştiinţa calculatoarelor;
diagrame ale fluxurilor de date etc.
Aplicaţii ale sistemelor cu evenimente discrete se întâlnesc la descrierea, analiza, sinteza, controlul
sau verificarea:
sistemelor flexibile de fabricaţie;
reţelelor de comunicaţie;
sistemelor de transport;
sistemelor logistice.
Sisteme hibride
Sistemele hibride sunt formate dintr-o parte continuă şi o parte cu evenimente discrete. Metodele
de abordare a sistemelor hibride utilizează diverse mecanisme care pun în legătură descrierea părţii
continue cu cea a părţii cu evenimente discrete.
Sisteme de control
Principalele elemente componente ale unui sistem de conducere automată sunt: procesul tehnic,
care are loc într-un sistem fizic (engl.: physical system) sau instalaţie (engl.: plant) şi sistemul de control,
numit şi sistem de elaborare a deciziilor sau controler (engl.: decision making system). Procesul este partea
sistemului care trebuie condusă. În cadrul sistemelor în buclă închisă, reacţia contribuie la restabilirea
echilibrului, în cazul în care perturbaţiile acţionează asupra procesului, figura 1.7. Astfel, în urma
măsurătorilor efectuate, controlerul primeşte informaţii referitoare la starea concretă a procesului şi
efectuează corecţia, elaborând o comandă adecvată. Dacă implementarea controlerului este realizată printr-
un software de timp real, modificarea metodelor de control se poate face cu mai multă uşurinţă, iar
complexitatea acestora poate fi extinsă. Perturbaţie
Canale de comandă
Controler Instalaţie
Canale de măsură
Figura 1.7
Proiectarea unui sistem de control diferă de proiectarea unui program al unui sistem care nu este
interactiv din două puncte de vedere importante:
1. formalismul de proiectare trebuie să fie suficient de flexibil pentru a putea reprezenta şi
modela procesul tehnic ca parte integrantă a întregului sistem; pot fi examinate atât comportarea
nesatisfăcătoare a procesului, cât şi efectul pe care diferitele strategii de conducere le au asupra
procesului;
2. corectitudinea software-ului de control este numai o parte care condiţionează comportarea
corectă a procesului. Dacă software-ul controlerului duce la rezultate mai puţin performante
(relativ la specificaţiile sale locale), într-un mod care nu are impact major asupra procesului,
consecinţele acestora sunt deseori dificil de apreciat practic.
Exemplul 1
Se consideră un sistem de conducere în care este controlat debitul de fluid dintr-o conductă.
Procesul constă din conductă, o valvă fixată pe conductă şi un debitmetru. Se presupune că procesul este
modelat printr-un obiect matematic P şi Sp este o specificare a comportamentului cerut al instalaţiei. O
formulare informală a lui Sp ar putea fi: să asigure un debit constant (fără variaţii bruşte) al fluidului prin
conductă.
Sp trebuie să exprime ce trebuie să se realizeze în proces, referindu-se astfel la entităţi ale acestuia
(de exemplu la conductă şi debitul de fluid) şi nu la entităţi care sunt legate de controler. În acest mod,
specificarea cerinţelor (ce trebuie să se realizeze) se delimitează de proiectare (cum trebuie să se realizeze).
Odată procesul modelat (prin P) şi cerinţele specificate (prin Sp), trebuie dezvoltat controlerul care
asigure realizarea acestor cerinţe. De exemplu, în problema conductei regulatorul trebuie să efectueze un
calcul urmând etapele:
1. primeşte la intrare valoarea curentă citită a debitului;
2. dacă valoarea debitului este incorectă, calculează un nou unghi al valvei;
3. comandă mişcarea valvei, conform unghiului calculat.
Calculele trebuie efectuate într-un interval de timp scurt situat între recepţionarea valorii de intrare şi
momentul în care răspunsul trebuie să fie disponibil.
Multe metode de proiectare consideră că scopul a fost atins dacă s-au specificat cerinţele
controlerului. Soluţia obţinută nu este însă întotdeauna satisfăcătoare deoarece trebuie să se verifice şi să se
garanteze că este respectat comportamentul dorit, adică, formal se poate scrie condiţia :
P & C Sp.
z
Controler Controler
i
c y c
w Proces y w Proces
Intrările sunt condiţii şi evenimente. Starea unui controler logic se poate schimba dacă este
adevărată o condiţie, sau când se produce un eveniment.
Starea (mediului, sau în general a SED) este informaţia necesară pentru determinarea evoluţiei
sistemului (de exemplu: numărul de piese dintr-un buffer, nivelul lichidului într-un rezervor). Starea unui
SED poate fi reprezentată deseori prin variabile logice.
O propoziţie logică formată cu variabile logice şi operatori logici poartă numele de predicat. Un
predicat poate lua valorile: adevărat şi fals. Pentru descriere, nu se folosesc întotdeauna expresii logice.
Predicatele sunt deseori utilizate pentru descrierea sau condiţionarea comportamentelor sistemelor cu
evenimente discrete.
Un eveniment poate fi definit ca trecerea de la o valoare la alta a unei variabile logice. Conform
unei precizări anterioare evenimentul nu are durată, sau durează zero unităţi de timp.
Ieşirile pot fi sub formă de:
nivel (modelate prin variabile logice care iau valoarea 1 sau 0 pentru intervale de timp finite sau
infinite), corespunzând unor componente ale stării;
impuls (nu au durată), corespunzând unor evenimente.
Exemplul 2
Se consideră un sistem format dintr-o uşă şi un dispozitiv de control care comandă deschiderea şi
închiderea acesteia. Figura 1.10.a reprezintă situaţia în care uşa este deschisă sau închisă un interval mai
mare de timp. În figura 1.10.b este reprezentată comanda închide uşa sau deschide uşa, dată de un
controler, ca urmare a apropierii sau îndepărtării unei persoane de uşă.
Starea este reprezentată de o mărime care descrie că uşa este deschisă sau închisă. Evenimente
sunt tranziţiile uşii din starea închisă spre starea deschisă, sau comenzile corespunzătoare.
Comenzile pot fi date fie prin impulsuri, fie prin semnale cu două niveluri. Ieşirile pot fi semnale
care arată că uşa este deschisă sau închisă, precum şi impulsuri anunţând că se deschide sau se închide uşa.
C1
a) t
C2 1
t t1 t2 t3 t4 t
b)
Figura 1.10Reprezentarea ieşirii şi a Figura 1.11 Reprezentarea momentelor
comenzii evenimentelor a şi a’
Fie a o variabilă logică care ia valoarea a = 1, pentru t[t1, t2) şi t [t3, t4), conform reprezentării
din figura 1.11. Evenimentul a se produce în momentele t1 şi t3. Dacă se notează cu a’ complementarul lui
a, atunci evenimentul a’ se produce în momentele t2 şi t4.
Fie b o altă variabilă logică. b simbolizează un evenimentul determinat de schimbarea valorii lui
b. a . b este un eveniment care se produce în acelaşi timp cu a, dacă b = 1 în momentul respectiv.
Evenimentul a . b (SI logic) se produce în acelaşi timp cu evenimentele a şi b, dacă acestea se produc
simultan. Aceasta nu este posibil deoarece două evenimente independente nu pot fi simultane. Mai exact,
deoarece duratele evenimentelor sunt zero, probabilitatea ca ele să se producă simultan este zero. De
exemplu, dacă se generează cu calculatorul două impulsuri, pe canale diferite, realizate pe porturi distincte,
ele nu pot fi independente şi simultane.
a + b este evenimentul care se produce dacă se produc fie a, fie b (adică este un SAU
logic).
Următoarele relaţii sunt evidente:
a + b a . b
(a) . b a + b
a . b a . b
Prin repetare succesivă, se generează o traiectorie compusă din secvenţa de perechi stare-
eveniment.
Iniţial, odată cu o stare de start x1, fiecărui eveniment posibil din x1 ((x1)), i se asociază
durată de viaţă Cα(1). Cel mai mic Cα(1) determină evenimentul de comutare, *. Timpul poate fi
incrementat până la momentul comutării :
τ= τ 1 = τ 0 + Cα*(1)
lS = (e1, t1) (e2, e2) (e3, e3) ... (ei, ti) ... (en, tn)
S = (x1, t1) (x2, t2) (x3, t3) ... (xi, ti), ... (xn, tn)
În figura 1.12 este dată o reprezentare posibilă a relaţiilor dintre starea sistemului şi evenimente.
x6
x5
x4
x3
x2
x1
t1 t2 t3 t4 t5 t6 t7
e1 e2 e3 e4 e5 e6 e7
Exemplul 3
Se consideră X un set {0, 1, 2, 3, ...}, reprezentând un număr posibil de consumatori, care aşteaptă
la coadă să fie serviţi, iar T un set reprezentând evenimentele posibile:
T = {sosire, plecare}
Mecanismul de ceas constă din două şiruri de evenimente cu intervale de timp aleatoare între
sosiri şi între evenimente, care sunt generate utilizând informaţia de distribuţie dată.
Funcţiile de tranziţie a stării sunt:
1. Modul de programare a perturbaţiilor în sistem şi intervalul de timp necesar pentru dispariţia lor
completă.
2. În absenţa unui mers al trenurilor, dar respectând constrângerile conform cărora trenurile aşteaptă
unele după altele, care este viteza de operare a sistemului?
3. Care sunt elementele cheie ale sistemului care determină timpul minim de operare? Presupunând că
sunt introduse trenuri suplimentare în sistem, care sunt liniile pe care trebuie să circule?
Primăvară Vară
Iarnă Toamnă
Comandă pornire
Motor Motor
oprit pornit
Comandă oprire
Schema funcţională, împreună cu descrierea în limbajul curent ale unui sistem cu evenimente discrete
comandat sunt prezentate în figura 1.15. Se consideră un vagonet care se poate deplasa între punctele A şi
B. În punctul A, un operator poate comanda încărcarea vagonetului. Acesta se deplasează până în punctul
B. La sosirea vagonetului în punctul B, încărcarea se efectuează prin deschiderea unei trape. În momentul
în care încărcarea s-a terminat, trapa se închide şi vagonetul se reîntoarce în punctul A, unde încărcătura sa
poate fi utilizată. La o nouă cerere de încărcare, vagonetul va porni din nou. Starea iniţială este starea de
aşteptare a comenzii în punctul A.
Încărcare
Cerere de
încărcare Vagonetul aşteptă/
Utilizarea încărcăturii
Cerere de
încărcare
Utilizare
înărcătură
Vagonetul se
B deplasează la
A dreapta
Vagonetul a
ajuns în B
Încărcarea s-a
terminat
Vagonetul se deplasează la
stânga
Vagonetul a ajuns
în A
Vagonetul aşteptă/
m Utilizarea încărcăturii
Controler
Cerere de
încărcare m
Vagonetul se D=1
a b p D G Desc deplasează la
dreapta
Vagonetul a
Proces ajuns în B b
Încărcarea s-a p
terminat
Vagonetul a ajuns a
în A
Figura 1.16
Intrările automatului sunt notate cu m, a, b, p, prima reprezentând apăsarea pe buton şi fiind exterioară
sistemului. Celelalte reprezintă semnale primite de traductoare plasate în cadrul procesului. Acestea
transmit semnale atunci când vagonetul ajunge în punctele A, respectiv B sau când încărcarea s-a terminat.
Ieşirile automatului sunt D, S, Desc acţionează asupra procesului şi reprezintă comenzile de deplasare la
dreapta, la stânga, respectiv de deschidere a trapei (încărcare a vagonetului).
Subclase de reţele Petri
Reţele pure
O locatie p si o tranzitie t formeaza o bucla elementara daca verifica relatia:
pre(p,t) post(t,p) 0
p1
t t1 t2
p t1 p1 t1
p2
a) b) c)
Figura 3
Murata (1989) descrie un algoritm care transforma o retea pura cu capacitati finite
(N,M0), în care se utilizeaza regula stricta de admisibilitate, într-o retea echivalenta în care se
utilizeaza regula nestrictă de admisibilitate:
Pas 1. Se adauga o locatie complementara p' pentru fiecare locatie p. Marcajul initial
al fiecarei locatii complementare este dat de relatia:
In acest fel, numarul jetoanelor din locatia p si din locatia sa complementara p' este
egal cu capacitatea K(p), atât înainte cât si dupa executia tranzitiei t.
Exemplul 2
In figura 4.a s-a reprezentat o retea Petri în care se utilizeaza regula stricta de
admisibilitate a tranzitiilor. In urma aplicarii algoritmului de mai sus, se obtine reteaua Petri
din figura 4.b, în care se utilizeaza regula nestrictă de admisibilitate.
2 p2’
2 K(p1)=2 K(p2)=1 2 t2
t2 2
2 2
p1’
t1 p1 t3 t1
p2 t4 p1 t3 p2 t4
a) b)
Figura 4
Primul pas al algoritmului cere sa se adauge locatiile p1’ si p2’. Marcajele lor sunt date
de relatiile:
Locatiile adaugate trebuie conectate la tranzitii prin arce cu ponderea data de relatiile:
t1 t1
post(t2, p2’) = pre(p2, t2) = 0, t4 20
t2 t3
pre(p2’, t3) = post(t3, p2) = 1, t4
00 01
t4
t1
post(p2’, t3) = pre(p2, t3) = 0, 11
t2
t1
pre(p2’, t4) = post(t4, p2) = 0,
21
Pentru a verifica daca cele doua retele sunt echivalente se construieste graful de
realizare al retelei Petri din figura 4.a. Un graf de realizare are ca noduri setul tuturor
marcajelor realizabile din marcajul initial, iar ca arce tranzitiile corespunzatoare. Acesta este
reprezentat în figura 5. In interiorul elipselor s-au notat marcajele locatiilor, iar pe arce
tranzitiile care se executa. Se observa ca graful de realizare cuprinde toate evolutiile posibile
ale marcajului, precum si toate tranzitiile care pot fi executate din fiecare marcaj. Daca se
construieste graful de realizare al retelei Petri din figura 4.b, acesta este similar cu cel din
figura 5, cu deosebirea ca starea, în acest din urma caz, este data de cele patru elemente ale
vectorului [p1, p2, p1’, p2’]. Cele doua grafuri sunt echivalente din punctul de vedere al
secventelor de tranzitii executabile, prin urmare cele doua retele Petri sunt izomorfe, adica pot
executa aceleasi secvente de tranzitii.
O retea Petri se numeste ordinara daca ponderea tuturor arcelor sale este egala cu unu.
O retea Petri se numeste de tip conditie/eveniment (C/E) daca este ordinara si în plus
capacitatea locatiilor sale este egala cu unu. In acest caz, locatiile reprezinta conditii, iar
tranzitiile evenimente.
Reteaua Petri este de tip locatie/tranzitie (P/T) daca locatiile pot avea capacitatea mai
mare decât unu, iar arcele de asemenea pot avea ponderea mai mare decât unu.
Se defineste ca masina de stare (MS), o retea Petri ordinara, în care fiecare tranzitie
are câte o singura locatie de intrare si câte o singura locatie de iesire (figura 6), adica:
Cu |0t| şi |t0| s-a notat cardinalul multimii |0t|, respectiv a mulţimii |t0|.
Retele Petri de acest tip pot modela numai sisteme cu stari finite. Nu pot descrie
sincronizari sau paralelismul structural, dar pot descrie concurenta.
Corect Incorect
.. ..
MS
. .
Figura 6
O retea Petri ordinara se numeste graf de marcaje (GM) sau graf de evenimente (engl.:
event graph), daca oricare locatie a sa are exact o tranzitie de intrare si o tranzitie de iesire
(figura 7), adica:
|0p| = |p0| = 1
Corect Incorect
.. ..
GE
. .
Figura 7
Reteaua Petri este simpla, daca orice tranzitie are cel mult o locatie comuna cu alte
tranzitii (figura 8).
O retea Petri ordinara se numeste cu conflicte libere (engl.: free-choice net), daca
pentru oricare doua tranzitii care au în comun o locatie de intrare, aceasta este singura lor
locatie de intrare (figura 9). Aceste retele pot modela secventialitatea, relatiile conflictuale si
concurentiale. Nu permit modelarea activităţilor secventiale care se exclud mutual prin
semafoare.
Corect Incorect
SN
Figura 8
Corect Incorect
CLN
Figura 9
Caracteristici de modelare
Utilizând diverse structuri elementare, cu retelele Petri se pot descrie urmatoarele probleme:
secventialitatea, paralelismul, excluderea mutuala si nedeterminismul.
In figura 10 tranzitiile t1 si t2 sau t3 si t4 se vor executa secvential. Secventele t1, t2 si t3, t4 se vor executa
concurent. Nu exista nici o constrângere ca ele sa se execute în acelasi timp, dar se pot executa astfel. Doua
tranzitii se numesc concurente daca sunt cauzal independente.
p1 p4
p1 p1 p2
t1 t3
p2 p5
t1 t2 t1 t2
t2 t4
a) b)
p3 p6
Figura 11
Figura10
t3
p1 p2
p1 p2 p4
t1 t2 t3 t1 t2
a) b)
Figura 12
Reteaua Petri din figura 13 este un exemplu de sincronizare. Jetoanele, in locatiile p3 si p4 sau p7 si p8, se
vor înscrie simultan (adica sincron). Similar, din locatiile p1 si p2 sau p5 si p6 jetoanele vor fi extrase simultan.
Totusi nu se poate afirma ca tranzitiile t1 si t2 se vor executa sincron, doar ca vor fi admisibile în acelasi moment
de timp. Ele se execută concurent.
p1 p2
t5
p3
p4
t3 t4
t1 t2
p5 p6
t6 p8
p7
Figura 13
Daca se cere sa se sincronizeze doua activitati distincte, atunci acestea trebuie sa fie cuprinse
în aceeasi tranzitie, cum ar fi cea care este reprezentata în figura 14.a. Aceasta se poate
descompune conform reprezentării din figura 14.b.
t t1 p t2
a) b)
Figura 14
In reteaua Petri din figura 15 s-a impus ca secventele t1, t3 si t2, t4 sa se execute prin
excludere mutuala, adica la un moment dat se va executa sau una sau cealalta. Nu s-a impus
ca una sa se execute înaintea celeilalte, sau ca fiecare sa se execute de un acelasi numar de ori.
p7
p1 p2
t1 t2
t5 t6
p3 p4
t3 t4
p6 p6
Figura 15
p1 p7 p2
t1 t2
t5 p8 t6
p3 p4
t3 t4
p5 p6
Figura 16