Sunteți pe pagina 1din 83

SIMONA IULIANA CARAMIHAI

JANETTA CULIŢĂ CĂLIN AUREL MUNTEANU

Modelarea şi Analiza
Sistemelor Dinamice cu Evenimente Discrete

103 probleme
CUPRINS

Capitolul I. Conceptul de sistem cu evenimente discrete


Breviar...................................................................................................5
Problemă rezolvată................................................................................7
Probleme propuse................................................................................11

Capitolul II. Limbaje formale şi automate


Breviar.................................................................................................13
Probleme rezolvate..............................................................................26
Probleme propuse................................................................................27

Capitolul III. Reţele Petri


Breviar.................................................................................................40
Probleme rezolvate..............................................................................50
Probleme propuse................................................................................55

Bibliografie...................................................................................................86
Conceptul de Sistem cu Evenimente Discrete 5

CAPITOLUL I
Conceptul de Sistem cu Evenimente Discrete

BREVIAR
Un sistem dinamic cu evenimente discrete (SDED) este un sistem
dinamic caracterizat printr-un spaţiu discret al stărilor şi prin traiectorii de
stare continue pe porţiuni. Modificările de stare se numesc tranziţii şi survin
ca urmare a apariţiei evenimentelor, în mod asincron.
Evenimentele au durată nulă. În afară de cazul în care apar alte
specificaţii, se consideră că la un moment dat are loc un singur eveniment.
Un eveniment poate fi identificat ca :
• acţiune specifică (ex: lansare operaţie);
• modificare necontrolabilă în cadrul unui proces (ex: defectarea unei
resurse dintr-un motiv oarecare);
• rezultatul satisfacerii simultane a mai multor condiţii.
Evenimentele sunt de regulă etichetate. Mulţimea evenimentelor
legate de funcţionarea unui proces oarecare determină astfel elementele unui
6 Modelarea şi analiza SDED – 103 probleme

alfabet (mulţime finită de simboluri) Σ astfel încât ele îşi păstrează


semnificaţia de fenomen calitativ dependent de specificul aplicaţiei.
Astfel, din punct de vedere formal, un sistem cu evenimente discrete
se defineşte astfel:
Definiţie: Un SED este un sistem care evoluează generând spontan
evenimente şi poate fi definit ca un quadruplu:
G = (Q, Σ, δ , q 0 )

unde:
Q = mulţimea stărilor sistemului;
Σ = alfabetul evenimentelor pe care le poate genera sistemul;
q0 = starea iniţială;
δ = funcţia de tranziţie de stare, definită astfel;
δ : Q × Σ→ Σ .
Observaţii
1. În funcţie de dimensiunea lui Q, SED se împart în sisteme cu
număr finit de stări şi respectiv sisteme cu număr infinit de stări;
indiferent însă de dimensiune, Q este numărabilă;
2. Funcţia de tranziţie δ nu este definită întotdeauna pentru toate
perechile din (Q × Σ ), ceea ce înseamnă că nu este obligatoriu ca
din fiecare stare a sistemului să poată fi generate toate
evenimentele din Σ ;
3. Alfabetul Σ are întotdeauna un număr finit de evenimente.
În concluzie, modelarea unui proces real ca SED include, indiferent de
formalismul utilizat, următoarele etape:
1. Definirea variabilelor de stare, respectiv a formatului elementelor
q ∈ Q; dacă mulţimea Q este finită, atunci se poate defini în
întregime prin enumerare;
2. Stabilirea stării iniţiale q0 ∈ Q;
3. Definirea tuturor evenimentelor din Σ - ca acţiuni care modifică
valoarea a cel puţin o variabilă de stare;
Conceptul de Sistem cu Evenimente Discrete 7

4. Definirea funcţiei de tranziţie δ , ceea ce revine de fapt la


descrierea explicită a modelului.
În funcţie de complexitatea procesului modelat, etapele 3 şi 4 pot fi
completate simultan.
În funcţie de modul în care tratează timpul, modelele SED pot fi
împărţite în următoarele categorii:
- modele autonome – utilizate pentru analiza calitativă a funcţionării
sistemelor; în cazul acestor modele nu este luată în considerare
decât ordinea în care apar evenimentele şi nu intervalul de timp
dintre apariţia a două evenimente succesive;
- modele temporizate – utilizate atât pentru analiza calitativă cât şi,
mai ales pentru analiza performanţelor sistemelor – intervalul de
timp dintre apariţiile a două evenimente succesive este specificat în
mod determinist;
- modele stocastice sau probabilistice – în care succesiunea
evenimentelor este dată prin intermediul unor distribuţii de
probabilitate.

Problemă rezolvată
1. Să se modeleze ca SED procesul constând dintr-un server şi o coadă
de aşteptare. Capacitatea serverului este de un client la un moment
dat, iar capacitatea cozii este presupusă a fi nelimitată. Atunci când un
client intră în sistem, el intră în coada de aşteptare. De îndată ce
serverul este liber, el preia câte un client din coada de aşteptare, în
ordinea sosirii acestora. Intrarea clienţilor în sistem ca şi durata
serviciului sunt aleatoare. Se presupune că durata de schimbare a
clientului servit în cazul în care coada este nevidă este
nesemnificativă. Iniţial, serverul este liber.
8 Modelarea şi analiza SDED – 103 probleme

Rezolvare:
Procesul propus va fi modelat ca SED autonom, întrucât nu exista nici o
indicaţie temporală.
1. Definirea Q: în mod evident, sistemul va avea un număr infinit de
stări, deoarece capacitatea cozii de aşteptare nu este limitată. În
acest caz, se va defini structura stărilor sistemului prin specificarea
variabilelor de stare, şi anume: s – starea serverului şi l – lungimea
cozii de aşteptare.
Întrucât serverul nu poate fi decât liber sau ocupat, se poate considera
ca s ∈ {0, 1}, astfel: s = 0 semnifica server liber, iar s = 1 – server ocupat.
Q = {(s, l)  s ∈ {0, 1}, l ∈ N }
2.Definirea stării iniţiale: q0 = (0, 0) – server liber şi coada de
aşteptare vidă.
3.Definirea alfabetului de evenimente Σ :
Alfabetul de evenimente va conţine două elemente, şi anume:
e1 – intrarea unui client în sistem;
e2 – ieşirea unui client din sistem.
4. Definirea funcţiei de tranziţie:
( s, l +1) daca s = 1
δ (( s, l ), e1 ) = 
( s +1, l ) daca s = 0

respectiv intrarea unui client în sistem incrementează lungimea cozii, dacă


la momentul intrării serverul era ocupat sau trece serverul în starea de
“ocupat”, dacă era liber
( s, l −1) daca l ≥ 1
δ (( s, l ), e2 ) = 
( s −1, l ) daca l = 0

respectiv ieşirea unui client din sistem decrementează lungimea cozii, dacă
aceasta era nevidă sau eliberează serverul, în caz contrar.
Modelul autonom poate fi modificat în vederea analizei performanţelor
sistemului în cazul în care informaţia despre proces este completată cu
informaţii temporale.
Conceptul de Sistem cu Evenimente Discrete 9

Aceste informaţii vor însoţi cele două tipuri de evenimente stabilite


anterior, în maniera următoare: se presupun cunoscute duratele de timp
dintre două sosiri succesive şi de asemenea timpul de servire aferent fiecărui
client.
A1 = 0.4; A2 = 1.2; A3 = 0.5; A4 = 0.7; A5 = 0.2;
A6 = 0.6; A7 = 0.2; A8 = 1.4;…
S1 = 2.0; S2 = 0.7; S3 = 0.2; S4 = 1.1; S5 = 3.7; S6 =
0.6;…

În conformitate cu datele de mai sus, evoluţia numărului de clienţi din coada


de aşteptare este cea prezentată în figura următoare:
Q(t)

t
0 1 2 3 4 5 6 7 8 9

e2 = 1.6 e8 = 4.0 e11 = 5.8


Sosiri
e1 = 0.4 e3 = 2.1 e7 = 3.8 e10 = 5.6 e12 = 7.2

e6 = 3.3
Plecări
e4 = 2.4 e5 = 3.1 e9 = 4.9 e13 = 8.6 = T(6)
10 Modelarea şi analiza SDED – 103 probleme

Ocuparea serverului este cea prezentată în figura de mai jos. După cum se
poate observa, serverul procesează clienţi o durată de timp de 7,7 unităţi de
timp din totalul de 8,6 unităţi de timp. Aceasta reprezintă o ocupare de
89,53%.
B(t)

t
0 1 2 3 4 5 6 7 8 9

e2 = 1.6 e8 = 4.0 e11 = 5.8


Sosiri
e1 = 0.4 e3 = 2.1 e7 = 3.8 e10 = 5.6 e12 = 7.2

e6 = 3.3
Plecări
e4 = 2.4 e5 = 3.1 e9 = 4.9 e13 = 8.6 = T(6)
Conceptul de Sistem cu Evenimente Discrete 11

Probleme propuse
2. Fie un sistem de calcul cu două procesoare P1 şi P2, care lucrează în
paralel. Modul în care taskurile sosesc spre procesare poate fi descris
în raport cu momentul de timp discret al apariţiei lor prin intermediul
unei funcţii binare a(t) , t ∈ N, astfel: a(t)=1 dacă la momentul t
soseşte un task şi a(t) = 0 în caz contrar. Se presupune că nu pot sosi
simultan două sau mai multe task-uri.
Presupunem că pentru un interval de timp t = 0,1,..,10 funcţia a(t) are
valorile {1,1,1,0,1,0,1,1,0,0,1}.
La sosirea unui task sistemul de calcul aplică următoarea regulă de
alocare a acestuia: cele două procesoare lucrează alternativ, primul
fiind P1. Se presupune că dacă un task este trimis la Pi, i=1,2 şi acel
procesor este ocupat, atunci taskul va aştepta într-o coadă de
capacitate infinită. Durata de procesare a unui task la procesorul P1
alternează între 4 unităţi de timp şi o unitate de timp (începând cu 4),
iar durata de procesare pe P2 este de 2 unităţi de timp. Fie y(t) numărul
total de clienţi care părăsesc sistemul la momentul t, iar x1(t) , x2(t)
lungimile cozilor de aşteptare la procesoarele P1 respectiv P2. Se cere:
a) desenaţi o diagrama de timp t-0,1,..., 10 indicând sosirile şi
plecările. Iniţial x1(0) = x2(0) = y(0) =0;
b) construiţi un tabel cu valorile x1(t), x2(t), şi y(t) pentru toţi
t = 0, 1, …,10;
c) presupunem că se lucrează în timp continuu. Sosirile au loc la
momentele 0,1; 0,7; 2,2; 5,2; 9,9. Duratele de procesare pe P1
alternează între 4,2 şi 1,1 iar pe P2 este fixat la 2 unităţi de timp. Fie
un model condus de evenimente cu setul de evenimente E = {a, d1,
d2}, unde “a” semnifica sosirea iar “di” plecarea de pe procesorul
Pi. Construiţi un tabel cu valorile x1(k), x2(k) , y(k), t(k) unde : x1(k),
x2(k) sunt lungimile cozilor de aşteptare ; y(k) este numărul
cumulativ de plecări după evenimentul k. (k = 1,2,…), iar t(k)
momentul de timp la care apare evenimentul k. Dacă două
evenimente apar simultan presupunem că o plecare apare
întotdeauna înaintea unei sosiri. Comparaţi numărul de actualizări
în acest model cu un model în timp cu eşantioane la 0,1 unităţi de
timp.
12 Modelarea şi analiza SDED – 103 probleme

3. Aceeaşi problemă cu următoarele reguli de alocare a taskurilor (dacă


două evenimente apar simultan se consideră că plecarea este prioritară
faţă de sosire):
a) trimite taskul procesorului P1 cât timp lungimea cozii este cel mult
2, altfel trimite către procesorul P2.
b) trimite taskul către procesorul cu coada cea mai scurtă. În caz de
egalitate trimite către procesorul P2.

4. Un proces de fabricaţie simplu este compus din două maşini M1 şi M2


şi un robot care descarcă piesele prelucrate de pe M1 şi le transportă pe
M2. Nu există stocuri la cele două maşini , deci dacă o piesă este
furnizată lui M1 în timp ce aceasta funcţionează atunci piesa este
rejectată. Dacă robotul transportă piesa lui M2 în timp ce aceasta este
ocupată atunci el aşteaptă acolo până când M2 se eliberează. Se
consideră că timpul de revenire a robotului de la maşina M2 (după ce a
depus piesa) în poziţia iniţiala este diferit de zero , deci M 1 poate fi
forţată ocazional să păstreze piesa prelucrată (şi să nu accepte altele)
până când robotul devine disponibil. Fie x1 şi x2 stările lui M1
respectiv M2, iar x3 starea robotului. Presupunem că timpii de
procesare pe M1 şi M2 sunt: 0,5 pe M1 şi 1,5 pe M2, iar timpii de
transport de la M1 la M2 de 0,2 sec iar de la M2 în poziţia iniţiala (M1)
de 0,1 sec. Presupunem că piesele sosesc la M1 după următoarea
schemă:
0,1 0,7 1,1 1,6 2,5 sec
a) identificaţi toate valorile posibile pentru x1 , x2 şi x3;
b) definiţi un set minimal de evenimente E pentru acest sistem;
c) pentru intervalul [0,0, 0,3] construiţi un tabel cu valorile lui x1(k),
x2(k), x3(k) şi t(k) unde x1, x2, x3 sunt stările maşinilor şi robotului
după al k-lea eveniment iar t(k) este momentul apariţiei al
evenimentului k. Dacă două evenimente apar simultan considerăm
că terminarea procesării apare întotdeauna înaintea sosirii unei noi
piese;
d) identificaţi toate stările pentru care M1 este forţată să aştepte până
când braţul robotului preia piesa finită (prelucrată) (de pe M1).
Limbaje Formale şi Automate 13

CAPITOLUL II
Limbaje Formale şi Automate

BREVIAR
Definiţii
 Un alfabet este o mulţime finită de simboluri.
 Un cuvânt este o secvenţă finită de simboluri ale aceluiaşi alfabet.
 Un limbaj este o mulţime de cuvinte cu simboluri ale aceluiaşi
alfabet.
Notaţii:
 Lungimea unui cuvânt, w reprezintă numărul de simboluri care
compun cuvântul.
 Cuvântul vid: ε (corespunde evenimentului nul sau, mai precis,
unui eveniment neobservabil).
 Limbaj vid: φ (reprezintă limbajul fără nici un cuvânt).
14 Modelarea şi analiza SDED – 103 probleme

Evoluţia oricărui SED poate fi reprezentată complet printr-o pereche de


limbaje (L, Lm) cu următoarele proprietăţi:
 L şi Lm sunt definite pe alfabetul de intrare;
 L – reprezintă toate evoluţiile posibile ale SED şi se numeşte
limbaj generat;
 Lm – reprezintă toate evoluţiile dorite ale SED şi se numeşte limbaj
marcat;
 Lm ⊆ L.
Operaţii pe limbaje
Fie L, L1, L2, limbaje definite peste alfabetul Σ . Cele mai utilizate
operaţii pe limbaje sunt:
• Reuniunea
L = L1 ∪ L2 ={ v| v ∈ L1 sau (şi) v ∈ L2 }
• Concatenarea
L = L1⋅ L2 = {v | v = s⋅ t unde s∈ L1 şi t∈ L2}
• Închiderea iterativă (sau operatorul Kleene)
L = L*

*
L =  Li , Lk+1 = Lk ⋅ L, L0 = {ε}
i= 0

Observaţie: Operaţia de închidere iterativă se poate extinde şi la un


alfabet (considerat ca un limbaj cu cuvinte de lungime 1) Σ : Σ *
reprezintă mulţimea tuturor cuvintelor care pot fi formate cu
simbolurile lui Σ .
• Închiderea prefixată
pr (L) = L = {s ∈ Σ * | ∃ t ∈L a.î. s⋅ w = t}
• Intersecţia
L = L1 ∩ L2 = {v | v ∈ L1 şi v ∈ L2}
• Proiecţia lui L peste o submulţime de evenimente Σ ^ ⊆ Σ
Limbaje Formale şi Automate 15

L↑Σ ^= {s↑Σ ^ | s ∈ L} cu
σ , daca σ ∈ Σ^
(∀)σ ∈ Σ, σ ↑ Σ^ = 
 ε , altfel

( s ↑ Σ)σ , daca σ ∈ Σ^
(∀) s ∈ Σ,σ ∈ Σ, s ⋅ σ ↑ Σ^ = 
 s ↑ Σ, altfel

Proprietate importantă: Limbajul generat de către un SED este


întotdeauna egal cu închiderea sa prefixata (L = pr(L)).
Definiţie
Fie Σ un alfabet; atunci o expresie regulată (ER) se defineşte astfel:
• ε este o ER care modelează limbajul ce conţine doar evenimentul
nul;
• φ este o ER care modelează limbajul vid;
• (∀) a ∈ Σ , a este o ER care modelează limbajul reprezentat de
{a}
• dacă a, b sunt ER, atunci (a⋅ b), (a + b), a*, b* sunt ER
Proprietate: Dacă α este ER, atunci : α * = ε + α ⋅ α *.

Definiţie: Un automat finit determinist AFD se defineşte ca un quintuplu :


G = (Q, Σ , q0 , δ , Qm)
unde:
Q = mulţimea (finită) a stărilor;
Σ = alfabetul de evenimente,
q0 = starea iniţială,
δ = funcţia de tranziţie ; δ : Q × Σ Q,
(∀) q ∈ Q, a∈Σ şi w ∈ Σ * sunt satisfăcute următoarele relaţii:
a) δ (q, ε ) = q
b) δ (q, wa) = δ (δ (q, w), a) = q’ ∈Q
16 Modelarea şi analiza SDED – 103 probleme

Qm = mulţimea stărilor marcate.


Notaţii:

stare;

starea iniţială (unica !);

stare marcată;

a
tranziţia sub evenimentul a.

Observaţii :
1) Dacă Qm ≠ φ , atunci automatul se numeşte acceptor.
2) Două automate G1 si G2 sunt echivalente dacă limbajele lor
generate şi respectiv cele marcate, sunt egale:
G1 echivalent cu G2 ⇔ L(G1) = L(G2) şi Lm(G1) = Lm(G2)

Definiţie : Un automat finit nedeterminist AFN se defineşte ca un quintuplu


G = (Q, Σ , δ , q0, Qm)
unde singura diferenţă faţă de AFD este dată de modul de definire al funcţiei
de tranziţie, respectiv :
δ : Q × Σ 2Q cu 2Q - mulţimea tuturor submulţimilor lui Q.
şi
δ (q, ε ) = q
δ (q, a) = {p| p∈Q}, ceea ce înseamnă că, din starea q, prin
evenimentul a, se poate ajunge într-o mulţime de stări (evoluţia nu
este unică).
Un cuvânt de intrare w ∈∑* este acceptat de un AFN dacă măcar una dintre
evoluţiile δ (q0, w) ∈ Qm.
Limbaje Formale şi Automate 17

Pentru orice AFN G se poate construi un AFD echivalent G’, numit


observatorul lui G.
G’ = (Q’, Σ , δ ’, q0, QF’),
Definiţie : Un AFN cu tranziţii ε (AFN-ε ) se defineşte ca un quintuplu
G:
G = (Q, Σ ∪{ ε }, q0 , δ , Qm).
Diferenţa faţă de clasele de automate prezentate anterior este dată de modul
de definire al lui δ .
Pentru a defini funcţia de tranziţie a AFN-ε se introduce noţiunea de
închidere ε a unei stări q a automatului G (ε *G (q)) , astfel:
ε *G (q) = δ (q, ε *) ={q’ |q’ ∈Q} - mulţimea tuturor stărilor în care
se ajunge pornind din q sub o secvenţă de ε .
Atunci funcţia de tranziţie a unui AFN-ε se defineşte astfel:
δ : Q × (Σ ∪{ ε })  2Q ;

δ (q, ε ) = ε G* (q)
Pentru un cuvânt de intrare s ∈ (Σ ∪{ ε })* si σ∈ Σ ,
 
δ (q, sσ ) = ε G* [δ (δ (q, s ), σ )] =  ε G ( q") 
*
δ (q , s ) q ''∈δ ( q ',σ )
q '∈ 
Ca şi în cazul AFN, pentru orice AFN-ε se poate construi un observator
determinist.

Algoritmul de construcţie a unui observator determinist Gobs pentru un


automat nedeterminist general Gnd
Considerând că automatul determinist este definit ca:
Gobs = (Qobs, Σ , δ , q0,obs, Qm,obs)
obs

iar automatul nedeterminist ca:


Gnd = (Qnd, Σ nd, δ nd , q0,nd, Qm,nd),
18 Modelarea şi analiza SDED – 103 probleme

în care
 Σ, daca avem un AFN
Σnd = 
Σ ∪{ε}, daca avem un AFN - ε
Şi folosind (pentru a putea rezolva cu algoritmul construcţia observatorului
atât pentru AFN cât şi pentru AFN-ε ) următoarea funcţie:
UR: 2Qnd × Σ nd→ 2Qnd
Cu definiţia:
 x, daca G nd este AFN
UR(x) =  *
ε G ( x), daca G nd este AFN - ε
algoritmul de construcţie a observatorului pentru un automat nedeterminist
este următorul:
Pas 1 q0,obs = UR(q0,nd) şi se introduce q0,obs în lista stărilor neexplorate
(LSN).
Pas 2 Atâta timp cât există stări în LSN:
Pas 2.1 Extragere a unei stări q din LSN.
Pas 2.2 Includere a stării q în mulţimea Qobs. Dacă ∃ qnd∈qobs a.î
qnd∈Qm,nd atunci se adaugă qobs în Qm,obs.
Pas 2.3 Pentru fiecare eveniment e∈ Σ nd

Pas 2.3.1 Evaluare a stării q’obs în care evoluează qobs la apariţia


evenimentului e:
δ obs(qobs, e) = q’obs=UR(δ nd (qobs, e))=

= UR( qnd 
∈qobs δ nd(qnd, e))
Pas 2.3.2 Dacă q’obs∉Qobs
Introducere a lui q’obs în LSN.
Pas 2.4 Întoarcere la Pas 2.

Orice expresie regulată (ER) poate fi reprezentată printr-un AFN-ε , pe


baza definiţiei ER şi utilizând următoarele operaţii:
Limbaje Formale şi Automate 19

Fie r1 şi r2 ER care pot fi exprimate prin AFN- ε , respectiv


M1 = (Q1, Σ 1, q1, δ 1, {f1})
M2 = (Q2, Σ 2 , q2, δ 2, {f2})
Atunci:
1. AFN- ε corespunzător reuniunii r = r1 + r2 este

q1 M1 f1 ε
ε
f
q0 1
f0
q f
0 ε ε 0
q2 M2 f2
q f
2 2

Automatul M corespunzător lui r este


M = (Q1 ∪Q2 ∪{q0 , f0 }, Σ 1 ∪ Σ 2 , δ , q0 , {f0} )
δ (q0 , ε ) = {q1 , q2 }
δ (q, a) = δ 1 (q, a) dacă q ∈Q1 \{ f1 }şi a ∈Σ 1 ∪{ ε }
δ (q, a) = δ 2 (q, a) dacă q ∈Q2 \{f2 } şi a ∈Σ 2 ∪{ ε }
δ (f1, ε ) = δ (f2, ε ) = {f0}

2. AFN- ε corespunzător concatenării r = r1 r2 este

ε
q1 M1 f1 q2 M2 f2
f q ff
1 2 20
M= (Q1 ∪Q2 , Σ 1 ∪ Σ 2 , δ , q1 , {f2})
δ (q, a) = δ 1 (q , a) dacă q ∈Q1 \ {f1} si a ∈ Σ 1 ∪ { ε }
20 Modelarea şi analiza SDED – 103 probleme

δ (q, a) = δ 2 (q , a) dacă q∈Q2 şi a ∈ Σ 2 ∪{ ε }


δ ({f1}, ε ) = {q2}

3. AFN- ε corespunzător operatorului Kleene r = r1* este


M=(Q1 ∪{q0 , f0} , Σ 1 ∪ {ε } , δ , q0 , {f0})
δ (q0 , ε ) = {q1 , f0}
δ (q , a) = δ 1 (q, a) pentru q ∈ Q1 \ {f1} şi a ∈ Σ 1

δ (f1 , ε ) = {q1 , f0}

ε ε
q0 q1 M1 f1 f0
q f f
0 1 0

Teoremă: Dacă L este un limbaj acceptat de un automat finit determinist,


atunci L poate fi scris ca expresie regulată.
Expresia Regulată a limbajului acceptat de către automat este o reuniune
 R 1nk
toate a tuturor traiectoriilor care conduc de la starea iniţială către o stare
q k ∈Q m

marcată.

n
Observaţie: Rij reprezintă toate traiectoriile de la qi la qj fără să treacă
printr-o stare cu un număr mai mare decât n.
Definiţii:
R ijk = R ikk −1 ( R kkk−1 ) * R kkj−1 R ijk −1
Limbaje Formale şi Automate 21

 { |aδ (i ,qa =) q j } d a ci ≠ aj
R = 0

 { a+ ε | δ (i ,qa =) q j ∪ {ε } d ai =c ja
ij

Definiţie: Fie două Automate Finite (Deterministe)


G1 =( Q1 , Σ 1 , α1 , δ 1 , q01 ,Qm1)
G2 =( Q2 , Σ 2 , α2 , δ 2 , q02 ,Qm2)
Se numeşte compunere sincronă a automatelor G1 şi G2 notată G1 || G2 un
automat G care are stările G =(Q , Σ , δ , q0, Qm) astfel:
Q = Q1 × Q2
Σ =Σ 1∪Σ 2

q0 = (q01 , q02)
Qm = Qm1 × Qm2
Definirea funcţiei de transfer :
(∀) q = (q1 , q2) ∈ Q şi σ ∈ Σ

1 (q1 , σ
),δ
2 (q2 , σ
) ) dacă σ
∈Σ
1∩
Σ2 şi ∃
δ1 (q1 , σ
) şi ∃
δ2 (q2 , σ
)


1 (q1 , σ
) , q2 ) dacă σ
∈Σ
1\ Σ
2 şi ∃
δ1 (q1 , σ
)
δ
(q,σ
)=
( q1 , δ
2 (q2 , σ
)) dacă σ
∈Σ
2\ Σ
1 şi ∃
δ2 (q2 , σ
)

Nu se defineşte pentru orice caz care nu corespunde celor definite mai sus

În acest caz, limbajul generat de automatul rezultat şi limbajul marcat al


automatului rezultat au următoarele definiţii:
1) Lm (G1 || G2) = { s∈Σ * / s↑ Σ 1 ∈ Lm (G1) şi s↑ Σ 2 ∈ Lm
(G2) }
2) L (G1 || G2) = { s∈Σ * / s↑ Σ 1 ∈ L (G1) şi s↑ Σ 2 ∈ L (G2) }
Observaţie: Dacă Σ 1 = Σ 2 atunci Lm(G1 || G2) = Lm (G1) ∩ Lm(G2) şi
L(G1 || G2) = L(G1)∩L (G2).
22 Modelarea şi analiza SDED – 103 probleme

Automatele studiate până acum pot fi considerate ca maşini de stare cu ieşiri


binare: faţă de un cuvânt de intrare dat w se poate specifica numai dacă
acesta este sau nu acceptat (respectiv daca δ (q0, w)∈Qm). În anumite
situaţii este de dorit să se diferenţieze stările marcate, respectiv nemarcate,
între ele. Pentru aceasta se folosesc aşa-numitele maşini de stare cu ieşiri :
Moore şi Mealy.

Definiţie: O maşină Moore se poate defini ca un sextuplu


M = (Q , Σ , ∆ , δ , λ , q0)
unde:
Q = mulţimea (finită) a stărilor
Σ = alfabetul de evenimente (finit şi el)
q0 = starea iniţială
δ = funcţia de tranziţie δ : Q × Σ Q
∆ = alfabetul ieşirilor
λ = funcţia de alocare a ieşirilor λ : Q → ∆
Conform definiţiei, orice maşină Moore dă un răspuns λ (q0) asociat unei
intrări nule (ε ).
Exemplu:
Să se proiecteze maşina Moore care calculează restul modulo 3 pentru un şir
binar de intrare (care are semnificaţia unui număr întreg în format binar)
Evident, exista doar trei ieşiri posibile: ∆ = {0, 1, 2}, ceea ce înseamnă că
numărul maxim de stări este tot trei.
Pentru intrarea nulă (echivalentă cu numărul 0), ieşirea generată trebuie să
fie 0. Rezultă, prin definiţie, că λ (q0) = 0.
În continuare, se foloseşte următorul raţionament: dacă un şir de intrare
binar w corespunde numărului natural n, atunci w0 îi corespunde lui 2n şi
w1 lui (2n+1).
Rezultă următoarea structura pentru maşina Moore dorită:
Limbaje Formale şi Automate 23

1 0
1 2
0 1
q0 q1 q2

0
1 0

Definiţie: O maşină Mealy poate fi definită ca un sextuplu


Me = (Q, Σ , ∆ , δ , λ , q0)
unde :
Q = mulţimea (finită) a stărilor;
Σ = alfabetul de evenimente (finit şi el);
∆ = alfabetul ieşirilor;
q0 = starea iniţială;
δ = funcţia de tranziţie cu definiţia δ :Q × Σ → Q;
λ = funcţia de alocare a ieşirilor λ :Q × Σ → ∆ .
Conform definiţiei, pentru o intrare nulă (ε ) o maşină Mealy generează o
ieşire nulă (ε ).
Din punctul de vedere al puterii de modelare, maşinile Moore şi Mealy sunt
echivalente; din punctul de vedere al lungimii cuvântului de ieşire, maşina
Mealy va da un răspuns de lungime cu 1 mai mică decât maşina Moore
pentru aceeaşi lungime a cuvântului de intrare.
Minimizarea automatelor :
Fie x, y ∈L. Atunci RL este o relaţie de echivalenţă asociata limbajului L
(sau x RL y) dacă şi numai dacă pentru (∀) z ∈ Σ *,
1. fie xz∈ L şi yz ∈ L
2. fie xz ∉L şi yz ∉L.
24 Modelarea şi analiza SDED – 103 probleme

Relaţia RL împarte limbajul L în clase de echivalenţă. Numărul de clase de


echivalenţă se numeşte index.
Se poate demonstra că indexul unui limbaj regulat este finit.
Fie M= (Q, Σ , δ , q0, Qm) un AFD. Se defineşte relaţia de echivalenţă RM
asociata automatului M astfel:
pentru x , y ∈ Σ *, x RM y dacă şi numai dacă δ (q0, x) = δ (q0, y).
În plus, dacă x RM y, pentru (∀) z ∈Σ * avem xz RM yz. (Ceea ce revine la
δ (q0 , xz) = δ (δ (q0 , x), z) = δ (δ (q0 , y), z) = δ (q0 ,yz))
O relaţie de echivalenţă de acest tip se numeşte invariantă la dreapta (faţă
de operaţia de concatenare).
Teoremă (criteriul Myhill-Nerode): Următoarele afirmaţii sunt echivalente:
1. Limbajul L ⊆ Σ * este acceptat de un automat finit;
2. L este reuniunea unor clase de echivalenţă determinate de o relaţie
de echivalenţă invariantă la dreapta cu index finit;
3. Fie relaţia de echivalenţă definită pe limbajul L astfel:
(∀) x, y ∈ L , x RL y dacă şi numai dacă (∀) z ∈ Σ * , xz ∈ L numai în
cazul în care şi yz ∈ L .
Ca o consecinţă a teoremei de mai sus, o stare p este echivalentă cu o stare
q a automatului M dacă şi numai dacă pentru orice şir de intrare x, δ (p, x)
este stare marcată numai atunci când δ (q, x) este o stare marcată.

Algoritmul de minimizare a unui automat


Start
Pas 1: pentru fiecare p∈ Qm şi q ∈Q \ Qm bifează în tabel locaţia
corespunzătoare (stările marcate nu sunt echivalente din punct de
vedere al obiectivului cu cele nemarcate);
Pas 2: pentru fiecare pereche de stări distincte (p, q) ∈ Qm × Qm sau
(p, q) ∈(Q/Qm)× (Q/Qm)
Pas 2.1 dacă (∀) a ∈ Σ , (δ (p, a), δ (q, a)) este bifată în tabel:
atunci
1) bifează (p, q);
Limbaje Formale şi Automate 25

2) bifează succesiv toate perechile din lista de echivalenţe a


perechii (p,q).
altfel
pentru toţi a∈Σ
introducere a perechii (p, q) în lista de echivalenţe a
perechii (δ (p,a), δ (q,a)) în afara cazului în care
δ (p,a) = δ (q, a).
Stop
Algoritmul de minimizare a automatelor a fost elaborat pe baza criteriului
Myhill – Nerode. Acest algoritm urmăreşte găsirea perechilor de stări care
sunt echivalente (au aceeaşi evoluţie). Acest lucru se realizează prin
eliminarea stărilor care nu sunt echivalente. Algoritmul verifică toate
perechile distincte de stări.
Fie automatul G = (Q, Σ , δ , q0, Qm). Se construieşte un tabel care să
conţină toate perechile de stări distincte. Din matricea care are pe linii şi pe
coloane toate stările se păstrează doar elementele de sub diagonala
principală a matricei.
În acest fel, toate perechile (p, q) rămase nemarcate reprezintă două câte
două stări echivalente.
26 Modelarea şi analiza SDED – 103 probleme

Probleme rezolvate
5. Să se proiecteze un AFD peste alfabetul Σ = {a, b}care acceptă
cuvintele care nu conţin 3a consecutiv.
Rezolvare.
Automatul obţinut este cel din figura 2.1.

b
q2 q3 a,b
q0 q1
a a a
b
b

Figura 2.1
6. Să se proiecteze AFD peste alfabetul Σ = {a, b}care acceptă şirurile
“a”, “bb” şi “aba”.
Rezolvare.
AFD cerut este ilustrat în figura 2.2.
a

b a,b
q02 q10 q20 q30
b a a,b
a

q5 q40
a
b b

Figura 2.2
Limbaje Formale şi Automate 27

Probleme propuse
7. Să se proiecteze un AFD peste alfabetul Σ = {a, b}care acceptă
cuvintele ce conţin minim 3a şi nu se termina cu b.

8. Să se proiecteze automatul determinist peste alfabetul Σ = {a, b} care


acceptă cuvintele în care perechea “aa” este urmată de subşirul “bab”.

9. Care este AFD care peste alfabetul Σ = {a, b} acceptă şirurile cu


număr par de “a” şi nu conţin subşirul “bb”?

10. Să se proiecteze AFD care acceptă peste alfabetul Σ = {a, b, c}


cuvinte cu număr par de “a”, par de “b” şi impar de “c”.

11. Să se proiecteze AFD care acceptă peste alfabetul Σ = {a, b, c}


cuvinte care conţin minim 2 “c” (nu neapărat consecutivi) şi nu conţin
secvenţa “aca”.

12. Să se construiască peste Σ = {a, b} un AFD care acceptă şirurile ce


conţin cel puţin 2 ”a” şi nu conţin subşirul “bb”.

13. Să se proiecteze un AFD care acceptă toate şirurile peste alfabetul


Σ ={a, b} care conţin cel puţin 3 ”a” şi cel mult 2 ”b”.

14. Să se proiecteze AFD care peste alfabetul Σ = {a, b}acceptă


cuvintele ce conţin subşirul “aba” şi nu conţin subşirul “bb”,.

15. Să se construiască AFD peste alfabetul Σ = {1, 2, 3} care acceptă


cuvintele în care suma ultimelor două simboluri este 4.

16. Să se construiască un AFD peste alfabetul Σ = {a, b} care acceptă


cuvinte ce conţin număr par de “a” şi nu conţin subşirul “abb” .

17. Să se proiecteze AFD peste alfabetul Σ = {1, 2, 3}, care acceptă toate
cuvintele care se termină cu subşirul “123”.

18. Care este automatul care peste alfabetul Σ = {a, b, c} recunoaşte


cuvintele ce conţin număr par de “a” şi număr impar de “c”?
28 Modelarea şi analiza SDED – 103 probleme

19. Care este automatul care peste alfabetul Σ = {a, b} recunoaşte


cuvintele ce conţin număr impar de “b” şi care nu conţin subşirul
“bba”?

20. Fie un lacăt electronic prevăzut cu două butoane etichetate cu “a” şi


respectiv “b”. Lacătul se deschide dacă se apasă pe butoane în
combinaţia “aba”. Din poziţia “deschis” el poate fi închis numai prin
apăsarea butonului “b”. Să se modeleze funcţionarea lacătului printr-
un automat finit determinist.

21. Să se construiască AFD care acceptă setul tuturor şirurilor din


alfabetul Σ = {0, 1} cu număr egal de 0 şi 1 astfel încât fiecare prefix
are cel mult încă un 0 în plus fata de numărul de 1 şi încă cel mult un
1 în plus faţă de numărul de zerouri.

22. Să se construiască AFD aferent unui sistem de parolare peste alfabetul


Σ = {a, b, c, d} care funcţionează după următoarele reguli:
• parola are trei caractere dintre care două trebuie sa fie identice dar
neconsecutive;
• caracterul d nu trebuie să facă parte din parolă – dacă da, atunci se
ajunge într-o stare de blocaj;
• parola corecta conduce într-o stare marcata în automat.

23. Ce şiruri accepta automatele:


b b a,b
a) a a

b
a b
b a b
b)
?
a a
Limbaje Formale şi Automate 29

24. Construiţi automatul echivalent cu :


b
b
q0 a q1 a,b q3
2

q2
a,b

25. Să se găsească AFD corespunzător AFN-ului :

a,b
q1 q2 a,b
a a

q3
a,b b

q4

26. Se dă automatul G definit astfel : G = {{p, q, r, s,}, {0,1}, δ , p,


{q,s}}, unde δ este definit prin tabelul de mai jos. Se cere AFD
echivalent.

0 1
P q,s q
Q r q, r
R s p
S - p
30 Modelarea şi analiza SDED – 103 probleme

27. Să se calculeze observatorul pentru automatul de mai jos:

q0 q1
2 a b
b

b a
ε

ε
q3 q2

28. Să se construiască AFD echivalent pentru următorul AFN-ε .


q1 b q2

q0 a
ε

a a

ε b

q3 q4
ε, b
a

29. Să se proiecteze AFD echivalent cu următorul automat AFN-ε :


Limbaje Formale şi Automate 31

a,b
q0 b q1 a q2 q4
ε
b

b
a ε
b
a

q3 q5

30. Să se construiască AFN -ε pentru expresia regulata :


(ab)* + (a + bab)*
31. Să se construiască automatul AFD care marchează limbajul definit de
expresia regulata :
(a + g)(ba)* + a(ba)*a*, Σ ={a, b, g}
32. Să se construiască automatul AFD care recunoaşte cuvintele ce
descriu limbajul
a(ba)*a*
33. Se cere AFD corespunzător expresiei regulate peste alfabetul
Σ = {0,1}:
01 + (0+11)0*1

34. Să se găsească expresia regulata pentru automatul :


a
a
q0 q1
b

35. Să se determine expresia regulată pentru AFD din figura:


32 Modelarea şi analiza SDED – 103 probleme

a b q1
q0 q2
b a

a b

36. Să se calculeze expresia regulată acceptată de automatul:

q0 q1 q2
a a a

b
b

37. Care este expresia regulată pentru automatul de mai jos ?


b a a,b
a b

q0 q2
q1

38. Fie automatul de mai jos. Care este expresia regulată care descrie
limbajul acceptat de acest automat?
b
a a a,b

q0 b q2 q3

39. Să se determine expresia regulată pentru automatul :


Limbaje Formale şi Automate 33

0
1
1 0

0
C B
1

40. Să se găsească ER pentru automatul de mai jos:


0
1

q0 q1
1

0 1

q3
0

41. Să se găsească ER pentru automatul de mai jos:


1

0 0

q0 q2
1 q1

1 0

q3
0

42. Construiţi modelele lui M1, M2 şi robotului din problema 1.3.


Alegeţi stările cu semnificaţie fizică pentru componentele
sistemului şi un set de evenimente care să captureze
34 Modelarea şi analiza SDED – 103 probleme

comportamentul componentelor individuale cât şi al întregului


sistem.

43. Un procesor este precedat de o coada de capacitate 1 astfel ca


întregul sistem format din procesor şi coada are capacitatea totală
de 2 job-uri. Exista două tipuri diferite de job-uri J1 şi J2 care fac
cerere către procesor, J1 fiind mai prioritar decât J2. De aceea,
dacă la sosirea job-ului J1 el găseşte procesorul ocupat cu job-ul J2
atunci îl înlătură. Job-ul J2 se reîntoarce în coada iar job-ul J1
primeşte serviciul. Orice job nou sosit care găseşte sistemul plin
este rejectat şi pierdut. Construiţi un automat care să descrie
funcţionarea acestui sistem.

44. Fie două procesoare P1 şi P2 care operează în paralel. Capacitatea


totală a lui P1 (coada plus procesor) este k1=1 iar capacitatea totala
a lui P2 este k2=2. Sistemul primeşte două tipuri de job-uri j1 şi j2
care trebuie procesate pe procesorul P1 respectiv pe procesorul P2.
După procesare job-urile părăsesc sistemul. Daca un job găseşte
coada plină la sosire atunci el este rejectat. Construiţi AFD-ul
sistemului.

45. Un sistem de fabricaţie simplu conţine două maşini M1 şi M2 şi un


buffer B poziţionat între maşini. Intrarea pieselor pe maşina M1 este
nelimitată. Când o piesă este procesată pe maşina M1 este plasată în
bufferul B care are capacitatea de o piesă. Piesa este apoi procesată pe
maşina M2. Fiecare maşină are posibilitatea de a se defecta. Iniţial
maşinile sunt libere. Comportamentul întregului sistem trebuie să
satisfacă următoarele cerinţe:
• M1 poate începe procesarea doar dacă bufferul B este gol;
• M2 poate începe procesarea doar dacă bufferul B este plin;
• M1 nu poate începe procesarea daca M2 este defectă;
• Dacă ambele maşini sunt defecte atunci M2 trebuie reparată prima.
Construiţi automatul care descrie comportamentul admisibil al
sistemului.

46. Se consideră un procesor care împarte un job în două taskuri. Primul


se executa taskul 1, după aceea taskul 2 moment în care jobul
Limbaje Formale şi Automate 35

părăseşte sistemul (la sfârşitul taskului 1). Se presupune că sistemul


are capacitatea de trei joburi. Procesorul trebuie să termine ambele
taskuri ale unui job înainte să înceapă procesarea următorului job.
Există un mecanism de time-out pentru fiecare job, care operează
astfel: când un job intra în sistem , taskului 1 i se acordă o unitate de
timp pentru execuţie; dacă jobul stă în sistem o unitate de timp şi
taskul 1 al său nu s-a executat, atunci jobul este terminat forţat şi
următorul job din coada, dacă există va fi procesat. Se consideră
sistemul iniţial gol. Presupunem următoarea scară de timp pentru
sosirile joburilor (0; 0,2; 0,9; 1,6; 2) şi pentru fiecare se dă timpul de
execuţie pentru fiecare task: I(0,8; 0,7); II(0,9; 0,7); III(0,3; 0,6);
IV(0,9; 0,5) şi V(0,1; 1,2). Construiţi o diagramă de timp incluzând
timpii de apariţie a evenimentelor şi tipul evenimentelor . Pe baza
acestei diagrame determinaţi care job se termină corect şi care se
termină forţat (time out). Construiţi o diagramă de stări- tranziţii.

47. Un sistem conţine 3 servere ca în figura următoare. Clienţii care intră


în sistem ajung mai întâi în coada de la serverul 1 şi după ce sunt
procesaţi pe serverul 1 ei sunt rutaţi pe serverele 2 sau 3. Politica de
rutare este trimiterea clientului întotdeauna către serverul cu coada cea
mai mică. În cazul în care cele două cozi sunt egale , clientul este rutat
către serverul 2. După procesarea pe serverul 2 sau 3 clienţii părăsesc
sistemul. Un client care soseşte din exterior este acceptat în sistem
atât timp cât numărul total de clienţi din sistem este maxim 2, altfel
clienţii sunt rejectaţi. Să se construiască automatul care descrie
funcţionarea sistemului.

48. O celula de fabricaţie este alcătuită din două maşini M1 şi M2 şi un


AGV. Automatele celor trei componente sunt :
36 Modelarea şi analiza SDED – 103 probleme

M1 0
readyat1 1

loadat1

M2 0
giveto2 1

loadat2

AGV

1 giveto2 0 loadat2 2

loadat1 giveout

a) Să se construiască G = M1|| M2 ||AGV


b) Este G blocant?

49. Un sistem de fabricaţie conţine 2 maşini M1 şi M2 şi un robot R care


preia o piesă prelucrată de pe maşina M1 şi o depune pe maşina M2.
Nu exista nici un buffer pentru cele două maşini. Dacă o piesă este
furnizată lui M1 în timp ce aceasta este ocupată atunci piesa este
rejectată. Dacă robotul transportă piesa către M2 în timp ce aceasta
este ocupată el aşteaptă până când M2 o poate accepta. După ce
robotul a depus piesa pe M2 el revine în poziţia iniţială, de unde poate
lua o noua piesa de pe M1.
Să se construiască AFD care descrie funcţionarea procesului.

50. Fie un tronson de cale ferată care arată ca în figură. Fie alfabetul
Σ ={i1,s1, i2, s2, i3, s3} unde ik reprezintă intrarea unui tren pe
tronsonul de cale ferată k, iar sk = ieşirea trenului de pe tronsonul k. Se
Limbaje Formale şi Automate 37

notează cu qi variabila de stare asociată trenului i care reprezintă


prezenţa trenului pe acel tronson. Astfel dacă qi = 1 atunci trenul se
află pe tronson, altfel qi = 0. Starea întregului sistem este q=(q1, q2, q3).
Să se construiască maşina Moore care modelează acest sistem şi
generează în fiecare stare valoarea lui q. Care este limbajul L care nu
conduce în starea de blocaj reprezentată pe figură?

i3 s2
i1
s1

i2
s3

51. Activitatea de obţinere a vizelor la consulatul X este organizată după


următoarele reguli: există două cozi , una pentru vize profesionale
(C1), cealaltă pentru vize turistice (C2). Coada C1 este deservită de un
ghişeu, iar coada C2 de către trei ghişee. În clădirea consulatului se
intră astfel: grupuri de câte 4 persoane pentru coada C1 şi grupuri de
câte 12 persoane pentru coada C2. Un grup intră în momentul în care
toţi cei din grupul anterior au intrat la ghişeu. Dacă numai există
solicitanţi pentru coada C1 atunci ghişeul de la coada C1 deserveşte
coada C2. Să se construiască automatul sistemului.

52. Fie o barieră cu plată care utilizează monede m. Există doi senzori a şi
b, a pentru sesizarea prezenţei unui vehicul cu 2 roţi, iar b pentru
sesizarea prezenţei unui vehicul cu 4 roţi. Pentru un vehicul cu 2 roţi
este necesară o monedă pentru ca bariera să se ridice iar pentru
vehiculul cu 4 roţi sunt necesare două monezi. Să se modeleze ca
AFD funcţionarea sistemului.

a b
38 Modelarea şi analiza SDED – 103 probleme

53. Fie două maşini cu două stări posibile: liber şi ocupat şi setul de
evenimente Σ = {s1, f1, s2, f2}, unde si – reprezintă acţiunea de “start
funcţionare” pentru maşina i, iar fi – semnifică acţiunea de “sfârşit
funcţionare” pentru maşina i. Pentru fiecare maşină Mi, trecerea din
starea liber în starea ocupat se face în concordanţă cu apariţia
evenimentului si, iar trecerea din starea ocupat în starea liber se face la
apariţia evenimentului fi.
a) Să se construiască automatele ce descriu funcţionarea maşinilor şi
automatul ce descrie funcţionarea întregului sistem.
b) Se introduce o specificaţie de funcţionare: între cele două maşini
există un buffer X de capacitate 1 , care poate avea două stări: x0 –
buffer gol şi x1- buffer plin. Se cere automatul care descrie
funcţionarea stocului precizându-se evenimentele interzise şi cele
acceptate de fiecare stare.
M1 M2
X

54. Doi filosofi stau la o masă pe care se găsesc două farfurii, fiecare în
faţa câte unui filosof şi două furculiţe situate de o parte şi de alta a
filosofilor. Comportamentul fiecărui filosof este următorul: fiecare
filosof poate gândi sau poate mânca. Pentru a trece din starea
“gândeşte” în starea “mănâncă” filosoful trebuie să ridice ambele
furculiţe de pe masă, pe rând, în orice ordine. După ce filosoful
termina de mâncat, el depune ambele furculiţe pe masă şi revine în
starea “gândeşte”. Alegând un set de evenimente cât mai
reprezentativ, construiţi atât automatele aferente entităţilor sistemului
cât şi automatul care descrie funcţionarea întregului sistem.

55. Să se minimizeze automatul


Limbaje Formale şi Automate 39

a a
0 1

b a b
b

a
2 3

56. Să se minimizeze automatul :


1
q1
1

1
q0 1 q3 q4
2 3
3 1

2,3 2 2,3

q2
2,3

57. Două procesoare partajează o memorie comună. Partajarea este


exclusivă. Fiecare procesor este liber până când trebuie să execute un
task, după care trece în starea de cerere acces memorie. Atunci când
memoria este liberă, procesorul o alocă, execută taskul şi apoi o
eliberează. În acest moment procesorul devine liber. Să se
construiască automatele care descriu funcţionarea subsistemelor
componente şi automatul corespunzător funcţionării întregului sistem.
40 Modelarea şi analiza SDED – 103 probleme

CAPITOLUL III
Reţele Petri

BREVIAR
Definiţie: Reţelele Petri (RP) sunt grafuri orientate cu două tipuri de
noduri: poziţii şi tranziţii. Formal, o RP ordinară şi autonomă poate fi
definită printr-un cvintuplu:
RP = ( P, T, I , O, M0 )
unde:
 P este mulţimea poziţiilor, simbolizate prin cercuri; poziţiile
modelează variabile de stare sau condiţii;
 T este mulţimea tranziţiilor, simbolizate prin bare sau
dreptunghiuri; tranziţiile modelează evenimente sau acţiuni.
Mulţimile P şi T sunt disjuncte P ∩ T =∅
 I: PxT → { 0,1}reprezintă arcele care duc de la poziţii la tranziţii şi
se mai numeşte şi funcţie de intrare sau IN;
Reţele Petri 41

 O: PxT → { 0,1} reprezintă arcele care duc de la tranziţii la poziţii


şi se mai numeşte şi funcţie de ieşire sau OUT.
Într-o RP, întotdeauna un arc uneşte două noduri de tipuri diferite (o
poziţie si o tranziţie).
M : P → N este vectorul de marcaj, definit pe mulţimea poziţiilor
reţelei, cu valori în mulţimea numerelor naturale; un element m(Pi) al
vectorului indică numărul de jetoane de marcaj din poziţia Pi a reţelei la un
moment dat.
Dacă se consideră poziţiile reţelei ca variabile de stare ale sistemului
astfel modelat, atunci marcajul (vectorul de marcaj) reprezintă starea
sistemului.
 M0 este marcajul iniţial la lansarea sistemului (starea iniţială).
Starea unei RP se modifică prin execuţia tranziţiilor.

Reguli pentru execuţia tranziţiilor:


1.O tranziţie se execută numai dacă este validă. O tranziţie Tj este
validă numai dacă toate poziţiile sale de intrare (adică toate
poziţiile Pi pentru care I(Pi,Tj)=1) sunt marcate (m(Pi)≥1).
2. Într-o RP ordinară autonomă se execută o singură tranziţie la un
moment dat (indiferent câte tranziţii sunt valide). Această regulă
are la bază două ipoteze:
a. Două evenimente independente nu pot să aibă loc simultan,
b. Fiecare tranziţie reprezintă un eveniment distinct.
3.Execuţia unei tranziţii Tj se face în doi paşi:
a. Din fiecare poziţie de intrare a lui Tj se retrage câte un jeton
de marcaj,
b. În fiecare poziţie de ieşire a lui Tj se pune un jeton de marcaj.
4. Execuţia unei tranziţii are durată nulă.
Din punctul de vedere al nivelelor de reprezentare SED, există
următoarele clase de RP:
- reţele Petri autonome – la nivel logic,
42 Modelarea şi analiza SDED – 103 probleme

- reţele Petri temporizate, sincronizate şi interpretate – la nivel


temporal (determinist),
- reţele Petri stochastice – la nivel stochastic.
În afară de aceste clase distincte, a căror putere de modelare este
diferită în funcţie de modul de integrare al timpului în model, există o serie
de extensii ale modelelor RP, extensii care se pot aplica fiecărei clase, fără a
le modifica nici proprietăţile şi nici puterea de modelare. Rolul extensiilor
este de a realiza modele mai compacte.
Dintre acestea, cele mai cunoscute sunt:
 RP generalizate: se asociază ponderi (numere naturale) arcelor. În
mod implicit ponderea unui arc este 1. Se mai numesc şi RP cu arce
ponderate.
I: PxT → N şi O: PxT → N
Pentru această clasă de reţele regulile de execuţie a tranziţiilor
se modifică astfel:
- dacă arcul Pi →Tj are ponderea q , Tj este validă dacă Pi conţine
cel puţin q jetoane.
- prin executarea lui Tj se retrag q jetoane din Pi ;
- dacă arcul Tj → Pk are ponderea m, prin executarea lui Tj se
adaugă m jetoane în poziţia Pk.
 RP cu capacităţi: se asociază capacităţi (numere naturale)
poziţiilor. În mod implicit, capacitatea unei poziţii este infinită.
Regulile de execuţie ale tranziţiilor se modifică astfel: o tranziţie
este executabilă dacă şi numai dacă prin execuţia ei nu se depăşeşte
capacitatea vreuneia dintre poziţiile sale de ieşire.
Tranziţii speciale:
• tranziţie sursă este o tranziţie care nu are nici o poziţie de intrare. O
astfel de tranziţie este în permanenţă validă;
• tranziţie capcană (trapă) este o tranziţie care nu are nici o poziţie de
ieşire.
Notaţii:
*
• M = mulţimea marcajelor accesibile plecând de la marcajul M;
Reţele Petri 43

• S = secvenţă de execuţie = succesiune de tranziţii ce se pot executa în


această ordine;
• M0(S → M2: executarea secvenţei S pornind de la marcajul M0 conduce la
marcajul M2.
• Marcaj superior: M1 ≥ M2 ⇔ m1 (Pi ) ≥ m2 (Pi ), ∀ Pi ;
• Marcaj strict superior: M1 > M2 ⇔ M1 ≥ M2 şi ∃ Pi a.î. m1 (Pi ) > m2 (Pi ).

Proprietăţile reţelelor Petri.


Proprietatea 1: Mărginire
1) O poziţie Pi este mărginită pentru un marcaj iniţial M0 dacă
∀M∈*M0 , exista un număr natural m astfel încât, oricare ar fi
evoluţia reţelei, m(Pi)<m;
2) O RP este mărginită pentru un marcaj iniţial M0 dacă toate
poziţiile sale sunt mărginite pentru marcajul iniţial M0;
Se numeşte RP binară (sigură) pentru un marcaj iniţial M0 o reţea
mărginită în care marcajul nici unei poziţii nu depăşeşte valoarea 1.

Proprietatea 2: Viabilitatea
1) O tranziţie Tj este viabilă pentru un marcaj iniţial M0 dacă
∀M∈*M0, există o secvenţă de tranziţii S care porneşte din M şi
conţine Tj; o tranziţie Tj este cvasiviabilă pentru un marcaj iniţial
M0 dacă există cel puţin o secvenţă de tranziţii S care porneşte din
M0 şi conţine Tj ;
2) O RP este viabilă pentru un marcaj iniţial M0 dacă toate tranziţiile
sale sunt viabile pentru marcajul iniţial M0; o RP este cvasiviabilă
pentru un marcaj iniţial M0 dacă toate tranziţiile sale sunt cel puţin
cvasiviabile pentru marcajul iniţial M0;
O RP se numeşte conformă dacă este binară şi viabilă .
Proprietatea 3: Blocaje
1) Un blocaj este un marcaj pentru care nici o tranziţie nu mai este
validă.
2) O RP se zice fără blocaje pentru un marcaj iniţial M0 dacă
∀M∈*M0, M nu este un blocaj.
44 Modelarea şi analiza SDED – 103 probleme

Proprietatea 4: Reiniţializabilitate
1) O RP are o stare de primire Ma pentru un marcaj iniţial M0 dacă
pentru toate marcajele accesibile Mi∈*M0, există o secvenţa de
tranziţii S a.î. Mi(S → Ma.
2) O RP este reiniţializabilă pentru un marcaj iniţial M0 dacă M0 este
stare de primire.
Observaţie: Mărginirea, viabilitatea, absenţa/prezenţa blocajelor,
reiniţializabilitatea sunt proprietăţi care depind de marcajul iniţial.

Proprietatea 5: Invarianţi şi componente conservative


Fie o reţea Petri R şi P mulţimea poziţiilor sale. Spunem că avem un
invariant liniar al poziţiilor (sau invariant de marcaj) dacă există o
submulţime P’ = {P1, P2 ,..., Pr}, P’⊂P şi un vector de ponderi Q = {q1 ,
q2 ,..., qr}, qi ∈N* a.î.
q1 m(P1)+ q2 m(P2)+. . .+ qr m(Pr) = Const. , ∀M∈*M0
Mulţimea P’ se numeşte componentă conservativă. Reţeaua R se
numeşte conservativă dacă şi numai dacă toate poziţiile reţelei sunt incluse
într-o componentă conservativă.
O secvenţă de tranziţii S se numeşte repetitivă dacă M 0 (S → M0 .

Investigarea proprietăţilor reţelelor Petri


Investigarea proprietăţilor Reţelelor Petri (RP) se poate face fie folosind
algebra liniară, fie folosind arborele de acoperire sau graful de marcaje.

Investigarea proprietăţilor RP cu ajutorul algebrei liniare.


Notaţii:
°Tj = {Pi∈P | I(pi, tj) > 0}
Tj °= {Pi∈P | O(pi, tj) > 0}
°Pi = {Tj∈T | O(pi, tj) > 0}
Pi °= {Tj∈T | I(pi, tj) > 0}
W- = [wij-] , wij- = I(pi, tj) matricea de incidenţă înainte
Reţele Petri 45

W+ = [wij+] , wij+ = O(pi, tj) matricea de incidenţă înapoi


W = W+ - W- = [wij] matricea de incidenţă (este independentă de
marcaj)
Ecuaţia fundamentală :
Mk = Mi + W S,
pentru o secvenţă de executii S a.î. M i (S → Mk , unde S este vectorul
caracteristic al secvenţei S (vector de dimensiune m în care sj corespunde
numă rului de validări ale tranziţiei Tj în secvenţa S.

Investigarea proprietăţilor RP cu ajutorul grafului de marcaje sau al


arborelui de acoperire.

Algoritmul de construcţie a arborelui de acoperire


Pas 1. Plecând de la marcajul iniţial M0 se indică toate tranziţiile valide şi
marcajele succesive corespunzătoare. Dacă unul din aceste marcaje
este strict superior lui M0 , se pune ω pentru fiecare componentă
superioară componentei corespunzătoare din M0 .
Pas 2. Pentru fiecare nou marcaj Mi al arborelui se face fie Pas 2.1. fie
Pas 2.2.
Pas 2.1. Dacă există pe calea de la M0 la Mi (exclusiv Mi) un
marcaj Mj = Mi , atunci Mi nu are succesor.
Pas 2.2. Dacă nu există un marcaj Mj = Mi pe calea de la M0 la Mi
atunci se prelungeşte arborele adăugându-se toţi succesorii
lui Mi . Pentru fiecare succesor Mk al lui Mi :
a) o componentă ω a lui Mi rămâne o componentă ω a
lui Mk ;
b) dacă există un marcaj Mj pe calea de la M0 la Mk a.î. Mk
> Mj , atunci se pune ω pentru fiecare componentă a
lui Mk superioară componentei corespunzătoare din Mj .
Obs. Graful de acoperire (sau de marcaje accesibile) se obţine din
arborele de acoperire, prin concatenarea marcajelor care se repetă . Se obţin
în acest fel bucle în graful de acoperire, care în arbore nu apăreau.
46 Modelarea şi analiza SDED – 103 probleme

Reţele Petri sincronizate


1) O RP sincronizată este un triplet <R, E, Sinc> unde:
- R - este o RP marcată;
- E - este o mulţime de evenimente externe;
- Sinc: T → E∪{e}, T fiind mulţimea tranziţiilor din R iar e
evenimentul sigur (întotdeauna adevărat).
2) O RP este total sincronizată dacă Sinc: T → E.
Executarea unei tranziţii se face
- dacă tranziţia este validă;
- atunci când evenimentul asociat se produce.
Notaţie: T(x,M) mulţimea tranziţiilor receptive la evenimentul x ∈
E∪{e} pentru marcajul M.
Definiţie: Sk se numeşte secvenţă de simulare completă (SSC) în
raport cu evenimentul x, pentru marcajul M, dacă:
- Sk este o secvenţă de execuţii din marcajul M, compusă numai din
tranziţii aparţinând lui T(x,M);
- toate tranziţiile din T(x,M) apar cel mult odată în Sk ;
- toate secvenţele Sh obţinute permutând tranziţiile lui Sk sunt de
asemenea secvenţe de execuţie plecând de la M;
- nu există secvenţă de execuţii de lungime mai mare care să conţină
toate tranziţiile lui Sk şi care să îndeplinească primele trei condiţii.
Se numeşte execuţie iterativă la apariţia evenimentului extern ei o
secvenţă compusă din executarea unei SSC sub apariţia lui ei, urmată
eventual de executarea tuturor SSC posibile sub apariţia lui e. Dacă pentru
un marcaj M nu este posibilă execuţia nici unei SSC sub e, atunci M este
numit marcaj stabil. În caz contrar, M se numeşte instabil.

Algoritmul de interpretare a unei RP sincronizate


pas1. Iniţializări: 1) marcajul, 2) mulţimea momentelor la care au loc
evenimentele externe 3) evenimentul curent x.
Fie x = e. Salt la pas3.
Reţele Petri 47

pas2. Se consideră primul moment t la care are loc un eveniment extern ei .


Fie x = ei .
pas3. Se determină mulţimea de tranziţii executabile sub apariţia
evenimentului x. Dacă această mulţime este vidă, se suprimă t din
mulţimea momentelor la care au loc evenimente externe. Salt la pas2.
pas4. Se efectuează o SSC. Se face x = e. Salt la pas3.

Proprietăţi suplimentare ale reţelelor Petri sincronizate.


O RP sincronizată este promptă dacă pentru toate marcajele
accesibile stabile şi pentru toate evenimentele ei, execuţia iterativă sub
apariţia evenimentului extern ei conţine un număr finit de SSC.
Dacă există un număr natural k astfel încât numărul de SSC ≤ k,
atunci spunem că reţeaua este k-promptă.
Proprietate: O RP sincronizată este promptă dacă îndeplineşte următoarele
condiţii:
- toate tranziţiile sursă (fără nici o poziţie în amonte) au asociate
evenimente externe;
- pentru toate ciclurile P1T1P2T2 ... PqTq a.î. avem arcele Pi → Ti, Ti → Pi+1 si
Tq → P1 există cel puţin o tranziţie care să fie sincronizată pe un
eveniment extern.
Observaţie: Proprietăţile RP autonome nu se conservă atunci când reţeaua
este sincronizată.

Reţele Petri temporizate


RP P-temporizate: se asociază fiecărei poziţii Pi o temporizare di. În
mod implicit, temporizarea asociata unei poziţii este nulă.
O RP P-temporizată este un dublet <R, Temp> unde:
- R este o RP marcată;
- Temp: P → Q+, unde Q+ reprezintă mulţimea de numere raţionale
pozitive a.î. Temp(pi )= di .
48 Modelarea şi analiza SDED – 103 probleme

Se consideră ca un jeton depus într-o poziţie Pi în momentul t este


indisponibil pe durata temporizării [t, t+di], după care devine disponibil. În
acest fel, la un moment de timp oarecare marcajul M al reţelei are două
componente: marcajul disponibil şi marcajul indisponibil. (M = Md + Ml).
Validarea unei tranziţii este făcută doar de componenta disponibilă a
poziţiilor sale de intrare.
Ipoteza de lucru : la momentul iniţial marcajul M0 este disponibil.
În vederea analizei RP temporizate se consideră că o tranziţie se
execută de îndată ce devine validă. Acest regim de funcţionare se numeşte
funcţionare la viteză maximală.
Se demonstrează ca pentru o RP temporizată mărginită şi cu
temporizări cu valori raţionale, funcţionarea la viteza maximală conduce
după un timp la un regim repetitiv – numit regim staţionar.
În cadrul regimului staţionar se face analiza cantitativă (evaluarea
performanţelor) sistemului. Pentru aceasta se definesc următoarele mărimi:
1) Frecvenţa de execuţie fj, a unei tranziţii Tj, este numărul mediu de
execuţii ale lui Tj pe unitatea de timp.
2) Numărul mediu de marcaje într-o poziţie Pi este egal cu produsul
între suma frecvenţelor de execuţie ale tranziţiilor de intrare în
poziţia Pi şi durata sa asociată di.
Un alt regim de funcţionare este cel la viteza proprie: o RP
P-temporizată funcţionează cu viteză proprie dacă nici un jeton nu rămâne
într-o poziţie un interval de timp mai mare decât durata sa de
indisponibilitate. Un model care are funcţionare la viteza proprie este
considerat a fi un model fără întârzieri (nici un jeton nu “aşteaptă” să fie
utilizat).
Reţele Petri T-temporizate: se asociază fiecărei tranziţii Tj o durată
de execuţie dj. Implicit, durata de execuţie a unei tranziţii este nulă.
Definiţie: O RP T-temporizată este un dublet <R, Temp> unde:
- R este o RP marcată;
- Temp: T → Q+, cu Q+ o mulţime de numere raţionale pozitive a.î.
Temp(ti )= di
Reţele Petri 49

Pentru această clasă de reţele un jeton poate avea 2 stări: rezervat


pentru executarea unei tranziţii Ti sau nerezervat. Fie t momentul când se
decide executarea tranziţiei Ti şi t+di momentul când execuţia are loc
efectiv. Pe durata [t, t+di] jetoanele necesare execuţiei sunt rezervate. Se
spune că t este momentul de început şi t+di momentul de sfârşit al execuţiei.
O tranziţie este validată de jetoanele nerezervate din poziţiile sale de intrare.
La momentul iniţial toate jetoanele sunt nerezervate.
Noţiunile de funcţionare la viteza maximală, funcţionare la viteza
proprie şi frecvenţă de execuţie se pot extinde şi la reţele T-temporizate.
Reprezentare grafică:
- bară ( ) pentru o tranziţie a cărei temporizare este nulă;
- dreptunghi ( ) pentru o tranziţie a cărei temporizare este nenulă;
Observaţie: Orice reţea Petri T-temporizată poate fi transformată într-o
reţea Petri P-temporizată şi invers.

d d

T-temporizare P-temporizare

d d

P-temporizare T-temporizare
50 Modelarea şi analiza SDED – 103 probleme

Probleme rezolvate
58. Să se studieze proprietăţile de mărginire, viabilitate, ciclicitate şi fără
blocaje pentru reţelele Petri ilustrare în figura următoare:
-a- -b-

P1 P1 2 (3)
T4 T4
T1 T3 T1 T3

P2 P3 P2 P3
T2 T2

Rezolvare.
Graful de marcaje al reţelei din figura a) este :

T1 T2

 2T2 T1  1  0
     
M0 =
 0 M1 =
 1 M2 =
 2
 0  0  0
     
T3
T1

 0  1  0
T4
T2

     
M3 =
 0 M4 =
 0 M5 =
 1
 1  0  0
     
Reţele Petri 51

Se observă că numărul de vectori de marcaj este finit, prin urmare reţeaua


este mărginită. Deoarece nici un marcaj nu este vector de blocaj reţeaua nu
prezintă blocaje. Tranziţiile T3 şi T4 se pot executa o singură dată. De aceea
ele sunt cvasiviabile, spre deosebire de celelalte tranziţii care se execută de
un număr infinit de ori. În concluzie, se poate spune că reţeaua este
cvasiviabilă. Proprietatea de reversibilitate nu este îndeplinită deoarece nu
există o secvenţă de tranziţii care să conducă din marcajul M3 în marcajul
iniţial.

T1 T1

2 
1 
0
  
M0 = 0
 1
 2

  

0 T2 
0 T2 
0

T3 
0

0

T4 

1

Pentru reţeaua din figura b) cu ponderea arcului T4 → P1 egală cu 2, graful


de marcaje accesibile este ilustrat în figura . Din graf se deduce că reţeaua
este mărginită şi fără blocaje ca cea dinainte, în plus, prin buclele care s-au
format în graf, reţeaua este viabilă, pentru oricare marcaj din graf şi oricare
tranziţie putându-se găsi o secvenţă pornind de la acest marcaj care să
conţină tranziţia respectivă.
Pe acest exemplu se mai poate face o observaţie. Prin buclele care s-au
format pe graf se pot identifica secvenţele repetitive (secvenţe de tranziţii
care, pornind de la un anumit marcaj, conduc la acelaşi marcaj). Acestea
sunt: S1 = T1T3T4, S2 = T1T1T2T2, S3 = T1T1T2T3T4. Se poate vedea uşor că
din toate marcajele accesibile de pe acest graf se poate ajunge în marcajul
iniţial, deci reţeaua este reversibilă.
Să consideram un ultim caz în care ponderea arcului T4 → P1 este 3 (vezi
figura -b-). În acest caz se obţine următorul graf de acoperire:
52 Modelarea şi analiza SDED – 103 probleme


2 
1 
0
  T1   T1 
M0= 0  M1= 1  M2= 2 
 T2 T2
0
 

0
 

0
 
T3
0 ω ω ω
 T4   T1   T3 
M3= 0  M4= 0  M5= ω  M6= ω 
1 0  0  ω
     

T1, T2 T1, T2, T3, T4

Se observă că pe acest graf s-a substituit, conform algoritmului de


construcţie a arborelui de acoperire, valoarea 3 care s-ar fi obţinut după
prima executare a lui T4 cu ω . În continuare se poate observa că reţeaua
Petri are toate poziţiile nemărginite; în acest fel se deduce că reţeaua este
nemărginită. Se păstrează însă proprietăţile de viabilitate şi de fără blocaje.

59. Să se construiască graful de marcaje şi să se discute


proprietăţile de mărginire, viabilitate şi ciclicitate ale
reţelei sincronizate din figura de mai jos. Să se compare
aceste proprietăţi cu cele ale reţelei nesincronizate.

Rezolvare. P1

T1 e1 T2 e1

P2 P3

T3 e2

P4 P5

T4 e3 T5 e3
Reţele Petri 53

Reţeaua Petri sincronizată este viabilă aşa cum se poate


vedea imediat din graful de marcaje accesibile.
 2  0  0
   1  0
 0 {T 1, T 2}/e 1   T3/e2  
M0 =  0  M1 =  1  M2 =  0
     
 0  0  1
 0  0  1 
 

{T 4, T 5}/e 3

Figura
Dacă însă considerăm aceeaşi reţea dar nesincronizată se
poate vedea, construind din nou graful de acoperire, că
aceasta nu mai este viabilă.
Prin executarea de două ori la rând a tranziţiei T 1 sau a
tranziţiei T2 pornind de la marcajul iniţial se ajunge la blocaj,
deci de la aceste marcaje nici o tranziţie nu va mai putea fi
executată. Secvenţele T1T1 şi T2T2 nu sunt posibile pentru
reţeaua sincronizată.

0 T5

T1 2 
1 0
 1
 
1 0
0 0
0  0
T1  T2 T4

2 0 0 0 0
 0   1
 T3 0 
M0 = 0 1
0 T2 1 0
 T1  
1 1
0  0
0 0 1
 0  
1 T5 1
T2 
 0
0  0
0 0 0
 2  
 1
0 0

0
 T4
54 Modelarea şi analiza SDED – 103 probleme

Probleme propuse
60. Pentru reţeaua Petri din figura de mai jos, să se determine pe baza
grafului de marcaje proprietăţile :
- viabilitate;
- mărginire;
- reversibilitate;
- blocaje;
- conflicte (structurale, efective);
- conservativitate;
- secvenţe repetitive;
- invarianţi de execuţie;
- limbajul generat de reţea.
P1

T1

P2 P3

T2 T3
P4
P5

T4
T5

P6

T6 T7
Reţele Petri 55

61. Se dă reţeaua Petri din figura de mai jos. Se cere studierea


proprietăţilor (mărginire, viabilitate, conflicte, conservativitate,
invarianţi) pe baza grafului de marcaje, pentru marcajul iniţial
M0= [1 0 k 0].

P1
1
T2 k T1
1 1
P3
P4 1 P2
1 1

T4 T3
1 k 1

62. Fie reţeaua din figura de mai jos:


P1 P3 P5

T1 T3 T4

P2 P4 P6

T2

Se cer:
a) proprietăţile de mărginire, viabilitate, conflicte, siguranţă, puritate;
b) invarianţii de marcaj;
c) limbajul generat de RP.
56 Modelarea şi analiza SDED – 103 probleme

63. Se consideră RP din figura de mai jos. Să se construiască arborele de


acoperire şi să se studieze proprietăţile de mărginire, viabilitate
reversibilitate şi conservativitate. Care sunt invarianţii de marcaj şi de
execuţie?
P1 P2

T1

P3

T2

P4

T3

64. Să se construiască graful de marcaje al RP din figură şi pe baza lui :


a) să se determine proprietăţile;
b) să se compare proprietăţile de la punctul a) cu cele ale reţelei
autonome.
P1

e1 T1
P2 P5
P4

T2 e e1 T4

P3 P6

T3 e2 e T5
Reţele Petri 57

65. Să se studieze proprietăţile reţelei Petri din figura de mai jos.


Invarianţii de execuţie şi limbajul reţelei.

T2

P1 P2

T1

P3 P4

T3

P5

T4

66. Să se realizeze graful de marcaje şi să se precizeze proprietăţile


(mărginire, viabilitate, blocaje, conflicte, invarianţi de marcaj,
invarianţi de execuţie, conservativitate) pentru reţeaua din figura de
mai jos.
P1 P2 P3

T2 T1

P4
P5

T3 T4
58 Modelarea şi analiza SDED – 103 probleme

67. Determinaţi secvenţa de simulare completa (SSC) în raport cu


evenimentul “a” pentru marcajele iniţiale pentru reţeaua Petri
sincronizata din figura de mai jos:
a. M0= [2 1 1 0 0 1]
b. M0 = [2 2 2 0 0 2]
Menţionaţi care din SSC sunt maximale şi explicaţi răspunsul.
P1

T1 b a T2

P2 P3

T3 a a T4 a T5

P4 P5 P6

b T6

68. Să se determine proprietăţile Reţelei Petri din figura de mai jos


utilizând graful de marcaje accesibile.
P1 P4

2
T3
T2
T1

3 2
P2 P3
Reţele Petri 59

69. Fie reţeaua P temporizată şi generalizată din figura, unde di reprezintă


durata asociată poziţiei Pi. Pentru marcajul iniţial reprezentat în figura
de mai jos se cer:
a) graful de marcaje accesibile;
b) proprietăţile reţelei.
P1

d1=1
P2
3
d2=1
T1 T2
P3
3

d3=1

70. Să se construiască graful de acoperire pentru reţeaua


din figura de mai jos atât în cazul sincronizat cât şi dacă
se consideră reţeaua nesincronizată. Să se discute
proprietăţile reţelei în ambele situaţii.
P1

T1 e2 T2 e1
P2
T5 e3

T4 e2
T3 e1
P3
60 Modelarea şi analiza SDED – 103 probleme

71. Pentru reţeaua Petri sincronizată din figura de mai jos să


se construiască graful de marcaje accesibile şi să se
discute proprietăţile.

T1 e1 P2
P1

T2 e
T3 e2 T4 e1

P4 T5 e2 P3

72. Fie reţeaua Petri generalizată din figura de mai jos.


a) Care sunt tranziţiile valide din M0 ?
b) După execuţia a două tranziţii reţeaua se blochează. Care sunt
tranziţiile şi care este marcajul de blocaj?
c) Este reţeaua mărginită? Justificaţi răspunsul. Reţeaua este viabilă?
d) Demonstraţi că secvenţa T3T1 se poate executa maxim de două ori.

P1

T1 T2
11
2
P2
P4

T4 T3

P3
Reţele Petri 61

73. Construiţi arborele de acoperire şi graful de marcaje accesibile pentru


reţeaua Petri din figura de mai jos. Studiaţi proprietăţile de mărginire,
viabilitate fără blocaje şi conservativitate.
P1

T1

P3 P2

T3
T2

74. Să se discute proprietăţile RP din figura de mai jos.

P1

T1
P3
P2

T2 T4
T7

P4 P5

T5
T3

P6

T6
62 Modelarea şi analiza SDED – 103 probleme

75. Să se construiască graful de marcaje şi să se precizeze proprietăţile


(mărginire, viabilitate, reversibilitate, conservatitivitate, blocaje,
conflicte). Să se determine invarianţii de marcaj şi de execuţie. De
asemenea se cere construirea grafului de marcaje accesibile pentru
reţeaua T –temporizată. (duratele asociate tranziţiilor sunt indicate în
paranteze).
P1

(2) T1
P3
P2

T2 (3) (1) T4

P4 P5

(1) T5
T3 (2)

P6

T6

76. Sistemul din figura de mai jos prelucrează două tipuri de piese: A
respectiv B, preluate din două depozite de intrare cu capacitate
infinită. Robotul R1 încarcă piesele de tip A pe maşina M1 şi
piesele de tip B pe maşina M2. După prelucrarea pe maşina M1,
respectiv pe maşina M2, piesele de tip A sunt transferate automat
în bufferul B1 de capacitate 4, iar piesele de tip B sunt transferate
automat în bufferul B2 de capacitate 6. Robotul R2 preia piese din
bufferele B1 şi B2 şi încarcă maşina M3 întâi cu o piesă de tip A şi
după aceea cu două piese de tip B (pe rând). Astfel maşina M 3
realizează operaţia de asamblare a unei piese A şi a două piese B
în ordinea A+B+B. După asamblare piesele părăsesc sistemul.
Reţele Petri 63

Se presupune că maşinile pot prelucra o singură piesă la un moment


dat; de asemenea capacitatea de transfer a roboţilor este de o piesă. Se
cunosc timpii de prelucrare pe cele trei maşini: durata de prelucrare a
unei piese de tip A pe maşina M1 este d1 = 3 unităţi de timp;
prelucrarea unei piese de tip B pe maşina M2 se face în d2 = 2 unităţi
de timp; iar durata operaţiei de asamblare pe maşina M3 este das = 2
unităţi de timp.
Să se modeleze sistemul de producţie astfel încât reţeaua să fie
mărginită. Să se identifice invarianţii de marcaj.

A B
R1

M1 M2
d1=3 d2=2

B1 B2
(4) (6)

R2

M3
1A+ 2B
d_as = 2

Iesire din sistem

77. Considerăm execuţia de tip Round-Robin a mai multor taskuri.


Aceasta presupune transferul controlului succesiv fiecărui task pentru
execuţia unei părţi a sa. Taskurile în execuţie partajează o aceeaşi
unitate centrală, iar la fiecare control fiecare task poate executa una
64 Modelarea şi analiza SDED – 103 probleme

sau mai multe instrucţiuni. Să se construiască RP care modelează


acest protocol, în următoarele cazuri :
a) Se consideră 4 taskuri, fiecare task executând câte o singură
instrucţiune când primeşte controlul;
b) Se consideră 2 taskuri, taskul 1 executând 3 instrucţiuni, iar taskul
2 executând 5 instrucţiuni la primirea controlului.
Indicaţie.
a) Pentru fiecare task se vor considera următoarele poziţii:
• poziţie ai care marcata semnifica taskul în aşteptare;
• poziţie exi care marcată semnifică faptul că taskul i este în
execuţie pentru o instrucţiune;
• poziţie pi care dacă este marcată semnifică faptul că s-a dat
controlul taskului i.
b) Se utilizează o reţea Petri generalizată.

78. Se consideră un proces de producţie simplu, conţinând un consumator


şi un producător ce folosesc împreună un acelaşi stoc, acesta având o
capacitate limitată la 3 unităţi. Producătorul poate produce o singură
piesă la un moment dat, el putând depune piesa în stoc imediat ce a
terminat-o dacă stocul permite depunerea. Imediat după depunerea
piesei producătorul reîncepe procesul de producţie. Consumatorul la
rândul său, imediat ce a terminat de “consumat” o piesă (una singură
la un moment dat) ia o noua piesă din stoc dacă acesta nu este vid. Să
se modeleze cu RP funcţionarea acestui proces.
depunere retragere

produc ător stoc consumator

79. Fie un sistem de producţie care prelucrează un singur tip de piese


conform fluxului tehnologic descris în figura de mai jos. La intrare în
sistem, piesele sunt încărcate pe paletele preluate dintr-un stoc de
Reţele Petri 65

capacitate 3. Robotul R1 încarcă piesele alternativ pe maşinile M1 şi


M2, M1 fiind încărcată prima. Bufferele B1 (de capacitate 4) şi B2 (de
capacitate 3) sunt încărcate automat cu piese de pe maşinile M1
respectiv M2 de îndată ce acestea termina operaţia de prelucrare.
Robotul R2 încarcă maşina M3 preluând piese atât din bufferul B1 cât
şi din bufferul B2. După prelucrarea pe maşina M3 piesele părăsesc
sistemul iar paletele sunt reciclate la intrarea sistemului şi depuse în
stocul de palete. Ştiind că fiecare maşină poate prelucra o singură
piesă la un moment dat (capacitate 1), să se construiască reţeaua Petri
care modelează acest sistem de producţie.

Stoc palete

R1

M1 (1) M2 (1)

B1 B2

R2

M3 (1)
66 Modelarea şi analiza SDED – 103 probleme

80. Se consideră un stoc ce poate conţine un număr infinit de piese.


Funcţionarea sa este sincronizată pe două evenimente externe:
evenimentul e1, sosirea unei piese şi evenimentul e2, sosirea unei
cereri de piesă. O cerere de piesă este satisfăcută imediat dacă există
piese în stoc.
Modelaţi comportamentul stocului de piese printr-o reţea Petri
sincronizată şi construiţi graful de marcaje accesibile pentru
următoarele două situaţii:
a) se presupune ca o cerere de piesă nesatisfăcută
(nefiind piesa în stoc) este “pierdută” (utilizatorul
trebuie să-şi reînnoiască cererea);
b) se presupune că o cerere de piesă nesatisfăcută este
memorată, şi satisfăcută atunci când o nouă piesă
soseşte în stoc.
e1 sosirea unei sosirea unei
e2
piese cereri de piesa

stoc
sosirea plecarea
pieselor pieselor

81. Patru filosofi, f1÷ f4, stau în jurul unei mese, între ei fiind dispuse
baghetele b1÷ b4. Un filosof se poate găsi într-una din următoarele
două stări: poate gândi sau poate mânca. Pentru a manca un filosof are
nevoie de cele două baghete aflate de o parte şi de cealaltă a sa. În
starea iniţială toţi filosofii gândesc şi baghetele se afla pe masă.
a) Descrieţi printr-o reţea Petri următorul protocol: când un filosof
doreşte să mănânce el ia mai întâi bagheta din dreapta sa, apoi pe
cea din stânga sa şi începe să mănânce. Când termină de mâncat el
depune pe masă mai întâi bagheta din mana dreaptă, apoi pe cea
din mana stângă şi trece astfel în starea în care gândeşte. Indicaţi
invarianţii minimali pentru reţeaua construită. Este aceasta reţea
viabilă? Dacă există un blocaj găsiţi secvenţa de validări care
conduce la acesta şi daţi o explicaţie a acestui blocaj.
Reţele Petri 67

b) Definiţi un protocol astfel încât să nu mai poată apărea situaţie de


blocaj, şi construiţi reţeaua Petri corespunzătoare.

82. Se consideră două bile de biliard, A şi B, (figura de mai jos) care se


deplasează pe o aceeaşi dreaptă, paralelă cu una din margini. Fiecare
bilă are trei stări: deplasare la dreapta, deplasare la stânga sau
aşteptare (bila oprită). Se cere modelarea comportamentului celor
două bile printr-o reţea Petri, presupunând că: a) atunci când loveşte o
margine o bilă porneşte în sens invers cu aceeaşi viteza; b) dacă cele
două bile se ciocnesc, ambele fiind în mişcare cu aceeaşi viteză, ele
repornesc în sens invers; c) dacă o bilă oprită este lovită de cealaltă,
prima se pune în mişcare şi a doua se opreşte. Presupunem că bilele
realizează o mişcare ideală, fără încetinire datorată frecării. Să se
studieze, în funcţie de marcajul iniţial posibil, proprietăţile reţelei
construite, pe baza grafului de marcaje.

A B

83. Se consideră 6 taskuri a căror executare este


condiţionată de următoarele reguli: iniţial taskul 1 este
executabil; taskurile 2 şi 3 nu pot fi executate decât
după taskul 1 (neînsemnând însă că vor începe
simultan sau imediat după terminarea taskului 1).
Taskul 4 nu poate fi executat decât după taskul 3,
taskul 5 după taskurile 2 şi 4, iar taskul 6 după taskurile
4 şi 5. Taskul 1 nu poate fi reexecutat decât după
terminarea taskului 2, iar taskul 3 după taskurile 1 şi 6.
Considerând că execuţia fiecărui task are o durata di să
se modeleze prin reţele Petri P - temporizate acest
sistem. Care este momentul la care începe prima
execuţie a taskului 5 ?
Indicaţie. Pentru fiecare task se introduc două poziţii:
una corespunzătoare execuţiei taskului şi una care
68 Modelarea şi analiza SDED – 103 probleme

asigură îndeplinirea condiţiei de execuţie a taskului


respectiv.

84. Se consideră o linie de asamblare cuprinzând două maşini fiecare cu


câte un stoc în intrare, aşa cum se vede în figura de mai jos. Stocurile
au o capacitate nelimitată. Sistemul prelucrează două tipuri de piese,
p1 şi p2, care sosesc într-o ordine aleatoare în stocul 1 dar prelucrarea
lor pe maşină făcându-se prin alternanţa. Se presupune că maşinile pot
prelucra o singură piesa la un moment dat.
Fie evenimentul ei “sosirea unei piese de tip pi”. O piesa
de tipul 1 necesită o prelucrare de 8 unităţi de timp pe
maşina 1 şi de 3 unităţi de timp pe maşina 2 iar o piesa
de tipul 2 necesită câte 5 unităţi de timp pe fiecare
maşină.
a) Să se modeleze acest sistem printr-o reţea
sincronizată şi T-temporizată în condiţiile enunţate
anterior;
b) Cum se modifică reţeaua în ipoteza că stocul 1
conţine permanent cel puţin câte o piesă de fiecare
tip ?
masina 1 masina 2

sosire plecare
stoc 1 stoc 2
piese piese
p1, p2 p1, p2

85. Se consideră un flux de fabricaţie compus din două


maşini, fiecare având un stoc de piese în intrare. În
sistem există două palete, piesele trecând între maşini
purtate pe palete. Aceste palete sunt reciclabile, adică
ele se întorc în stocul 1 după ce piesele pe care le-au
purtat sunt terminate pe maşina 2. Maşina 1 poate trata
o singură piesă la un moment dat, timpul de servire
fiind d1 = 2 unităţi de timp, în timp ce maşina 2 poate
Reţele Petri 69

trata două piese, pentru fiecare fiind necesare d2 = 3


unităţi de timp.
a) Să se construiască RP P-temporizată pentru acest
sistem;
b) Să se construiască graful de marcaje pentru reţeaua
P-temporizată considerând funcţionarea cu viteză
maximă. Care este durata unui ciclu de fabricaţie?
masina 1 masina 2

stoc 1 d1=2 stoc 2 d2=3

86. Să se rezolve problema cu lupul, capra şi varza utilizând modelul


reţelelor Petri.

87. Să se modeleze prin intermediul reţelelor Petri comportamentul unei


pisici şi al unui şoarece în următorul labirint (figura) , ştiind că
mişcările pisicii sunt modelate de săgeţile P iar cele ale şoarecelui de
săgeţile S.

4 2
P8

S5 P4 P7 P1

S2

P5 S6 S3 P2
S4
S1
Soarece
1
3
P6 P3
5 Pisica
70 Modelarea şi analiza SDED – 103 probleme

88. Fie un sistem de fabricaţie flexibil care prelucrează două tipuri de


piese A şi B. Piesele sunt încărcate în sistem din două depozite de
intrare de capacitate infinită DIA, DIB şi sunt prelucrate conform
fluxurilor de fabricaţie din figura de mai jos cu următoarele
specificaţii:
• Piesele de tip A sunt prelucrate pe maşinile M1, M2 şi M4, iar
piesele de tip B pe maşinile M1, M3 şi M5; încărcarea maşinii M1 se
face automat;
• Robotul R1 încărca maşina M2 cu piese de tip A şi maşina M3 cu
piese de tip B;
• Transferul pieselor de tip A de la maşina M2 în stocul A (de
capacitate 8) se face automat; piesele de tip B sunt transferate de
asemenea automat de la maşina M3 la maşina M5.
• Robotul R2 este implicat în următoarele operaţii de transfer:
încarcă câte 2 piese din stocul A pe maşina M4; descarcă câte 2
piese de pe maşina M4 către ieşirea A a sistemului; descarcă câte o
piesă de pe maşina M5 în stocul B de capacitate 5.
• Stocul B este golit automat când devine plin.
• Maşinile M1, M3 şi M5 prelucrează o singură piesă la un moment
dat; maşina M2 poate prelucra 3 piese simultan iar maşina M4 poate
prelucra 2 piese simultan;
• Duratele de prelucrare ale celor două tipuri de piese pe maşini sunt
indicate în figura, astfel maşina M1 prelucrează o piesa de tip A în
3 unităţi de timp, iar o piesa de tip B în 2 unităţi de timp; durata de
prelucrare a piesei A pe maşina M2 este de 7 unităţi de timp iar pe
maşina M4 de 5 unităţi de timp; durată de prelucrare a piesei B pe
maşina M3 este de 6 unităţi de timp iar pe maşina M 5 de 4 unităţi de
timp.
Se cere modelul RP temporizat pentru acest sistem de fabricaţie.
Reţele Petri 71

dA= 7 dA= 5
DIA Iesire A
M2 StocA M4
A (3) (8) (2)
A, B
M1
(1)
R1 R2

dA= 3 Iesire B
DIB dB=2 B M3 M5
(1) (1) stocB

dB=6 dB = 4

89. Fie un sistem de fabricaţie care prelucrează două tipuri de piese A şi


B, preluate din două stocuri de capacităţi infinite DIA şi DIB, ca în
figura de mai jos. Robotul R1 descarcă maşinile M1 şi M2 şi încarcă
maşina M3 care asamblează o piesa A şi o piesa B, fără restricţii de
ordine. Robotul R2 descarcă M3 într-un buffer de capacitate 10, care se
goleşte automat când este plin. Fiecare maşină poate prelucra o piesă
la un moment dat. Prelucrarea piesei A pe maşina M1 durează d1 = 5
unităţi de timp, prelucrarea piesei B pe maşina M2 durează d2 = 6
unităţi de timp, iar maşina M3 execută operaţia de asamblare în d3 = 4
unităţi de timp. Se presupune că transportul pieselor de către roboţi
necesită câte o unitate de timp.
Să se modeleze acest sistem utilizând reţele Petri cu tranziţii
temporizate.
72 Modelarea şi analiza SDED – 103 probleme

DIA DIB

d1 = 5 d2 = 6
M1 (1) M2 (1)

R1

M3 (1) d_as = 4

R2

Buffer
(10)

Iesire sistem

90. Fie un sistem de producţie care prelucrează două tipuri de piese p1 şi


p2 conform unui flux tehnologic specificat în figura de mai jos. Maşina
M1 prelucrează alternativ piese de tip p1 şi p2, maşina M2 prelucrează
numai piese de tip p1 iar maşina M3 prelucrează numai piese de tip p2.
Piesele sunt încărcate pe palete la intrarea în sistem, din stocul S1 şi
transferate între maşini. După ce piesele părăsesc staţia de ieşire I
paletele sunt reciclate la intrarea sistemului. Exista 2 palete
disponibile pentru piesele de tip p1 şi 3 palete disponibile pentru
piesele de tip p2. Robotul R1 efectuează operaţia de transfer a pieselor
de tip p1 de pe maşina M1 în stocul S2 de la intrarea maşinii M2 şi a
pieselor de tip p2 de pe maşina M1 în stocul S3 de la intrarea maşinii
M3. Robotul R2 descarcă maşinile M2 şi M3 către staţia de ieşire I.
Capacitatea de prelucrare pentru toate maşinile este de o piesă, iar
capacitatea de stocare pentru stocurile S2 şi S3 este de 4 piese. Se
cunosc timpii de prelucrare pe fiecare maşina: M1 prelucrează piesa p1
în 4 unităţi de timp şi piesa p2 în 5 unităţi de timp; M2 prelucrează
piesa p1 în 5 unităţi de timp, iar M3 prelucrează piesa p2 în 3 unităţi de
timp. Timpii de încărcare/descărcare pentru roboţi sunt de o unitate de
timp.
Să se modeleze cu reţele Petri T –temporizate sistemul de producţie.
Reţele Petri 73

S2
M2
p1 (p1)
p1, p2, B

M1 p1, p2, B
(p1,p2) R1 I
R2
S1

p2 M3
(p2)
S3

91. Să se modeleze cu RP T-temporizate sistemul de producţie


ilustrat în figura de mai jos. Să se construiască graful de marcaje
şi să se studieze comportamentul în timp al sistemului în regim
staţionar:

p1, p2, p3
p1, p2, p3
p1, p2 p1
M1 M2 I

R1
p2, p3

p2
p3 M3

Sistemul prelucrează trei tipuri de piese p1, p2 şi p3 în următoarele


fluxuri de fabricaţie:
p1 : M1- M2 –I (staţia de ieşire)
p2: M1-M2-M3-I
p3: M1-M3- I
Piesele sunt transportate pe paletele preluate din stocul de la intrarea
maşinii M1. Există câte 3 palete disponibile pentru fiecare tip de piesă.
Acestea se reciclează la intrare după ce piesele părăsesc staţia de ieşire
I. Transferul pieselor pe traseele M1-M2, M1-M3, M2-M3 se face
automat. Robotul R1 descarcă maşinile M2 şi M3 la staţia de ieşire I,
durata transportului fiind de 2 unităţi de timp. Timpii de prelucrare
pentru fiecare tip de piesă sunt specificaţi în următorul tabel:
p1 p2 p3
74 Modelarea şi analiza SDED – 103 probleme

M1 3 unitati de timp 4 u.t. 5 u.t.


M2 8 u.t. 6 u.t. -
M3 - 5 u.t. 3 u.t.

92. Fie un sistem de producţie alcătuit din trei maşini M 1, M2 şi M3


care prelucrează piesele p1, p2 şi p3 conform fluxului tehnologic
din figura de mai jos. Sensurile săgeţilor indică ordinea în care
piesele sunt prelucrate pe fiecare din cele trei maşini. (Piesele de
tip p1 şi p2 sunt prelucrate pe toate cele trei maşini, iar piesa de tip
p3 este prelucrată doar pe maşinile M1 şi M2).
p2 p3 p2
p2 p2
p1 p1
p1 p1
M1 M2 M3

p3 p3

Se cer:
a) reţeaua Petri P –temporizată care modelează sistemul;
b) timpii la care piesele p1, p2 şi p3 părăsesc sistemul ştiind ca
prioritatea de prelucrare a piesei p2 > prioritatea piesei p1 >
prioritatea piesei p3. Duratele de prelucrare pe maşini pentru
fiecare tip de piesă sunt specificate în tabelul de mai jos.

p1 p2 p3
M1 1 unitate de timp 1 u.t. 2 u.t.
M2 1 u.t. 2 u.t. 1 u.t.
M3 1 u.t. 1 u.t. -

93. Se consideră celula de fabricaţie din figura de mai jos care include:
• două maşini cu funcţionare similară M1 şi M2;
Reţele Petri 75

• o bandă rulantă (un conveior) de intrare CONV1 ca sursă infinită


de repere;
• un conveior de ieşire ca depozit infinit.
p2
M1 M2
p1

CONV1 CONV2

Celula poate produce două tipuri de piese: p1 şi p2, fiecare dintre ele
trebuind procesată pe ambele maşini. Duratele de procesare respective
sunt:
p1 p2
M1 3 unităţi de timp 2 unităţi de timp
M2 1 unitate de timp 4 unităţi de timp
Încărcarea pieselor pe oricare dintre maşini are durata de 1 unitate de
timp. De îndată ce operaţia de încărcare a fost încheiată, procesarea
piesei începe fără întârziere, iar descărcarea face parte din procesare.
Piesa de tip p1 este prelucrată întâi pe maşina M1 şi apoi pe maşina M2,
iar piesa de tip p2 este prelucrată întâi pe maşina M2 şi apoi pe maşina
M1. Fiecare maşină posedă un buffer de intrare cu o poziţie, pentru
transferul pieselor procesate pe jumătate.
Se cer :
a) să se construiască reţeaua Petri temporizată a celulei de fabricaţie;
b) să se studieze comportamentul în timp al sistemului (graful de
marcaje) ;
c) care este capacitatea bufferelor ataşate maşinilor dacă într-un ciclu
de producţie se prelucrează o piesa de tip p1 şi una de tip p2.
94. Să se modeleze cu RP sistemul de producţie reprezentat în figura de
mai jos, ştiind că intrarea sistemului este descrisă de o sursă infinită
iar ieşirea se face fără restricţii. Piesele sunt încărcate automat pe
76 Modelarea şi analiza SDED – 103 probleme

maşina M1 care poate prelucra o singură piesă la un moment dat.


Robotul R1 descarcă maşina M1 şi încarcă bufferul (de capacitate 4) de
la intrarea maşinii M2. Piesele depuse în buffer sunt preluate automat
de către maşina M2. Capacitatea de prelucrare a maşinii M2 este de 2
piese. După prelucrarea pe maşina M2, piesele sunt descărcate, pe
rând, de pe maşina M2 şi transferate la ieşire.

R1

Iesire

M1 M2

95. Să se modeleze cu RP temporizate sistemul de producţie descris în


figura de mai jos :
AGV1
IA EA (pA)
M1 M3
pA

R1 M2
R2

AGV2 EB (pB)
IB
M4 M5
pB

Sistemul prelucrează două tipuri de piese pA şi pB preluate din depozite


de capacitate infinita IA şi IB. Piesele de tip A sunt încărcate de către
robotul R1 pe maşina M1 sau pe maşina M2, încărcarea făcându-se prin
alternanţă. Se presupune că maşina M1 este încărcată prima. Piesele de
tip B sunt încărcate de asemenea de către robotul R1 pe maşina M4.
După prelucrare pe maşinile M1 respectiv M2, piesele de tip A sunt
transportate cu ajutorul căruciorului AGV1 (automated guided vehicle)
la maşina M3. Piesele de tip B sunt transportate de la maşina M4 la
maşina M5 cu ajutorul căruciorului AGV2, după ce operaţia de
prelucrare pe maşina M4 s-a efectuat. Încărcarea maşinilor M3 şi M5 cu
piese de tip A respectiv B se face de către robotul R 2. După
Reţele Petri 77

prelucrarea pe maşinile M3 şi M5 piesele sunt depozitate în buffere de


capacitate infinită. Se presupune ca maşinile pot prelucra o singură
piesă la un moment dat, iar capacitatea de transport a cărucioarelor
este de o piesă. Se cunosc timpii de prelucrare pe maşini: pe M 1 de 2
unităţi de timp (u.t.), pe M2 de 3 u .t., pe M4 de 4 u.t., pe M3 de o
unitate de timp şi pe M5 de 3 u.t. timp. Încărcarea maşinilor se face
într-o unitate de timp. De asemenea transportul efectuat de fiecare
cărucior durează o unitate de timp.
96. Să se construiască modelul RP T-temporizate pentru sistemul de
producţie descris în figura de mai jos.
Stoc1 (10)

M1 (2) d1 = 10

M2 (1) M2 (1) d2 = 4
(1)

Stoc2 (2)

M3 (1) d3 = 5

Stoc3 (5)

Stocul de intrare Stoc1 conţine 10 palete disponibile pe care sunt


încărcate piesele brute care intră în sistem în număr nelimitat.
Ansamblul piesă – paleta este transferat către maşina M1, care poate
prelucra două piese la un moment dat. După prelucrarea pe maşina
M1, piesele sunt încărcate alternativ pe cele două maşini M2, care pot
prelucra o singură piesa la un moment dat. După prelucrarea pe
78 Modelarea şi analiza SDED – 103 probleme

maşinile M2, piesele sunt depuse în stocul 2 de capacitate 3 iar paletele


sunt eliberate şi aduse la intrarea sistemului în stocul 1. Robotul R
preia piesele din stocul 2 şi le încarcă pe maşina M3 care are
capacitatea 1. Transferul pieselor de pe maşina M3 în stocul 3 (de
capacitate 5) se face automat, urmând ca de aici piesele sa fie depuse
la ieşirea sistemului în loturi de câte 3. Duratele de prelucrare pe cele
trei maşini sunt specificate în figura.

97. Să se modeleze ca RP următoarea structură de celulă flexibilă (figura


de mai jos). Robotul R1 încarcă maşinile M1 şi M2 dintr-un stoc de
capacitate infinită iar robotul R2 descarcă maşinile respective într-un
buffer de capacitate 4. Când bufferul se umple el este golit automat.
Maşinile M1 şi M2 se pot defecta în timpul funcţionării, ceea ce
implică depozitarea piesei ca rebut într-un container de rebuturi. Se
presupune ca maşinile prelucrează o singură piesă la un moment dat.
Să se evidenţieze totodată numărul de piese rebut.

Intrare infinita

R1

M1 (1) M2 (1)

R2
Rebuturi

98. La o piscină sosesc clienţi în număr nelimitat. Aceştia utilizează


piscina în felul următor: clientul ia un coş (există 5 coşuri
disponibile), intră în cabina (există 3 cabine), se schimbă, pune
Reţele Petri 79

lucrurile în coş, eliberează cabina şi apoi intră în piscină. După ce iese


din piscină, clientul intră mai întâi în cabină, se îmbracă, eliberează
cabina şi coşul şi pleacă. Să se modeleze cu RP protocolul de utilizare
a piscinei şi să se deducă invarianţii reţelei.

99. Fie sistemul de producţie din figura următoare:


Stoc1
M1

M3

M2

Stoc2

Toate maşinile pot avea pană. După reparaţie maşinile M1 şi M2


continuă piesa începută, iar maşina M3 face excepţie, revenind în
starea iniţială. Piesa de pe M3 se depozitează într-un stoc de rebuturi.
Să se construiască modelul Petri al acestui sistem în care să se
evidenţieze numărul de rebuturi şi numărul de defectări ale maşinilor.

100. Se consideră un proces de producţie condus prin


etichete. Acest sistem este compus din două posturi
de producţie înseriate. Fiecare post de producţie
este compus la rândul său dintr-un sistem de
producţie şi un stoc de produse finite în aval. Piesele
brute se găsesc în stocul 0. Pentru ca o piesa din
stocul i-1 să intre în sistemul de producţie i trebuie
să poarte eticheta i a acestui post (i = 1,2). Când
prelucrarea ei este terminată ea este depusă în
stocul i, eticheta rămânându-i deocamdată ataşată.
Când o piesa este retrasă din stocul i pentru a
satisface o cerere din aval (de la un client exterior
pentru stocul 2, sau de la postul 2 - prin sosirea
unei etichete a acestuia - pentru stocul 1) se scoate
de pe piesa eticheta i şi se adaugă eticheta i+1
(respectiv eticheta “sigur” dacă a fost stocul 2). O
80 Modelarea şi analiza SDED – 103 probleme

etichetă i, detaşată de pe o piesă, este întoarsă la


intrarea sistemului de producţie i.
Reprezentaţi acest sistem de producţie printr-o reţea
Petri T-temporizată, cu următoarele ipoteze:
1) pentru fiecare post de producţie i avem o poziţie
pentru piese în sistemul de producţie i şi o poziţie
pentru piese în stocul i, trecerea dintr-una în cealaltă
făcându-se prin validarea unei tranziţii ce corespunde
prelucrării unei piese. O singură piesă este tratată la
un moment dat;
2) sunt trei etichete pentru postul 1 şi două etichete
pentru postul 2;
3) nu s-au făcut încă cereri de piese din aval de sistem
iar în stocul 0 sunt 3 piese brute;
4) tratarea unei piese are o durata de 10 unităţi de timp
în sistemul de producţie 1 şi 12 unităţi de timp în
sistemul de producţie 2. Fiecare buclă de întoarcere a
unei etichete de la ieşirea la intrarea unui sistem de
producţie are o durata de 1 unitate de timp. Toate
celelalte operaţii au durată nulă.

sosirea
unei satisfacerea
piese unei cereri

stoc 0 sistem de stoc 1 sistem de stoc 2


productie productie
1 2

101. Fie sistemul descris de fluxul tehnologic din figura de mai jos.
Sistemul prelucrează două tipuri de piese A şi B preluate din
stocuri de capacitate infinită. Piesele de tip A sunt încărcate pe
palete de câte 2 poziţii (capacitate 2 piese) iar piesele de tip B
Reţele Petri 81

sunt încărcate pe palete de câte 4 poziţii. Robotul R1 încarcă


paletele cu piese de ambele tipuri în buffere corespunzătoare,
astfel: paletele cu piese de tip A sunt încărcate în bufferul BA de
capacitate 3 (palete) iar paletele cu piese de tip B sunt încărcate în
bufferul BB de capacitate 2 palete. Prin urmare bufferul BA
poate accepta maxim 6 piese A iar bufferul BB poate accepta
maxim 8 piese B. Robotul R2 descarcă cele două buffere şi
încarcă maşinile M1 şi M2 cu câte o piesa A respectiv câte o piesa
B. Maşinile M1 şi M2 pot prelucra o singură piesă la un moment
dat. În momentul în care o paletă devine liberă (au fost preluate
toate piesele de pe ea) ea este reciclată la intrarea sistemului în
stocul corespunzător. După prelucrarea pe maşinile M1 şi
respectiv M2 piesele de tip A sunt depuse automat în bufferul B 1
(de capacitate 3 piese) iar piesele de tip B sunt depozitate
automat în bufferul B2 de capacitate 4. Maşina M3 realizează
operaţia de asamblare a unei piese A şi a două piese B în ordinea
B+A+B. Încărcarea maşinii M3 se face automat din bufferele B1 şi
B2. Piesele asamblate sunt depuse într-un stoc de capacitate 3 care
se goleşte automat când se umple.
Să se construiască reţeaua Petri a acestui sistem astfel încât ea să fie
mărginită.
82 Modelarea şi analiza SDED – 103 probleme

FA FB

R1

BA BB

R2
M1 (1) M2 (1)

B1 B2

M3 B +A + B

102. Fie două maşini identice M1 şi M2 de capacitate 1 care prelucrează


piese de un singur tip. Piesele sunt preluate dintr-un stoc infinit ce
conţine palete de câte 2 obiecte (cu 2 poziţii) şi încărcate pe
maşini de către robotul R1. Încărcarea maşinilor M1 şi M2 se face
prin alternanţă, prima maşină încărcată fiind M1. Robotul R2 preia
piesele prelucrate de pe maşinile M1 şi M2 şi le încarcă pe maşina
M3. Capacitatea maşinii M3 este de 2 piese.
Să se modeleze cu RP acest sistem ştiind că ieşirea este fără restricţii.
Să se găsească invarianţii de marcaj.
Reţele Petri 83

R1
M1(1) M2(1)

R2

M3(2)

103. Celula de fabricaţie din figură prelucrează două tipuri de piese p1


şi p2 care se găsesc în număr nelimitat la intrarea în sistem.
Piesele sunt mai întâi prelucrate alternativ pe maşina M1 (de
capacitate 1), prima dată executându-se prelucrarea unei piese de
tip p1. După terminarea operaţiei, maşina M1 este descărcată de
către robotul R1 care depune piese de tip p1 într-un depozit Dp1 şi
piese de tip p2 într-un depozit Dp2. Cele două depozite Dp1 şi Dp2
au capacitate limitată şi anume 5 şi respectiv 6 poziţii (locuri).
Robotul R2 încarcă maşina M2 cu piese de tip p1 din depozitul Dp1
şi încarcă maşina M3 cu piese de tip p2 din depozitul Dp2.
Capacitatea maşinii M2 este de 2 piese, iar a maşinii M3 de o
singură piesă. Piesele prelucrate pe maşina M2 sunt descărcate de
către robotul R2 la ieşirea sistemului. În urma operaţiei de
prelucrare pe maşina M3 piesele de tip p2 sunt descărcate automat
pe căruciorul AGV care poate transporta câte 2 piese la ieşirea
sistemului.
Să se construiască modelul Petri temporizat al celulei, considerând că
fiecare operaţie de prelucrare durează d1 unităţi de timp (pe fiecare
maşină) şi fiecare operaţie de transfer (încărcare, descărcare,
transport) durează d2 unităţi de timp atât pentru roboţi cât şi pentru
cărucior.
84 Modelarea şi analiza SDED – 103 probleme

P1 P2

M1

Dp1 Dp2

Cap5 R1 Cap6

Cap2 M2
R2 M3 Cap1

AGV
Reţele Petri 85

BIBLIOGRAFIE

1. Cassandras C., Lafortune S., - Introduction to Discrete Event Systems,


Kluwer Academic Publishers, Londra, septembrie 1999.
2. David R., Alla H.- Du Grafcet au Reseaux de Petri, Ed. Hermes, Paris,
1997.
3. Stănescu A.M. & colectiv - Sisteme Dinamice cu Evenimente Discrete,
UPB, 1996
4. Szarfaczyk M. – Computer-Assisted Management and Control of
Manufacturing Systems, Springer Verlag London Limited 1997.

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