Sunteți pe pagina 1din 32

Reţele Petri

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.

Alte modele de grafuri sunt:


 diagramele de stare;
 diagramele de tranzitie a starii.

Se spune ca evolutia unei retele neinterpretate în totalitate este autonoma. Un


sistem retea interpretat se spune ca este neautonom pentru ca evolutia sa depinde si de
starea mediului, luata în considerare prin interpretarea asociata. Temporizarea unei retele
constituie o interpretare particulara prin care evolutia sa este dependenta si de timp.
Exista mai multe tipuri de retele în functie de modul în care sunt definite. Astfel, devin
mai potrivite pentru diferite tipuri de aplicatii. In domeniile respective, retelele Petri sunt
utilizate la:
1. proiectarea oricarui tip de sistem, în cazul in care sunt utilizate modele;
2. efectuarea analizei calitative si cantitative.

In cazul analizei calitative sunt detectate proprietati ca: absenta blocajelor,


absenta depasirilor, sau prezenta excluderilor mutuale certe în utilizarea resurselor
partajate. Unul dintre principalele scopuri ale analizei calitative consta în demonstrarea
corectitudinii sistemului modelat.
Analiza calitativa trateaza proprietatile legate de performante, cum sunt:
capacitatea de trecere (de tranzit); proprietati ale raspunsului (duratele medii de
terminare) sau proprietatile de utilizare, ca de exemplu: lungimile medii ale cozilor sau
frecventele de utilizare. Analiza cantitativa permite evaluarea eficientei sistemului
modelat.
Fiind usor de descompus, retelele Petri sunt utile in proiectarea modulara. Ele sunt
usor de translatat în limbajele de programare existente. Retelele Petri permit efectuarea
unor modificari precum si impunerea anumitor restrictii în cazul aplicatiilor particulare.
Un dezavantaj major al utilizarii retelelor Petri consta în faptul ca modelele bazate
pe PN au tendinta de a deveni prea mari pentru efectuarea analizei, chiar si în cazul unui
sistem de dimensiuni reduse. Acest inconvenient poate fi evitat prin utilizarea structurilor
ierarhizate.

Retele si sisteme retea

O retea Petri poate modela un sistem dinamic cu evenimente discrete. Modelul


trebuie sa descrie starile si evenimentele care duc la evolutia acestora. Starea este descrisa
cu ajutorul unui set de variabile de stare, reprezentând conditiile. Reteaua consta din doua
parti:
1. o structura de retea care reprezinta partea statica a sistemului;
2. un marcaj care corespunde starii globale a sistemului.

Descompunerea de mai sus, utilizata uneori în analiza sistemelor, pune în


evidenta doua aspecte ale unui sistem dinamic: structural si comportamental.
O retea Petri este un graf orientat (engl.: directed graph), cu o stare initiala
(numita marcaj initial), si care are doua tipuri de noduri: locatii (engl. places),
reprezentatre prin cercuri si tranzitii (engl.: transitions), reprezentate prin dreptunghiuri
sau patrate. Tranzitiile constituie suportul variabilelor de stare.

Elementele componente ale unei retele Petri

Construirea retelelor Petri se bazeaza pe elemente cu urmatoarea semnificatie:

anihilator ( sink transition)


generator (source transition)

tranzitie trivial

despartire

colectare

locatie terminala

locatie initiala

locatie triviala

ramificatie

jonctiune

Figura 2.1

Semnificatia nodurilor retelelor Petri

In tabelul urmator se prezinta câteva dintre cele mai întâlnite interpretari ale
tranzitiilor si locatiilor:

Locatii de intare Tranzitii Locatii de iesire


preconditii evenimente postconditii
date de intrare pasi de calcul date de iesire
semnale de intrare procesoare de semnal semnale de iesire
resurse necesare task sau job resurse eliberate
conditii propozitii logice concluzii
buffere procesoare buffere

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.

Definirea reţelelor Petri

Definitia 1 O retea Petri este un 4-uplu de forma:

N = (P, T, pre, post)

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:

0, daca nu exista un arc de la p la t


pre(p,t) = 
 0, daca exista un arc de la p la t
post: P x T  N este o functie de incidenta "dupa" sau de iesire, definita astfel
încât:

0, daca nu exista un arc de la t la p


post(t,p) = 
 0, daca exista un arc de la t la p

Se noteaza cu N = (P, T, pre, post) o structura de retea Petri fara marcaj.

Reteaua Petri cu marcaj initial se poate nota cu:

PN = (N, M0)
M : P  N este marcajul (marking).

Marcajul este starea sistemului (retelei) modelat. Cu marcajele celor m locatii se


poate construi marcajul retelei Petri la un moment dat prin:

M = [ M(p1), M(p2), ... , M(pm)]T

Acesta reprezinta vectorul de stare. Starea locala este reprezentata de marcajul


locatiei pi, M(pi).
Seturile locatiilor si ale tranzitiilor trebuie sa verifice relatiile:

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.

Definitia 2 O alta definitie a unei retele Petri o caracterizeaza ca fiind un 4-uplu


de forma:

N = (P, T, F, W)

cu P si T având semnificatia anterioara. F este setul arcelor orientate.


F  (PxT) (TxP), este o relatie care descrie fluxul sau arcele, iar W : F  N,
atribuie ponderi fiecarui arc. W(pi, tj) sau W(tj, pi) sunt ponderile arcelor.
Se defineste setul locatiilor de intrare, 0t, într-o tranzitie t, prin:

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}

Similar se definesc setul tranzitiilor de intrare, 0p, într-o locatie p si setul


tranzitiilor de iesire, p0, dintr-o locatie p:

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}

Cu ajutorul functiilor de incidenta pre si post se poate construi matricea de


incidenta, C, ale carei elemente, cij, sunt definite de relatia:
cij = post(tj, pi) - pre(pi, tj), i = 1, ..., m; j = 1, ... n

Matricea de incidenta descrie structura retelei Petri si poate fi utilizata la


determinarea evolutiei sistemului descris de aceasta.

Exemplul p1 p2 p3
Pentru reţeaua Petri din figura 2 se pot 2 2
pune în evidenta seturile: t1

P = {p1, ... , p6}, p4 p5


T = {t1, t2},
t2
M0 = [1, 3, 2, 0, 0, 0]T,
0
t1 = {p1, p2, p3},
p6
t10 = {p4, p5},
0
p1 = , p10 = {t1}. Figura 2 Reea Petri

Se observa ca functiile de incidenta au valorile:

pre(p1, t1) = 1, pre(p2, t1) = 2, ... , pre(p6, t2) = 0,


post(t1, p1) = 0, post(t1, p2) = 0, ... , post(t2, p6) = 1.

Matricea de incidenta este:

-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

O tranzitie t este admisibila sau executabila (engl.: enabled) pentru un anumit


marcaj al retelei, M = [M(p1), ..., M(pm)]T, daca si numai daca, oricare locatie p din P
verifica relatiile:

1. M(p) > pre(p,t);

2. K(p) > M(p) - pre(p,t) + post(t,p).

In unele aplicaţii se considera ca locatiile au o capacitate infinita si prin urmare


conditia a doua nu mai are rost. In acest caz se spune ca se aplica regula nestrictă de
admisibilitate (engl.: weak transition rule). Daca se iau în considerare si capacitatile
locatiilor (deci si regula a doua) se spune ca se utilizeaza regula stricta de admisibilitate
(engl.: strict transition rule). Retelele Petri în care se considera ca locatiile au o capacitate
nelimitata, se numesc retele cu capacitati infinite, spre deosebire de celelalte care sunt
retele cu capacitati finite.

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:

M'(p) = M(p) - pre(p,t) + post(p,t), p  P


sau
M' = M + colt(C)

S-a notat cu colt(C) coloana corespunzatoare tranzitiei t a matricei C.


Presupunând ca reteaua Petri este pura, rezulta:

M[t  M' ţ M' = M + C  et > 0

unde et este vectorul caracteristic al tranzitiei t:

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.

Executia unei tranzitii este indivizibila. Desi conceptul de durata nu se utilizeaza


la o retea Petri clasica (care nu este temporizata sau sincronizata) este util sa se considere
ca executia unei tranzitii are durata zero, în scopul de a facilita întelegerea conceptului de
indivizibilitate. Uzual, se considera ca numai o executie poate avea loc la un moment dat.
Se spune ca  este o secventa posiibla de tranzitii (executii) din marcajul M0, sau
ca marcajul Mk este accesibil din M0 prin executia secventei  : M0  Mk, daca si
numai daca exista marcajele M1, M2, ..., Mk, astfel încâ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:

M0[  Mk  Mk = M0 + C   > 0,  > 0

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

Sistemele dinamice pot fi clasificate după cum urmează:

Sisteme dinamice

Sist. cu param. variabili în timp Sisteme invariante în timp

Sist. liniare
Sist.neliniare

Sist. cu stări continue Sist. cu stari discrete

Sist. cu evoluţie det. de


Sist cu evoluţie det. de timp evenimente

Sist. deterministe Sist. stohastice

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 uRm vectorul mărimilor de intrare, cu
yRq vectorul mărimilor de ieşire şi cu xRn vectorul mărimilor de stare, modelul dinamic al sistemului
este dat de relaţiile:
x = f(x,u,t)

y = g(x, t)

unde f şi g sunt funcţii continue (f : R x Rn x Rm  Rn şi g : R x Rn  Rq).

u1 y1
. . yj
. .
. .
um yq ui

Figura 1.2 Evoluţia mărimilor de t


Figura 1.1 Schema bloc a unui sistem
intrare şi ieşire
continuu

Sisteme cu timp discret


Într-un sistem cu eşantionare, informaţia primită se prezintă sub formă de impulsuri, care în
general, pot fi furnizate cu o perioadã variabilă. În aplicaţiile curente eşantionarea este însă uniformă,
intervalul dintre douã impulsuri consecutive numit tact, sau perioadă de eşantionare, (T) fiind constant.
Procesul de eşantionare poate fi reprezentat printr-o activitate fictivă, care transformă un semnal
continuu într-un tren de impulsuri modulate în amplitudine. Sistemele cu timp discret (STD) sau sisteme
discrete rezultă de cele mai multe ori din discretizarea sistemelor continue. Apare astfel o conversie a
semnalelor continue în semnale discrete pentru realizarea căreia sunt utilizate convertoare analog-numerice
(CAN). Pentru transformarea semnalelor numerice în semnale analogice se utilizează convertoare numeric-
analogice (CNA).

x, u, y

0 1 2 3 4 5 t

Figura 1.3 Extrapolarea semnalelor eşantionate


Observaţie Dacă perioada tactului de eşantionare tinde la zero, atunci sistemul cu timp discret se
transformă în sistem continuu.

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:

x(k+1) = f[k, x(k), u(k)]


y(k) = g[x(k), u(k)]

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

0 k k+1 k+2 k+3 t

Figura 1.4 Eşantionarea şi cuantificarea unui semnal


analogic

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.

Sisteme cu evenimente discrete

Domeniu actual de cercetare, teoria sistemelor cu evenimente discrete se dezvoltă pe baza


descoperirii unor principii fundamentale, care îşi găsesc utilitatea într-o gamă largă de aplicaţii. Sistemele
cu evenimente discrete (SED) implică descrierea unor operaţii precum concurenţa, paralelismul sau
sincronismul. SED se deosebesc în mod esenţial de celelalte categorii de sisteme prin două caracteristici
majore:
 Comportarea lor dinamică este determinată de producerea (realizarea) unor evenimente (engl.: event
- driven) şi nu antrenat de timp (engl.: time driven), ca în cadrul altor categorii. În cazul sistemelor
continue, acţiunile de control sunt permanente, continue în timp, iar în cazul sistemelor cu timp
discret, au loc la momente bine precizate de timp. Evenimente pot fi considerate apăsarea unui
buton, extragerea unei piese dintr-un container, defectarea imprevizibilă a unui calculator, sau
depăşirea unei anumite valori a mărimii urmărite. Un eveniment nu are durată.
 Cel puţin o parte a variabilelor care descriu sistemul, sunt cuantificate; un exemplu de astfel de
variabile îl constituie descriptorii de stare ai unei resurse (activ, inactiv, sus, jos, etc.).
O observaţie importantă o constituie faptul că, în funcţie de scopul urmărit şi de performanţele
impuse, pentru un anumit proces, pot fi luate în considerare modele aparţinând oricăreia din categoriile de
sisteme prezentate. Astfel, sistemul din figura 1.5, format dintr-un rezervor şi robineţii v1 şi v2, utilizând ca
elemente de măsură senzorii S1 şi S2, poate fi privit ca fiind continuu, discret sau cu evenimente discrete.
Dacă starea reprezintă nivelul lichidului din rezervor şi variabila corespunzătoare aparţine
mulţimii R, rezultă o variaţie fără salturi şi sistemul este continuu. Este însă posibilă şi o descriere a
sistemului prin intermediul unor variabile ca: gol; nici gol, nici plin; plin şi a unor evenimente cum sunt: se
deschide v1 (sau v2), rezervorul nu mai este gol; rezervorul este plin, reprezentate în figura 1.6. 1 reprezintă
momentul în care se deschide v1 şi rezervorul începe să se umple, iar 2 momentul în care s-a ajuns la
capacitatea maximă.
Teoretic se consideră că trecerea de la o stare la alta este bruscă, deşi, practic poate să dureze un
interval de timp. În consecinţã, sistemele cu evenimente discrete pot aproxima mai mult sau mai puţin
exact, sistemele continue.

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

Principalele caracteristici ale proceselor cu evenimente discrete de timp real sunt:


 evenimentele se produc la momente discrete de timp şi stările au valori discrete;
 procesele sunt conduse de evenimente şi nu antrenate de timp;
 procesele sunt tipic nedeterministe (capabile de alegeri) printr-un mecanism care nu este modelat
de analistul sistemului); nu este formulată nici o trăsătură stochastică, accentul fiind pus în special
pe posibilitatea şi nu pe probabilitatea realizării evenimentului;
 procesele au în general o comportare dinamică internă, reacţionând şi interacţionând cu mediul;
 procesele operează concurent şi comunică unul cu altul (de exemplu prin transmiterea mesajelor pe
canale);
 pentru o operare sigură, deseori trebuie precizate duratele de timp care descriu constrângerile pentru
efectuarea unor activităţi; corectitudinea funcţionării sistemului nu depinde numai de rezultatele
logice ale comportării sistemului, ci şi de timpul în care aceste rezultate sunt disponibile, sau unele
activităţi sunt efectuate.

Metode de abordare a sistemelor cu evenimente discrete

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

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.

Într-o formă condensată, determinarea controlerului se poate descrie prin:

P & Sp  C , unde C reprezintă specificarea cerinţelor controlerului.

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.

P şi C sunt luate împreună, formând o buclă închisă.

Scheme de conducere a sistemelor cu evenimente discrete


Schemele de conducere a sistemelor cu evenimente discrete se încadrează în următoarele categorii:
 scheme de comandă (sisteme în buclă deschisă), reprezentate în figura 1.8;
 scheme cu reacţie (sisteme în buclă închisă), reprezentate în figura 1.9;
 scheme de control bazat pe model;
 scheme de control ierarhizat.

Semnalele din schemele reprezentate în figurile 1.8 şi 1.9 au următoarea semnificaţie:


y - ieşirea procesului controlat;
w - intrare necontrolată în proces (perturbaţie);
c - comandă (intrare controlată în proces);
z - informaţii despre controler şi proces (spre operator, supervizor etc.);
i - informaţii de la coordonator, supervizor, operator etc.

z
Controler Controler

i
c y c

w Proces y w Proces

Figura 1.8 Schemă de comandă Figura 1.9 Schemă cu reacţie

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

a + b = (a) + b, nu este întotdeauna un eveniment.

Descrierea comportării SED

În general, descrierea comportării sistemelor cu evenimente discrete implică specificarea


traiectoriilor posibile.
Se consideră un sistem cu evenimente discrete caracterizat prin setul discret (posibil infinit) X al
stărilor care au corespondent fizic, x X.  este un set finit, discret al tuturor evenimentelor posibile , 
; (x) este un subset al lui , reprezentând pentru fiecare stare x, setul evenimentelor realizabile sau
admisibile, adică al celor care pot avea loc in starea x.
Un eveniment de comutare determină trecerea sistemului dintr-o stare în alta. Fiind dată starea
curentă şi evenimentul de comutare, poate fi definită o funcţie de tranziţie a stării:

X următor = f(X curent, eveniment de comutare)

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)

Rezultă, τ0, τ 1, τ 2, ..., τ n, ....

Totalitatea duratelor de viaţă Cα(n) pentru toţi n şi α defineşte un mecanism de ceas


bidimensional care este complet independent de funcţia de tranziţie a stării şi poate fi construit în avans.

O traiectorie a sistemelor cu evenimente discrete este setul secvenţei stare-eveniment asociat cu


timpul de realizare a fiecărui şi a tuturor evenimentelor de comutare,  n.
O secvenţă atemporală de evenimente este de forma:

S = e1, e2, ..., ej, ... en


Setul unor secvenţe temporale de evenimente este descris de:

lS = (e1, t1) (e2, e2) (e3, e3) ... (ei, ti) ... (en, tn)

Unei succesiuni temporale de stări îi corespunde setul:

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

Figura 1.12 Secvenţă de stări şi evenimente

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}

T(x=0) = {sosire}; T(x0) = {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:

n+1; dac x curent = n i a* = sosire


x următor = 
n-1; dac x curent = n  0 i a* = plecare
Exemplul 4
Sunt luate în considerare legăturile stabilite pe calea ferată pentru mersul trenurilor:
 sosirea şi plecarea trenurilor sunt considerate evenimente;
 mersul trenurilor specifică momentele în care se pot produce evenimentele.

Problemele care trebuie rezolvate sunt legate de:

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?

Sisteme cu evoluţie autonomă şi neautonomă


Schema reprezentată în figura 1.13 reprezintă evoluţia anotimpurilor pe durata unui an.

Primăvară Vară

Iarnă Toamnă

Figura 1.13 Evoluţia anotimpurilor

Se observă că nu există nici o indicaţie asupra momentului în care se realizează trecerea de la un


anotimp la celălalt. Sistemul prezentat printr-un model în care momentele trecerii de la o stare la cealaltă nu
sunt cunoscute sau precizate, are o evoluţie autonomă. Producerea evenimentelor externe, care determină
trecerea sistemului dintr-o stare în alta nu poate fi comandată, deci momentul nu poate fi precizat.
Se consideră un motor care este iniţial oprit, apoi pornit şi apoi pornit din nou, figura 1.14.

Comandă pornire

Motor Motor
oprit pornit

Comandă oprire

Figura 1.14 Funcţionarea motorului


Ciclul poate fi reluat . Motorul trece din starea de repaus în cea de funcţionare când primeşte o comandă
de pornire. Oprirea se produce de asemenea în urma unei comenzi. Descrierea corespunde evoluţiei unui
sistem neautonom, evoluţie condiţionată de evenimente externe. Evoluţia unui sistem neautonom poate fi
condiţionată de asemenea şi de timp.

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

Vasgonetul este încărcat

Încărcarea s-a
terminat

Vagonetul se deplasează la
stânga

Vagonetul a ajuns
în A

Figura 1.15 Descrierea unui system cu evenimente discrete (schema funcţională şi


descrierea în limbaj current a etapelor
Se poate observa că procesul comandat este format din vagonet, trapă, cale de deplasare, în timp
ce partea de comandă va fi un controler logic care urmează a fi realizat. In scopul proiectării controlerului
trebuie specificate mărimile de intrare şi ieşire ale procesului. Acestora li se vor ataşa variabile logice,
figura 1.16. Schema bloc a sistemului cu evenimente discrete controlat este de asemenea reprezentată în
figura 1.16. Când o acţiune este în curs de desfăşurare, variabilei logice corespunzătoare i se va atribui
valoarea 1.

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

Vagonetul este încărcat


Desc=
1

Încărcarea s-a p
terminat

Vagonetul se deplasează S=1


la stânga

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

O retea Petri se numeste pura daca nu contine bucle elementare, adica:


pre(pi, tj)  post(tj, pi) = 0, pentru oricare pi din P si oricare tj din T.
Figura 3.a reprezinta o bucla elementara. Bucla elementara, are un efect de memorie.
Daca se introduce un jeton în locatia p, (M(p) = 1), atunci tranzitia t încarca permanent locatia
p, conditia pentru executia tranzitiei fiind tot timpul îndeplinita. Un alt exemplu de bucla
elementara este reprezentat în figura 3.b. Figura 3.c arata modul în care bucla elementara
precedenta a fost transformata într-o retea Petri fara bucla elementara, prin adaugarea unei
locatii suplimentare, p2 si a unei tranzitii suplimentare, t2.

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:

M'0(p') = K(p) - M0(p)


Pas 2. Se deseneaza noi arce de la fiecare tranzitie la locatiile complementare,
respectând relatiile:

post(t,p') = pre(p,t) si pre(p',t) = post(t,p)

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:

M0'(p1’) = K(p1) + M0(p1) = 2 - 1 = 1

M0'(p2’) = K(p2) - M0(p2) = 1 - 0 = 1

Locatiile adaugate trebuie conectate la tranzitii prin arce cu ponderea data de relatiile:

pre(p1’, t1) = post(t1, p1) = 1, post(t1, p1’) = pre(p1, t1) = 0,

pre(p1’, t2) = post(t2, p1) = 0, post(t2, p1’) = pre(p1, t2) = 2,

pre(p1’, t3) = post(t3, p1) = 0, post(t3, p1’) = pre(p1, t3) = 2,


pre(p1’, t4) = post(t4, p1) = 0, post(t4, p1’) = pre(p1, t4) = 0,

pre(p2’, t1) = post(t1, p2) = 0 , post(t1, p2’) = pre(p2, t1) = 0,

pre(p2’, t2) = post(t2, p2) = 0, 10

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

post(t4, p2’) = pre(p2, t4) = 1. Figura 5 Graful de realizare al reţelei din


figura 4.a

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:

|0t| = |t0| = 1, pentru t  T

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

Grafurile de evenimente pot modela sincronizari si paralelismul structural, dar nu pot


modela conflictele.
Daca o masina de stare este în acelasi timp si un graf de evenimente si o masina de
stare se numeste ansamblu de circuite disjuncte.

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

Structurile din figurile 11 a si b reprezinta situatii de nedeterminare. Tranzitiile t1 si t2 devin


executabile simultan. Executia uneia dintre ele anuleaza executia celeilalte. Despre aceste doua
tranzitii se spune ca sunt într-o situatie conflictuala. In functie de aplicatie, aceasta se numeste
conflict, alegere sau decizie.
Situatia în care se amesteca conflictul si concurenta se numeste confuzie. Figurile 12 a si b
reprezinta o confuzie simetrica, respectiv asimetrica. Tranzitiile t1 si t3 sunt concurente, iar t1 si t2 sunt
în conflict.

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

In figura 16 s-a impus, pe lânga conditia de excludere mutuala, ca secventele sa se


execute într-o anumita ordine. Nici una dintre secvente nu se poate executa de mai multe ori
fara ca sa se execute si cealalta. Daca se doreste ca secventa t1, t3 sa fie executata de k ori
înainte de-a putea executa secventa t2, t4, trebuie sa se modifice reteaua astfel:

M0(p7) = k, pre(p8, t2) = k, post(p7, t4) = k

p1 p7 p2

t1 t2
t5 p8 t6
p3 p4
t3 t4

p5 p6
Figura 16

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