Documente Academic
Documente Profesional
Documente Cultură
Procesul (instalatia) care trebuie controlat este modelat printr-o retea Petri cu n locatii
si m tranzitii.
Dimensiunea matricei de incidenta a procesului, Ap, este n x m, unde n reprezinta numarul de
locatii, iar m pe cel al tranzitiilor. Se presupune ca matricea Ap are o astfel de structura incat
toate tranzitiile admisibile pot fi executate.
Este posibil ca procesul sa violeze unele constrangeri asupra comportamentului sau,
ceea ce explica necesitatea aplicarii comenzii.
Controlerul este o retea Petri cu matricea de incidenta Ac, construita cu un set separat
de locatii. Sistemul controlat este reteaua Petri cu matricea de incidenta A, construita din
partea corespunztoare procesului si cea corespunztoare controlerului. Scopul controlerului
este de a forta procesul sa se supuna constrangerilor de forma:
n
Σ li M(pi) b
i=1
153
Constrȃngerea de tip inegalitate poate fi transformata într-o constrȃngere de tip
egalitate, prin adăugarea unei variabile libere Mc în relaţia de mai sus. Cu aceasta,
constrȃngerea devine:
n
Σ li M(pi) + Mc = b
i=1
Variabila liberă Mc = M(pc) este implementată de către o nouă locaţie pc. Locaţia pc
este o componentă a controlerului. Constrȃngerea de tipul de mai sus garantează că suma
ponderată a jetoanelor din locaţiile reţelei corespunzătoare procesului este mai mică decȃt b.
Fiecare constrȃngere de tipul de mai sus este forţată prin utilizarea unei locaţii
aparţinȃnd controlerului. Prin urmare, controlerul va avea tot atȃtea locaţii cȃte constrȃngeri
trebuie să se impună. Fiecare locaţie adăugată controlerului va suplimenta cu un rȃnd matricea
de incidenţă a acestuia. Astfel, matricea de incidenţă A este compusă din două matrice: Ap, de
dimensiune n x m şi Ac, de dimensiune qx m, unde q reprezintă numărul constrȃngerilor
impuse de controler.
Arcele, care conecteaz locaţiile controlerului cu tranziţiile reţelei corespunzătoare
procesului, vor fi determinate impunȃnd ca sistemul rezultat să aibă ca invariant de tip P
vectorul format din coeficienţii sumei ponderate care reprezintă constrȃngerea.
Fie xT = [l1 l2 ... ln 1] vectorul invariant de tip P. Toate constrȃngerile pot fi grupate,
astfel încȃt, să fie îndeplinită inegalitatea matriceală:
L Mp b
unde:
b este un vector de dimensiune nc x 1, avȃnd ca elemente numere întregi,
L este o matrice de dimensiune nc x n, ale cărei elemente sunt numere întregi, iar nc
reprezintă numărul de constrăngeri care trebuie impuse.
Ecuaţiile care definesc invariantul de tip P pot fi grupate într-o matrice de forma:
L Mp + Mc = b
unde Mc este vectorul nc x 1 dimensional care reprezint marcajele locaţiilor controlerului.
Un invariant definit ca mai sus trebuie să satisfacă ecuaţia:
Ap
XT A = [L I] Ac =0
154
X este o matrice reprezentȃnd cei nc invarianţi diferiţi, I este matricea identitate de
dimensiune nc x nc. Matricea Ac conţine arcele care conectează locaţiile controlerului cu
tranziţiile procesului.
Din ecuaţia de mai sus se obţine:
L Ap + Ac = 0
de unde rezultă:
Ac = - L Ap
Dacă Mp0 exte marcajul iniţial al reţelei Petri corespunzătoare procesului, marcajul
iniţial al controlerului Mc0 este astfel calculat încȃt să verifice ecuaţia care defineşte setul de
invarianţi:
L Mp0 + Mc0 = b
Mc0 = b - L Mp0
Yamalidou .a. (1996) demonstrează că aplicarea metodei de mai sus duce la obţinerea unui
controler care garantează permisivitatea maximă a sistemului, dar impune constrȃngerile
cerute.
Exemplul 1
Pentru exemplificarea aplicării metodei de mai sus, se consideră un proces avȃnd
modelul reprezentat prin reţeaua Petri din figura 7.2, unde Mp0 = [1 0 0 0 0 0 0]T. Matricea de
incidenţă a reţelei Petri corespunzătoare procesului este:
-1 0 0 0 0 1
1 -1 0 0 0 0
1 0 -1 0 0 0
Ap = 0 1 0 -1 0 0
0 0 1 0 -1 0
0 0 0 1 0 -1
0 0 0 0 1 -1
155
M(p4) + M(p5) 1
Soulţie:
Cazul a. Matricea L este:
L = [ 0 0 0 1 1 0 0]
Matricea de incidenţă a controlerului este:
Ac = -L Ap = - [0 1 1 -1 -1 0] = [0 -1 -1 1 1 0]
-1 0 0 0 0 1
1 -1 0 0 0 0
1 0 -1 0 0 0
A= 0 1 0 -1 0 0
0 0 1 0 -1 0
0 0 0 1 0 -1
0 0 0 0 1 -1
0 -1 -1 1 1 0
p1 p1
t1 t1
pc
p2 p3 p3
t2 t3 t2 t3
p4
p4 p5 p5
t4 t5 t4 t5
P6
p6 p7 p6 p7
t6 t6
156
Supervizor
p3
t6 b t4 L(/G)
a
b
p5
p4
to
t5 b
a b
t1 t3
to t2
po p1 b p2
Plant
Figura 7.8
157
Abordarea SED prin metoda Grafcet
Metoda Grafcet se bazează pe un standard grafic şi un formalism auxiliar. Metoda
este utilă la descrierea şi proiectarea SED. Există două forme de reprezentare: originală şi
normalizată, reprezentate în figura 1.
a) b)
Figura 1.
Metoda se bazează pe grafuri în care există două tipuri de noduri: etape sau paşi
şi tranziţii. Un astfel de graf conţine cel puţin o etapă şi o tranziţie. Etapele şi tranziţiile
sunt conectate cu arce orientate.
Etape
Etapele sunt reprezentate prin pătrate sau dreptunghiuri, figura 2.a. O etapă poate
fi activă sau inactivă. Etapa activă este marcată prin existenţa unui punct în interiorul
pătratului, figura 2.b. Etapele care devin active la startarea sistemului se numesc etape
iniţiale şi sunt reprezentate prin dublarea conturului etapei, figura 2.c.
Etapelor le sunt asociate acţiuni. Aceste acţiuni reprezintă de cele mai multe ori
ieşirile modelului considerat.
a) b) c)
Figura 2
Tranziţii
d) sincronizare
a) b) sincronizare c) distribuţie şi distribuţie
Figura 3
Observaţii
Situaţie
Etapa activă este marcată printr-un punct. Etapa inactivă nu conţine nici un punct.
Totalitatea etapelor active la un moment dat defineşte situaţia în acel moment. O situaţie
corespunde unei stări a sistemului. În figura 4 este reprezentat un model construit din 4
etape şi trei tranziţii. Etapele 2 şi 3 sunt active. Situaţia este reprezentata prin etapele
(2,3). Acţiunea A, asociată etapei 3, este în curs de desfăşurare pentru că etapa 3 este
activă. În reprezentarea normalizată acţiunea asociată etapei este menţionată într-un
dreptunghi situate la dreapta etapei.
Etapelor li se asociază variabile logice, x. O variabilă logică xi, asociată unei
etape i, are valoarea 1 atunci când etapa respectivă este activă. În figură x1=0, x2=x3=1,
x4=0.
R1
(1)
2 3 Acţiune A
R2
(2)
(3)
Figura 4
O tranziţie este executabilă, dacă şi num,ai dacă următoarele condiţii sunt îndeplinite:
1.Toate etapele care preced tranziţia sunt active. În acest caz se spune că tranziţia este
validată.
2. Receptivitatea tranziţiei ia valoarea adevărat, adică 1logic. În figura precedentă
tranzitiile (1) şi (3) nu sunt validate şi este validată tranziţia (2). Tranzitia (2) este
executabilă dacă receptivitatea R2 ia valoarea adevărat.
Execuţia unei tranziţii
1 2
1 2
(i) Ri (i) Ri
3 4
3 3
4
Figura 5
Reguli de executabilitate
3 4 2 3
A B
a) b)
Exemple de conflicte
Exemplul 1
Examplul 2
2 3
Supervizarea sistemelor cu evenimente discrete
Definitie Un supervizor este o unitate care supraveghează şi ghideaza comportamentul
unui sistem cu evenimente discrete controlat.
Comportamentul proceselor, considerate ca sisteme dinamice cu evenimente discrete,
poate fi controlat de către un controler logic, luȃnd în considerare atȃt starea procesului cȃt şi
informaţii provenite de la alte componente, sau furnizate de către operator. Pe baza
observaţiilor efectuate asupra ansamblului variabilelor logice, controlerul este capabil să ia
anumite decizii, influenţȃnd starea şi în consecinţă comportarea procesului.
Similar, în cazul unui proces continuu, pe baza observaţilor efectuate asupra mărimilor
de intrare şi ieşire, este necesară o intervenţie în momentul în care apar neconcordanţe între
performanţele obţinute şi cele impuse. Spre deosebire de sistemele cu evenimente discrete, în
cazul continuu, modelul procesului şi performanţele sunt descrise prin intermediul unor
funcţii de variabile reale, întregi sau complexe.
Dacă dificultăţile întȃmpinate în cazul unui proces cu evenimente discrete sunt legate
de numărul mare de variabile logice luate în considerare, pentru un proces continuu acestea
constau în stabilirea dependenţei dintre modificările variabilelor observate şi efectele
rezultate.
Evoluţia sistemelor de conducere automată spre structuri din ce în ce mai complexe,
paralel cu necesitatea obţinerii unor performanţe calitativ superioare, au avut ca rezultat
complicarea funcţiilor de supraveghere. In consecinţă a apărut necesitatea integrării funcţiilor
de supervizare în sistemul de conducere automată.
Sistemele dinamice cu evenimente discrete au mai multe intrări şi ieşiri, dar numai un
număr mic de intrări modifică o stare dată a sistemului, sau unele ieşiri. Aceste caracteristici
impun:
posibilitatea de descriere a unor secvenţe de stări ale unui sistem care pot cuprinde un
număr foarte mare de stări (reţelele Petri corespund acestei cerinţe, un număr
convenabil de locaţii, asigurȃnd reprezentarea unui număr mare de stări);
necesitatea înţelegerii exacte a comportamentului intrare-ieşire al unui astfel de sistem
(trebuie cunoscute intrările a căror modificare implică modificarea stării sistemului).
Condiţiile pot fi exprimate prin variabile logice (eventual, numere întregi sau reale)
care corespund unor mărimi interne sau externe. In cel de al doilea caz, condiţiile se referă la
starea mediului. Aceasta poate fi caracterizată prin predicate, care sunt propoziţii adevărate
sau false şi care pot fi modificate prin schimbarea unor variabile logice.
Controlerul (supervizorul) nu creează noi evoluţii posibile, ci le alege pe cele dorite
dintre cele existente.
Funţiile posibile ale unui supervizor sunt:
sa împiedice sistemul să intre în anumite stări interzise (de exemplu în stări în care
se blochează);
să împiedice execuţia unor secvenţe nedorite;
să forţeze execuţia unor secvenţe dorite din anumite stări;
să forţeze ajungerea în anumite stări dorite, din stări date;
să rezolve conflictele.
Supervizor
Instalaţie
Figura 1
SISTEM SUPERVIZAT
Supervizor
Figura 2
Supervizor
p3
t6 b L(/G)
t4 a
b
p5
p4
to
t5 b
a b
t1 t3
to t2
po p1 b p2
Plant
Figura 3
Definitia formală a unui supervizor
Un sistem cu evenimente discrete poate fi descris utilizȃnd un generator. Generatorul
este un automat cu stări finite:
G = ( Q, Σ, δ, q0, Qm )
unde :
Q este un set finit al starilor,
Σ este un alfabet (reprezintă un set de evenimente)
δ este o functie definită partial, δ : Σ Q Q, care descrie modificarea stărilor (este
funcia de tranzitie a stării),
q0 este o stare initiala,
Qm este un set al starilor marcate, Qm Q,
Gc = ( Q, Γ, x, Σ, δc q0, Qm )
unde:
Q, Σ, q0, Qm sunt definite ca mai sus,
Γ = { γ │γ: Σ {0,1} si pentru orice σ, σ € Σc, γ(σ)= 1 }
δ: Σ x Γ x Q Qeste o functie definita partial, care este definita daca δ (σ, Q) este
definita.
Formal supervizorul este definit de:
θ = ( S, f )
în care:
S = (X, Σ, ζ, x0, Xm) este un automat determinist, unde:
X este un set al strilor,
Σ este un alfabet,
ζ este o functie (definita partial) de tranzitie a starii, ζ : Σ X X,
x0 este starea initiala,
Xm este un set al starilor marcate, Xm X
f : X Γ este o functie (total definita), care aplica fiecarei stari x€ X, controlul
corespunzator γ .
Un sistem cu evenimente discrete supervizat, notat cu θ /Gc, rezulta conectand θ cu Gc:
θ /Gc = ( X Q, Σ, δc x ζ (x0, q0), Xm Qm)
unde:
δc ζ (x0, q0) : Σ X Q X Q este o functie definita partial.
Limbaje bazate pe reţele Petri
Introducere
O caracteristică importantă a sistemelor, care pot fi descrise şi analizate prin
intermediul reţelelor Petri, este exprimată prin setul tuturor secvenţelor de acţiuni realizabile.
Deoarece în reţelele Petri secvenţele de acţiuni sunt modelate prin execuţiile unor secvenţe de
tranziţii, se poate considera că setul tuturor secvenţelor de tranziţii admisibile caracterizează
sistemul.
O secvenţa de tranziţii constituie un şir. Un set de siruri formeaza un limbaj. În
consecinţă, reţeaua Petri care modelează sistemul poate genera un limbaj. Limbajele bazate pe
reţele Petri sunt utilizate în studiul proprietăţilor, analiza şi sinteza automată a modelelor.
Deoarece limbajele pot fi infinite, reprezentarea lor constituie uneori o problemă dificilă.
Ca exemplu, se poate considera o maşină cu stări finite care st la baza construirii unui limbaj.
O maşină cu stari finite este un cvintuplu:
C = (Q, Σ , δ, s, F),
unde:
Q este un set finit al stărilor;
Σ este un set finit al simbolurilor;
δ: Q Σ→ Q este funcţia de tranziţie a stării (care determina starea următoare);
s Q este starea de start (iniţială);
F Q este setul finit al stărilor finale.
Limbajul L(C), generat de maşina cu stări finite, este setul de şiruri formate cu
simbolurile din Σ, definite după cum urmează:
L(C) = {α Σ*│δ (s,α) F}
Două maşini cu stări finite care au acelaşi limbaj sunt echivalente.
Peterson (1981) defineşte clasa limbajelor bazate pe reţele Petri (engl.:Petri net
languages) ca fiind clasa limbajelor generate de reţele Petri. Modul de definire este similar cu
cel al oricărei alte clase de limbaje şi se bazează pe concepte asemănătoare cu cele utilizate la
generarea unui limbaj de către o maşină cu un număr finit de stari. Pe lângă structura reţelei
este necesara precizarea unui alfabet, a unei stări iniţiale şi a unui set al stărilor finale.
Specificarea acestora are ca rezultat generarea diferitelor clase de limbaje bazate pe reţele
Petri.
t’1
t’2
p0
t’ P
N p0
P
t’3 N
a) b)
Figura 4.1
σ : T→ Σ
Anumite restricţii impuse funcţiilor de etichetare duc la diferite definiri ale limbajelor
bazate pe reţele Petri:
o reţea Petri etichetată liber este o reţea în care toate tranziţiile sunt etichetate
distinct, iar dacă σ(ti) = σ(tj), atunci ti = tj ;
o altă clasă de limbaje bazate pe reţele Petri este aceea în care nu toate tranziţiile
sunt etichetate distinct, funcţia de etichetare având un caracter mai general;
cea mai generala funcţie de etichetare permite etichetarea tranziţiei nule σ(tj) = λ;
tranziţiile etichetate cu λ nu apar în nici o propoziţie a limbajului bazat pe reţele
Petri şi execuţia lor nu este înregistrată.
Aceste trei clase ale funcţiilor de etichetare definesc trei categorii de limbaje.
L { ( ) * T * şi ( M 0 , ) M F }
Clasa limbajelor de tip L permite descrierea unei mari varietăţi de comportamente, dar
cerinţa ca o propozitie să ducă exact la o stare finală, cu scopul de a putea fi generată, nu
corespunde cu conceptele de bază ale teoriei reţelelor Petri. Din acest motiv se defineşte clasa
G a limbajelor bazate pe reţele Petri.
Definiţia 2 Un limbaj L este un limbaj de tip G dacă există o structură
N=(P,T,pre,post), o funcţie de etichetare, σ:T Σ, un marcaj iniţial M0 şi un set al
marcajelor finale F, astfel încât:
L { ( ) * T * şi M F F astfel încât ( M 0 , ) M F }
A treia clasă de limbaje bazate pe reţele Petri este clasa limbajelor de tip T. Aceasta
este definită prin identificarea setului stărilor finale cu setul stărilor terminale. O stare MF
este numită terminală dacă δ(MF, tj) nu este definită, oricare ar fi t j T .
p2
a b
p1 c p3 d p4
Figura 4.2
Se poate arăta că fiecare limbaj de tip G sau Gλ este de asemenea un limbaj de tip L
sau Lλ.
Limbaje bazate pe RP: Proprietăţi de închidere
Proprietăţile de închidere ale limbajelor bazate pe reţele Petri pot fi investigate luând
în considerare anumite legi de compunere (reuniune, intersecţie, înlănţuire, concurenţă
şi substituţie) şi anumite operaţii (inversarea unei propoziţii, definirea complementului
limbajului, inlănţuirea indefinită). Acest mod de investigare prezintă două avantaje:
contribuie la creşterea gradului de înţelegere a proprietătilor şi limitelor limbajelor
bazate pe reţele Petri, privite din punctul de vedere al limbajelor;
reflectă modul în care sistemele complexe sunt proiectate şi construite prin
compunerea unor sisteme de dimensiuni mai mici.
Concatenarea
În cazul înlanţuirii, două subsisteme sunt compuse secvenţial. Execuţia care rezultă
este rezultatul concatenării unei execuţii din limbajul generat de prima reţea Petri, cu o
execuţie din limbajul corespunzător celei de-a doua reţele. Formal, concatenarea celor două
limbaje poate fi exprimată prin:
L1 L2 = {x1 x2 │ x1 L1 şi x 2 L2 }
Se poate demonstra că dacă L1 şi L2 sunt limbaje bazate pe reţele Petri, atunci şi L1L2
este un limbaj bazat pe reţele Petri.
Exemplul 1
Se consideră doua reţele Petri N1 şi N2 reprezentate împreună cu limbajele pe care le
realizează, în figura a şi respectiv b. În figura c este reprezentată concatenarea celor două
limbaje L1 şi L2.
b
a b
a a b pf2
ps pf ps1
1 1
c b
n n n+1
L(N1) = a b + c L(N2) = a(a b + b)
a) b)
b
a b
a pf1=ps2 a b pf2=pf’
ps’
c b
L(N’) = (a bn + c) a(an bn+1 + b)
c)
a
b
c b c
a
a b
ps1 a pf1
c
c
c
c
ps’ pf’
b
b
a
ps2 c a b c pf2
c)
L1 L2 = {x L1 L2 = {x│ x L1 sau x L2 }
Dacă L1 şi L2 sunt limbaje bazate pe reţele Petri, atunci L1L2 este un limbaj bazat pe
reţele Petri.
În figura este reprezentată reuniunea a două limbaje L1, L2 bazate pe reţele Petri,
obţinându-se limbajul L’.
b
pS1 pf1
a d
c
L1 = a ( b +c ) d
a)
c b
a
pS2
pf2
a b
a
b) L2 = aam(cnabn) b
a d
c
ps’ pf’
a b
a b
c)
a a
L’ = L1 L2 = a ( b + c ) d + aam(cnabn) b
Figura 3
Intersecţia
Intersecţia a două limbaje bazate pe reţele Petri este definită prin:
L1 L2 = {x│ x1 L1 şi x 2 L2 }
Dacă L1 şi L2 sunt limbaje bazate pe reţele Petri, atunci L1 L2 este un limbaj bazat
pe reţele Petri.
c d
ps1 pf
a b c 1
n m
a) L1 = a ( c b d ) c, m= < n/2
c d
pS2 pf2
a b c
b) L2 = a ( cn b d2n )
ps’ c b d pf’
a c
c)
Figura 4
Retele Petri Stochastice
Introducere
Var[ X ] M [( X m x ) 2 ] x2
1
Procesele stochasticepentru care spaţiul stărilor este discret (mulţime
finită sau numărabilă) se numesc lanţuri.
Procesele Markov reprezintă un tip particular de procese stochastice, a
căror propritate caracteristică este aceea că nu au memorie. Evoluţia viitoare a
unui proces Markov este influenţată numai de starea curentă a acestuia. Dacă
procesul Markov poate avea numai un număr finit sau numărabil de stări, atunci
este denumit lanţ Markov.
Legea de distribuţie exponenţială cu parametrul λ > 0 caracterizează o
variabilă aleatoare X (ce poate lua numai valori nenegative) a cărei funcţie de
repartiţie este de forma
⌠ 0, ptr, t<0
F (t ) P[ X t ] ┤
└ 1 e t , t 0
densitatea de repartiţie este
⌠ 0, ptr, t<0
f (t ) ┤
└ e t , t 0
Valoarea medie asociată variabilei aleatoare este M(x) = 1/λ; parametrul λ
se numeşte rată.Dispersia variabilei aleatoare X este Var [X] = 1/ λ2.
Distribuţia exponenţială este utilizată pentru a modela procese care nu au
memorie. Ex.:
Duratele dintre sosirile clienţilor într-un sistem;
Timpii de aşteptare( dacă probabilitatea de a mai astepta un
interval de timp este independentă de timpul de asteptare care a
trecut deja);
Duratele convorbirilor telefonice;
Timpul de viaţa al componentelor electronice.
Un proces aleator este staţionar dacă şi numai dacă toate funcţiile sale de
distribuţie rămân neschimbate prin deplasarea originii timpului.
2
Pentru procesele aleatoare staţionare ergodice fiecare dintre mediile de
timp este egală cu probabilitatea unu cu media pe ansamblu corespunzaţoare.
servere
3
Modelul sistemului, bazat pe reţele Petri stochastice, este prezentat în
figura 2.
t1 reprezintă timpul de servire al unui server exprimat printr-o variabilă aleatoare
de distribuţie exponenţială cu valoare medie 1 . Frecvenţa de execuţie a
1
tranziţiei t1 va fi 1 . Se asociază timpului de funcţionare corespunzător
1
serverului o variabilă aleatoare cu distribuţie exponenţială şi valoare medie 2 ;
t2 λ2
... p1
Stoc de
intrare Server
operaţional
t1 . .
λ1 Server
p4defect
p3
Stoc de P2 p3
iesire
. t3 λ3
4
In figura 4 este reprezentată o reţea Petri cu temporizare stochastică.
Deosebirea dintre cele două tipuri de sisteme constă în modul de execuţie al
tranziţiilor. Astfel în cazul ambelor sisteme există un conflict în ceea ce priveşte
execuţia tranziţiilor t1 şi t2. Se presupune că temporizările asociate acestor
tranziţii sunt exprimate prin variabilele aleatoare D1 si D2. Se extrag două valori
ale acestor variabile, notate cu d1, respectiv d2. In cazul reţelei Petri stochastice,
dacă d1<d2, primul eveniment care se va produce va fi cel asociat tranziţiei t 1 şi
deci, prima tranziţie care se va executa, va fi t1. In cazul sistemului din figura 4,
hotărârea ca un client să fie deservit de o staţie sau alta este luată apriori.
Variabilele aleatoare ataşate tranziţiilor reprezintă duratele aleatorii ale
operaţiilor. Valorile lor nu sunt luate în considerare în scopul stabilirii priorităţii
execuţiei unei tranziţii. In concluzie, în cazul reţelelor Petri stochastice, ordinea
execuţiei tranziţiilor aflate în conflict este dată de valorile variabilelor aleatoare
extrase la un moment dat, pe când în cazul reţelelor Petri cu temporizări
stochastice valorile acestor variabile nu influenţează ordinea execuţiei tranziţiilor,
ele fiind legater strict de durata activitătilor asociate tranziţiilor şi care este
aleatoare.
5
Analiza reţelelor Petri stochastice
Spaţiul stărilor unei reţele Petri sochastice este determinat de setul stărilor
realizabile. Execuţia unei tranziţii se realizează în concordanţă cu timpul necesar
pentru ca sistemul să treacă dintr-o stare în alta. Datorită faptului că funcţia de
distribuţie exponenţială este fără memorie, se poate demonstra că graful de
realizare al unei reţele Petri stochastice mărginite este izomorf cu un lanţ Markov
finit. Lanţul Markov al unei reţele Petri stochastice poate fi obţinut utilizând graful
de realizare al unei reţele Petri, după cum urmează: spaţiul stărilor lanţului
Markov este format din setul stărilor realizabile R(M0) şi rata tranziţiei de la
starea Mi la starea Mj este dată de rata de execuţie a tranziţiei care transformă
marcajul Mi în marcajul Mj. Daca există două sau mai multe tranziţii care
transformă marcajul Mi în marcajul Mj, notate cu t1, t2,..., atunci rata de executie
se va calcula cu formula:
1 2 ...
6
calcula probabilitatea ca sistemul să se afle intr-o stare Mk. În acest scop se
calculează soluţia sistemului:
Pr* . A = 0
L
Pr
k 1
*
k 1
executabilă.
Valorile medii ale marcajelor în locaţiile Pi P, pot fi calculate conform relaţiei:
L
M*(Pi) = k 1
M k ( P i ).Prk*
7
Retele Petri temporizate
Cea mai simpla varianta pentru includerea timpului se bazeaza pe asocierea unor
atribute temporale cu nodurile retelei. Aceasta se poate realiza conditionand fie intarzierea
jetoanelor in locatii, pentru un anumit interval de timp, inainte de executia tranzitiilor, fie
introducand o intarziere intre momentul in care tranzitiile sunt admisibile si momentul in care
ele se executa (intarzierea tranzitiilor).
Se introduce notiunea de locatie temporizata prin atasarea unei valori (p),
reprezentand durata dintre momentul de timp cand un jeton este introdus in locaie si
momentul cand el poate fi extras pentru executia unei tranziii de iesire. Daca un jeton este
introdus intr-o locatie temporizata, el nu paraseste locatia (pentru executia tranzitiilor de
iesire) pana cand nu a expirat intervalul de timp, asociat locatiei respective.
Definiia 1 O retea Petri (determinista) cu locatii temporizate este de forma (N, ),
unde N = (P, T, pre, post), iar este o functie care asociaza un numar real nenegativ τi,
fiecarei locatii a retelei, : P R+, τi = (pi) este minimul timpului de stationare a unui
jeton in pi.
Un jeton dintr-o retea Petri cu locatii temporizate poate fi in doua stari: gata si in
asteptare. Cand un jeton este introdus intr-o locatie, el intra in asteptare, devenind gata dupa
un interval τi = (pi) unitati de timp. Jetoanele in asteptare nu pot permite execuia unei
tranzitii, situatia fiind asemanatoare aceleia in care ele nu exista inca acolo.
O retea Petri cu locatii temporizate poate fi transformata intr-o retea Petri cu tranzitii
temporizate. Figura 3.1 reprezinta aceasta transformare. Locatia p1, temporizata cu (p1),
poate fi inlocuita cu doua locatii, p11 si p12 netemporizate si o tranzitie t3 temporizata (cu
(t3)). Se poate face si transformarea inversa, adica o tranziie temporizata (cu (t)) se
inlocuieste cu doua tranzitii netemporizate si o locaie p, temporizata (cu (p)).
t1 p1 t2
a)
t1 p11 t3 p12 t2
b)
Figura 3.1
unde, σ = ta, ti, ..., tj, ... ti, ..., este secventa de executii, iar ti (n) este timpul la care tranzitia ti
initiaza cea de-a n-a sa executie.
Un graf de evenimente este o retea Petri in care fiecare locatie are o singura tranzitie
de intrare si o singura tranzitie de iesire. Graful de evenimente este temporizat daca fiecarei
tranzitii i se asociaza un timp de executie. O cale directa pi tj pk...tppr dintr-o retea Petri, in care
toate nodurile sunt distincte, exceptand locatiile pi si pr (pi=pr), se numeste circuit. O retea
Petri este puternic conectata daca intre oricare doua noduri ale retelei exista o cale directa.
S-a demonstrat ca numarul total de jetoane in orice circuit elementar ramane acelasi (este
invariabil) dupa executia tranzitiilor.
Exemplul 1
In graful din figura 3.2, la momentul 0, sunt:
n1(γ1) = (nr. jetoane in p1) + (nr. jetoane in p2) + (nr. jetoane in p3) + (nr. jetoane in p4)
= 2 + 1 + 0 + 1 = 4 jetoane,
n2(γ2) = 0 + 1 + 0 + 1 + 0 = 2 jetoane.
t2(6) p5 t2(6)
p5
t5(9) p3 p1 t5(9) 2 p3 p1
t6(8) p4 p2 t6(8) 2 p4 p2
p7 t4(1) p7 t4(1)
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 t1
p1 t3 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
t1 t3
p2 p5
t1 t2 t1 t2
t2 t4
a) b)
p3 p6
Figura 11
Figura10
p
3
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
Daca se cere sa se sincronizeze doua activitati distincte, atunci acestea trebuie sa fie cuprinse
Figura 13
î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
t1 t2
t5 p8 t6
p3 p4
t3 t4
p5 p6
Figura 16
H1 H2 H1
H1 H2 H2
S S1
S1 S2
RV
S2
a) b) c) d)
e) f) g)
Figura 17
1
a f
2 21
2 4 6 51
b c
e 1 2
3 5
2
d
52
22
Figura 18
1 1
f
a a
2
2 4 6
b c
e
3 5
2
d d
Figura 19
1
a f
2
2 4 4 6
b c
e
3 5
2
Figura 20
Cu un model bazat pe retele Petri, pot fi studiate doua tipuri de proprietati: cele care
depind de marcaj si cele care nu depind de acesta. Primele sunt proprietati comportamentale
sau altfel spus dependente de marcaj, iar cele de al doilea tip sunt proprietati de structura,
care sunt independente de marcaj.
Cele mai importante proprietati ale unei retele Petri PN = (N,M0) sunt:
M0[ Mn
Reteaua Petri este complet controlabila daca oricare marcaj este realizabil din oricare
alt marcaj.
Se noteaza R(N,M0), sau R(M0) atunci când nu se poate confunda, setul tuturor
marcajelor retelei N care pot fi realizate din marcajul M0. Cu L(N, M0) sau cu L(M0) când nu
exista posibilitatea de confuzie, se noteaza setul tuturor secventelor de tranzitii executabile din
marcajul initial M0.
Problema realizabilitatii consta în a determina:
daca marcajul Mn poate fi realizat din marcajul initial, adică dacă Mn R(M0);
în cazul în care Mn R(M0), care ar putea fi secventa , astfel încât M0[ Mn.
Uneori se cere sa se determine numai daca un subset al marcajului (adica restrictia
marcajului retelei la anumite locatii) poate fi realizat din marcajul initial.
Realizabilitatea este utila în studiul proprietatilor dinamice ale sistemului.
p2
t1 t3 t3
p1
p1 p4 p3
t2 t1 p3
t2
t4 p6
p5
p2 t4
t5
Figura 21 Figura 22
4. Reversibilitatea (eversibility)
O retea Petri PN = (N,M0) este reversibila daca oricare ar fi marcajul M din setul
R(M0), M0 este realizabil din M. Prin urmare, reteaua este reversibila daca totdeauna se poate
ajunge din nou în starea initiala.
Uneori, în loc de starea initiala, se cere sa se determine daca reteaua poate ajunge într-
o anumita stare de baza (engl.: home state) data. M' este o stare de baza daca oricare ar fi
marcajul M din setul R(M0), M' este realizabil din M.
Viabilitatea, marginirea si reversibilitatea sunt proprietati importante în studiul
retelelor Petri. Ele nu sunt dependente una relativ la cealaltă, conform reprezentarilor din
figura 2.23.
b) c) d)
a)
e) f)
g) h)
Figura 23
_ _ _
Dacă se notează cu M mărginirea,V viabilitatea şi cu R reversibilitatea iar cu M, V şi R
negaţia lor, reţelele din figura 23 au proprietăţile:
___ __ _ _ __ _ _ _
a) MVR; b) MVR; c) MVR; d) MVR; e) MVR; f) MVR; g) MVR; h) MVR.
Primele trei metode sunt statice, iar cea de a treia este dinamica.
Analiza prin enumerare se bazeaza pe constituirea grafului de realizare sau a
arborelui de acoperire, care descriu marcajele si tranzitiile executabile.
Metodele de analiza prin transformare verifica un set de proprietati, prin transformarea
sistemului original în altul care le conserva. Metodele de reducere sunt o clasa particulara a
metodelor de transformare, în care se construieste o PN a sistemului, conservând proprietatile
care trebuie studiate. Aplicabilitatea metodelor de reducere este limitata de existenta
sistemelor (retelelor) ireductibile. Uzual, aceste metode trebuie completate cu alte metode de
analiza.
Metodele analizei structurale studiaza relatiile dintre comportamentul retelei si
structura sa. Din aceasta clasa fac parte metodele bazate pe algebra liniara si programarea
liniara care utilizeaza ecuatia de stare a retelei.
Se spune ca un marcaj este realizabil într-o retea (N,M0) daca exista o secventa ,
M0[ M, astfel încât M R(N,M0). Sistemele cu stari (marcaje) infinite nu au reprezentari
finite. Pentru sisteme marginite, abordarea analizei prin metoda grafului de realizare se
bazeaza pe simularea secventiala exhaustiva.
Definitie Graful de realizare, asociat cu o retea (N,M0), este un graf GR(N,M0) în
care fiecare nod reprezinta un marcaj realizabil din M0 si fiecare arc reprezinta executia unei
tranzitii. Exista un arc atichetat tk, care porneste din nodul reprezentând marcajul Mi spre
nodul reprezentând marcajul Mj, daca marcajul Mj poate fi realizat din marcajul Mi prin
executia tranzitiei tk, Mi[tk Mj.
Figura 5 reprezinta un astfel de graf de realizare pentru sistemele reprezentate în
figurile 4 a si b. O alta varianta de construire a grafului de realizare consta în marcarea
nodurilor cu numerele locatiilor care au jetoane, celelalte fiind omise.
Exemplul 8
In figura 25 este reprezentată varianta de mai sus a grafului de realizare pentru
sistemul din figura 13.
Din analiza acestui graf de realizare se constata ca sistemul este 1-marginit, deoarece
marcajele nu primesc decât cel mult un jeton, este viabil, reversibil si persistent. De exemplu,
daca sunt executabile tranzitiile t1 si t2, executia unei dintre ele nu o împiedica pe cealalta sa
se execute. Doarece aceasta conditie este valabila pentru toate tranzitiile, se poate spune ca
reteaua este persistenta.
1,2
5
4 3
3,4
1 2
3,6 2,7
1,8 4,5
2 1
5,6
3 4
6
7,8
Figura 25
Prin urmare, sistemul (N,M0) este nemarginit (conditie de abandonare), daca exista Mj
realizabil din Mi, astfel încât Mj > Mi şi Mj Mi.
Din cauza cresterii exponentiale a numarului de stari, utilizarea acestei metode este
posibila numai în cazul sistemelor cu o complexitate redusa. Un mod de evitare a acestei
probleme îl ofera metoda urmatoare.
Dându-se o retea Petri PN = (N,M0), se poate construi un arbore pornind din marcajul
initial M0 si construind câte un arc pentru fiecare tranzitie executabila. La capetele arcului se
noteaza marcajul retelei obtinut ca urmare a executiei tranzitiei, iar arcul se marcheaza cu
tranzitia care determina aceasta transformare. Operatia poate continua în acelasi fel pâna la
epuizarea tuturor tranzitiilor executabile si realizarea tuturor marcajelor, daca reteaua Petri
este mărginita. Aplicarea acestei metode la retelele Petri nemarginite este imposibila din cauza
ca dezvoltarea nu are sfârsit. Pentru a mentine arborele finit se propune introducerea unui
simbol special , care poate fi interpretat ca un infinit. El verifica, pentru orice numar natural,
relatiile:
> n ; + n = si >
Daca reteaua Petri este marginita, arborele de acoperire obtinut fara a utiliza simbolul , se numeste
arbore de realizare si va pune în evidenta toate marcajele realizabile din M0. Utilizând acest arbore, se pot
verifica toate proprietatile mentionate anterior. Deoarece utilizarea simbolului implica o pierdere de informatii,
proprietatile de viabilitate si de realizabilitate nu pot fi studiate la retelele nemarginite prin folosirea acestei
metode.
Cu arborele de acoperire se poate construi graful de acoperire care este un graf orientat. El are ca
noduri, nodurile etichetate distinct în arborele de acoperire, iar ca arce tranzitiile corespunzatoare.
2.7.2. Metoda reducerii
Reducerea retelei sistemului permite analizarea modelului prin efectuarea unor transformari ale
structurii sale si eventual ale marcajului initial. Procedeul de reducere este iterativ si aplicarea lui se continuă
pâna când sistemul devine ireductibil. Prin aplicarea fiecarei reguli în parte, se conserva unele proprietati ca:
viabilitatea, marginirea si reversibilitatea. Daca reteaua rezultata nu este complexa, verificarea proprietatilor
devine triviala. In cazul în care reteaua redusa este complexa, se continua procedeul de analiza prin utilizarea
altor metode.
Utilizând regullile de reducere în sens invers, ele devin reguli de expansiune. Acestea sunt utilizate la
sinteza retelelor Petri (în metodele de tip descendent).
In figura 28 este reprezentat un set de reguli de reducere cu urmatoarele semnificatii:
a) b)
c) d)
e) f)
Figura 28
O locatie dintr-o retea poate constrânge numai secventele executabile. Daca o locatie,
pentru un anumit marcaj initial dat, nu constrânge secventele executabile, ea poate fi eliminata
fara ca aceasta sa se observe în comportamentul modelului sistemului. O astfel de locatie se
numeste implicita.
Pentru o retea Petri PN = (N,M0) în urma eliminarii locatiilor implicite se obtine
reteaua PN' = (N',M0’) unde M0 = (M0’,M0(p)) este marcajul initial. O locatie p din PN este
implicita, daca pentru oricare tranzitie de iesire a lui p este valabila relatia:
YT M = YT M0
M este marcajul care se obtine din marcajul M0 dupa executia tranzitiei t, iar Y reprezinta
invariantul. Releţia precedentă descrie conservarea marcajelor. Sistemele care o respectă se
numesc conservative.
Deoarece:
M = M0 + colt (C)
se obţine:
YT M = YT M0 + YT colt (C)
Cum relatia precedenta este valabila pentru oricare dintre tranzitiile ti, adica:
YT col t1 (C) = 0,
YT col t2 (C) = 0,
---------------------
YT col tn (C) = 0,
se obtine:
YT C = 0
----------------------------------------
Sunt m necunoscute, y1, y2, ... , ym si n ecuatii. Matricea C poate avea coloanele liniar
independente. Daca m este mai mare decât n, atunci unele elemente ale lui Y trebuie sa ia
valori arbitrare. In consecinta, pentru o retea Petri pot exista mai multi invarianti.
Daca M si M' sunt marcaje accesibile, atunci:
Exemplu
Pentru a ilustra utilizarea invariantilor se considera reteaua din figura 2.29.
p1
t1
p2 p3
t2 t3
p4 p5 t4
Figura 2.29
-1 0 0 1
1 -1 0 0
A= 1 0 -1 0
0 1 0 -1
0 0 1 -1
- y1 + y2 + y3 = 0
- y2 + y4 =0
- y3 + y5 =0
y1 - y4 - y5 = 0
Y1 = [2, 1, 1, 1, 1]T
Y2 = [1, 1, 0, 1, 0]T
Luând y4 = 0 si y5 = 1 rezulta:
Y3 = [1, 0, 1, 0, 1]T
Marcajul initial fiind M0 = [1, 0, 0, 0, 0]T, pentru cei trei invarianti se obtin relatiile:
Acestea sunt trei relatii invariante. Se poate verifica invarianţa lor, ca urmare a executiilor
diferitelor tranziti. De exemplu, dupa executia tranzitiei t1, se obtine:
M = [0, 0, 0, 1, 1]T
Sifoane si capcane
Definitie
1. Un sifon este un subset de locatii pentru care setul tranzitiilor sale de intrare este
continut în setul tranzitiilor sale de iesire:
S P este un sifon ţ 0S S0.
2. O capcana este un subset de locatii astfel încât setul tranzitiilor sale de iesire este
continut în setul tranzitiilor sale de intrare:
Exemplul
p1
Se considera reteaua Petri de tip C/E din
t1 p2 t2
figura 30 cu marcajul initial M0 = [1,0,1,0,0,0,1]T.
Se poate observa ca în aceasta situatie poate evolua p4
p3 p5
la nesfârsit prin secventa: t1, t4, t2, t3.
p6
t3 t4
p7
Figura 30
Daca setul de locatii S = {p2, p3, p4} nu ar avea nici un jeton, atunci nici o tranzitie nu
ar fi executabila. Prin urmare, reteaua se blocheaza sau nu în functie de marcajul initial. Setul
S formeaza un blocaj (sifon) deoarece verifica relatia data anterior:
0
S = {t1, t2, t3}
S0 = {t1, t2, t3, t4}
{t1, t2, t3} {t1, t2, t3, t4} sau 0S S0.
Multimea Q = {p1, p2, p5} formeaza o capcana deoarece:
Q0 = {t1, t2}
0
Q = {t1, t2, t4}
Q0 0Q.
Proprietatea 7
1. Sifoane:
a. Daca M determină un blocaj comportamental, atunci:
D = {p / M(p) = 0} este un sifon nemarcat (gol).
b. Daca un sifon este (sau devine) nemarcat, va ramâne nemarcat pentru oricare
evolutie posibila a sistemului. In consecinta, toate tranzitiile sale de intrare si iesire
sunt moarte.
2. Capcane
Daca o capcana este (sau devine) marcata, aceasta va ramâne marcata pentru oricare
evolutie posibila a sistemului (cel putin un jeton este prins în capcana).