Documente Academic
Documente Profesional
Documente Cultură
LUCRAREA 2
Modelele logice sau netemporizate permit studierea proprietatilor calitative ale functionarii
sistemelor dinamice cu evenimente discrete. O clasa importanta de astfel de modele o
constituie retelele Petri netemporizate. Simularea reprezinta un instrument deosebit de util
pentru acest studiu, în special în cazul în care reteaua Petri investigata poseda un numar
ridicat de noduri.
Instrumentul software pe care îl vom utiliza în cadrul sedintelor de laborator este reprezentat
de pachetul de programe MATLAB Petri Net Toolbox proiectat special pentru simularea si
analiza modelelor de tip retea Petri. Prin parcurgerea acestei sedinte de laborator, studentul
va acumula cunostintele necesare folosirii Petri Net Toolbox pentru simularea modelelor de
tip retea Petri netemporizata. De asemenea, studentul va dobândi un solid suport intuitiv în
întelegerea modului de operare a retelelor Petri netemporizate gratie facilitatilor de animatie
puse la dispozitie de acest mediu de simulare.
Marcajul unei retele Petri, are semnificatia de stare a retelei si se poate modifica în
conformitate cu urmatorul procedeu denumit regula tranzitiei (validare si executare).
• Se spune ca o tranzitie t este validata (eng. enabled) daca fiecare pozitie de intrare p a
lui t este marcata cu cel putin W(p, t) jetoane, unde W(p, t) noteaza ponderea arcului
de la p la t.
1
Lucrarea 2 Utilizarea PETRI NET TOOLBOX pentru investigarea modelelor de tip retea Petri netemporizata
• O tranzitie validata poate sau nu sa fie executata sau declansata (eng. fired ), dupa
cum evenimentul asociat tranzitiei are sau nu loc.
• Executarea unei tranzitii validate îndeparteaza W(p, t) jetoane din fiecare pozitie de
intrare p a lui t si adauga W(t,p) jetoane la fiecare pozitie de iesire p a lui t, unde
W(t, p) este ponderea arcului de la t la p.
O tranzitie fara nici o pozitie de intrare se numeste tranzitie sursa (eng. source). O tranzitie
fara nici o pozitie de iesire se numeste tranzitie receptor (eng. sink). Modul de operare al
acestor tranzitii este urmatorul:
• O tranzitie sursa este neconditionat validata (fara a fi obligatoriu ca sa se execute).
Executarea ei produce jetoane.
• Executarea unei tranzitii receptor consuma jetoane, fara a produce jetoane.
Daca o pozitie p este atât pozitie de intrare, cât si de iesire pentru o tranzitie t, atunci p si t
formeaza o bucla autonoma (eng. self -loop). O retea Petri care nu contine bucle autonome se
numeste pura . O retea Petri se numeste ordinara daca toate arcele sale au pondere unitara.
În teoria retelelor Petri netemporizate se considera ca executarea unei tranzitii nu consuma
timp si ca jetoanele pot ramâne în pozitii pentru orice durata de timp (oricât de mica sau
oricât de mare). întrucât executarea unei tranzitii este instantanee, se considera ca tranzitiile
se executa numai secvential, adica nu se poate vorbi de doua tranzitii executate simultan (sau
în paralel). Aceste presupuneri fac ca modelul de tip retea Petri netemporizata sa fie utilizat
numai pentru investigarea proprietatilor logice, calitative, care nu depind de timp.
Pentru regula de validare a unei tranzitii ( ce a fost prezentata anterior), s-a presupus ca
fiecare pozitie poate contine un numar nelimitat de jetoane. O astfel de retea Petri se numeste
cu capacitate infinita . În modelarea sistemelor fizice este firesc a considera o limita
superioara a numarului de jetoane pe care îl poate contine fiecare pozitie. O astfel de retea se
numeste cu capacitate finita . Într-o retea cu capacitate finita (N,M0), fiecarei pozitii p i se
asociaza capacitatea pozitiei K(p), definita ca numarul maxim de jetoane ce pot fi continute
în p.
Într-o retea cu capacitate finita, pentru validarea unei tranzitii t este necesara urmatoarea
conditie suplimentara : numarul de jetoane în fiecare pozitie de iesire p a lui t nu poate sa
depaseasca capacitatea pozitiei respective, K(p), atunci când t s-ar executa. În acest caz
regula tranzitiei se va numi regula stricta a tranzitiei spre a o deosebi de cea enuntata în
paragraful 2.2, care mai este uneori referita drept regula simpla a tranzitiei.
Petri Net Toolbox (PN Toolbox ) a fost conceput spre a oferi instrumente specifice pentru
simularea, analiza si sinteza sistemelor cu evenimente discrete. Includerea sa ca un modul de
sine statator în mediul MATLAB prezinta un deosebit avantaj (în raport cu alte software-uri
dedicate formalismului retelelor Petri) prin crearea unor multiple facilitati de calcul algebric
si statistic precum si de reprezentari grafice, care exploateaza rutinele disponibile în
MATLAB. Schimbul de informatii dintre utilizator si PN Toolbox se face prin intermediul
unei interfete grafice (eng. Graphical User Interface - GUI) (The MathWorks, Inc. 2000a,
2000b) care da posibilitate utilizatorului de a desena, salva, încarca si modifica modele de tip
2
Lucrarea 2 Utilizarea PETRI NET TOOLBOX pentru investigarea modelelor de tip retea Petri netemporizata
retea Petri. De asemenea, permite simularea si analiza retelelor Petri, exploatând toate
resursele informationale ale mediului, prin intermediul variabilelor globale pastrate în spatiul
de lucru (Workspace) MATLAB. Interfata este lansata în executie prin comanda MATLAB
>> pntool
Acest GUI consta dintr-o fereastra MATLAB continând opt componente: (1) Menu Bar, (2)
Quick Access Toolbar, (3) Drawing Area, (4) Drawing Panel, (5) Simulation Panel, (6)
Status Panel, (7) Draw/Explore Switch, (8) Message Box . Figura 2.1 prezinta o captura a
ferestrei principale a PN Toolbox, unde sunt vizibile toate partile componente ale interfetei
grafice enumerate mai sus.
Menu bar (plasata orizontal, în partea de sus a ferestrei) afiseaza un set de noua meniuri
deunde utilizatorul poate selecta toate facilitatile disponibile si anume:
• meniul File (care contine submeniurile: New Model, Open Model, Close Model,Save
Model, Save Model As.. si Exit PNToolbox) ofera facilitati pentru lucru cu fisiere;
• meniul Modeling (ce include submeniurile Add Place, Add Transition, Add Arc, Add
Token, Add Color Set, Edit Object si Conflicting Transitions) ofera mijloace pentru
editarea grafica (pozitii, tranzitii, arce, marcaje si etichete) în zona de desenare (3) si
permite specificarea de informatii suplimentare (prioritati si/sau probabilitati) pentru
regula tranzitiei folosita în derularea simularii;
• meniul View, (cu submeniurile: Zoom In, Zoom Out, Show Grid si Arc Weight)
permite alegerea conditiilor pentru vizualizare s i simulare;
• meniul Properties (ce cuprinde submeniurile: Incidence Matrix, Behavioral -
Coverability Tree, Structural, Invariants) furnizeaza metode adecvate pentru analiza
proprietatilor comportamentale si structurale ale retelelor Petri.
• meniul Simulation (continând submeniurile: Event, Run slow, Run fast,
Breakpoints, Reset, Log File, View History si Preferences) da utilizatorului
posibilitatea de a controla progresul simularii si de a înregistra rezultatele;
3
Lucrarea 2 Utilizarea PETRI NET TOOLBOX pentru investigarea modelelor de tip retea Petri netemporizata
Quick Access Toolbar (plasat ca o bara orizontala sub Menu bar) contine mai multe butoane
ale caror actiuni sunt similare cu unele optiuni din meniul File si din meniul View.
Drawing Panel (plasat vertica l în partea stânga a ferestrei din fig. 2.1, sub Quick Access
Toolbar) este format dintr-un numar de butoane cu actiuni similare unor optiuni din meniul
Modeling. Butonul Edit permite accesarea caracteristicilor nodurilor si arcelor retelei Petri
prin intermediul unei ferestre de dialog asociata obiectului selectat în Drawing Area.
Aceste proprietati sunt: capacitate, marcaj, informatii legate de temporizare si etichete –
pentru pozitii; informatii legate de temporizare si etichete – pentru tranzitii; pondere si
existenta functiei inhibitoare – pentru arce. Figura 2.2 reproduce ferestre de dialog asociate
cu cele trei elemente mentionate anterior în cazul retelelor Petri netemporizate. Optiunea
Color (care apare în toate aceste ferestre, indiferent de natura elementului) creeaza
posibilitatea de a atribui culori diferite elementelor introduse în diferite faze ale proiectarii
atunci când se face apel la o procedura de sinteza constând în succedarea mai multor etape.
Simulation Panel (plasat vertical, în partea stânga a ferestrei în fig. 2.1, sub Drawing Panel)
contine un set de butoane ale caror actiuni sunt similare celor din meniul Simulation si
asigura facilitati suplimentare pentru vizualizarea evolutiei indicilor de performanta în cazul
retelelor temporizate.
Status Panel este o tabela de mesaje (plasata în coltul din stânga jos al ferestrei din fig. 2.1)
unde PN Toolbox afiseaza valoarea curenta a numarului de evenimente, timpul scurs de la
începutul simularii precum si numele fisierului activ.
Drawing Area (localizata în centrul ferestrei din fig. 2.1) este o fereastra unde vor fi plasate
nodurile si arcele retelei Petri si este prevazuta cu butoane de scroll (în partea dreapta si în
partea de jos) pentru deplasare în aceasta fereastra.
a b c
Figura 2.2. Ferestrele de dialog controlate de butonul Edit din Simulation Panel asociate:
pozitiilor (a), tranzitiilor (b) si arcelor (c) în cazul retelelor netemporizate
4
Lucrarea 2 Utilizarea PETRI NET TOOLBOX pentru investigarea modelelor de tip retea Petri netemporizata
Draw/Explore Switch (plasat imediat sub Drawing Panel) permite comutarea între cele doua
moduri ale PN Toolbox : modul de desenare si modul de simulare/analiza .
Message Box este utilizat de PN Toolbox pentru a furniza informatii utile catre utilizator. În
modul de desenare, este prezentata starea lui Drawing Panel, iar în modul de
simulare/analiza sunt afisate mesajele atasate tranzitiilor.
Constructia unui model nou (crearea fisierului cu extensia .XML) se poate face utilizând
editorul grafic prezentat în fig. 2.1 sau cu ajutorul oricarui editor de texte. Spatiul de editare
grafica este organizat sub forma unei grile, pe fond gri, cu posibilitatea eliminarii (dupa
preferinta) a aceste grile din meniul View optiunea Show grid. Prin apasarea butonului
din bara verticala stânga, se intra în regim de editare. Orice modificari ale parametrilor
elementelor retelei Petri (pozitie, tranzitie sau arc) corespunzatoare modelului se pot face
numai în acest regim. Pentru fiecare tip de element se deschide câte o fereastra
corespunzatoare: Edit place (fig 2.2.a), Edit transition (fig 2.2.b) si Edit arc (fig 2.2.c).
Aceste ferestre sunt în concordanta cu tipul retelei, parametrii neutilizati sunt inhibati. Toate
valorile poseda o setare implicita, da r pot fi modificati dupa preferinta. Cutia de dialog se
închide apasând butonul OK. În cazul când în fereastra exista deja un model, spatiul de
desenare se elibereaza prin selectarea meniului File, optiunea Close. Înainte de a începe
desenarea unui nou model este necesara specificarea tipului retelei utilizând fereastra de
dialog care se deschide automat.
Pentru a desena pozitii în câmpul grafic, se apasa butonul din bara verticala stânga. Apoi
se plaseaza cursorul mouse -ului în regiunea dorita a grile i si se apasa o singura data butonul
din stânga al mouse -ului. Pentru a defini marcajul unor pozitii (deja desenate), se apasa
butonul din bara verticala stânga, actiune prin care utilizatorul adauga un jeton în pozitia
respectiva. Pentru a modifica marcajul retelei, se intra în modul editare prin selectarea
butonului , iar apoi plasând cursorul pe pozitia careia dorim sa îi modificam marcajul se
apasa butonul stâng al mouse-ului deschizându-se o cutie de dialog de tip Edit place ca în fig.
2.2.a. Optiunea Token a acestei cutii de dialog permite modificarea marcajului unei pozitii.
Modul de reprezentare grafica a jetoanelor dintr-o pozitie este sub forma unui numar localizat
în interiorul unei pozitii, numar ce reprezinta marcajul pozitiei respective.
Pentru a desena tranzitii, se apasa butonul din bara verticala stânga. Apoi se plaseaza
cursorul mouse-ului în regiunea dorita a grilei si se apasa o singura data butonul din stânga al
mouse -ului.
Pentru a trasa arce, se apasa butonul din bara verticala stânga. Un arc se deseneaza
apasând butonul stâng al mouse-ului pe nodul de plecare al arcului (pozitie sau tranzitie) si
apoi apasând din nou butonul stâng pe nodul de sosire (tranzitie sau pozitie).
Un model nou creat cu ajutorul editorului grafic se salveaza din meniul File , optiunea Save,
drept fisier cu extensia .XML. PN Toolbox salveaza doar informatiile necesare în
concordanta cu tipul retelei. Marcajul (tag-ul) radacina este PNToolbox, dupa care urmeaza
câteva marcaje comune tutoror tipurilor de modele:
• Model_name : reprezinta numele modelului (fisierului) incluzând extensia (.XML);
5
Lucrarea 2 Utilizarea PETRI NET TOOLBOX pentru investigarea modelelor de tip retea Petri netemporizata
6
Lucrarea 2 Utilizarea PETRI NET TOOLBOX pentru investigarea modelelor de tip retea Petri netemporizata
Un model existent (salvat, în prealabil, ca fisier .XML) se încarca cu optiunea Open din
meniul File de pe bara orizontala superioara (numerotata cu 1 în fig. 2.1.). Modificarile se
pot efectua în mod grafic sau prin editarea fisierului cu ajutorul unui editor grafic respectând
formatul fisierului .XML explicat mai sus. Adaugarea de noi elemente se realizeaza conform
celor discutate la crearea unui model nou. Pentru stergerea unui element, se trece în regim de
editare (butonul apasat). Cu mouse-ul (butonul stâng) se selecteaza elementul ce urmeaza
a fi sters. Ca urmare a acestei actiuni se deschide o cutie de dialog (ca în fig. 2.2.a, b sau c)
dupa care se apasa butonul Delete object . Pentru schimbarea valorilor unor parametrii ai
unui element oarecare se selecteaza elementul si se opereaza modificarea în cutia de dialog,
care va fi ulterior închisa înainte de a selecta un nou element.
Simularea se poate executa în mai multe moduri, selectabile prin apasarea butoanelor barei
verticale din stânga (numerotata cu 5 în fig. 2.1) sau din meniul Simulation :
a) Pas cu pas: Event (butonul ) sau Simulation/ Event
b) Run: b.1) Run slow (butonul ) sau Simulation/ Run Slow
b.2) Run fast (butonul ) sau Simulation/ Run Fast
Simularea în modurile a si b.1 este însotita de animatie. Animatia deplaseaza jetoanele si
coloreaza (implicit în rosu, sau o alta culoare selectabila din meniul Simulation /
Preferences) tranzitiile în curs de executie. Viteza animatiei este ajustabila din meniul
Simulation/Preferences de pe bara verticala superioara (notata cu 1 în fig. 2.1.). În fiecare in
aceste doua moduri, la sfârsitul unei simulari se poate obtine un jurnal, utilizând submeniul
Log File din meniul Simulation . Jurnalul poate fi salvat ca fisier cu extensia .HTML si
poate fi citit cu orice browser (de exemplu Netscape) sau utilizând optiunea Simulation/View
History.
Modul de lucru b.2) este adecvat simularii retelelor Petri temporizate. Din meniul
Simulation/Breakpoints se poate controla modul de încheiere a simularii (§ 4). Implicit
simularea se încheie la atingerea unui numar de 1000 de evenimente sau daca nici una dintre
tranzitii nu mai poate fi validata. Lansarea oricarui experiment de simulare trebuie precedata
de apasarea butonului Reset ( ) din partea de jos a barei verticale (5) din fig. 2.1. În cazul
7
Lucrarea 2 Utilizarea PETRI NET TOOLBOX pentru investigarea modelelor de tip retea Petri netemporizata
simularii cu optiunea Run Slow, simularea se opreste prin apasarea butonului drept al mouse-
ului.
În partea stânga jos a ecranului se gaseste o caseta (numerotata (6) în fig. 2.1.) ce contine un
contor de evenimente Event care functioneaza în toate modurile de simulare si este resetat la
zero prin apasarea butonului Reset.
În cazul unor simulari de tip Run cu numar mare de evenimente, consultarea jurnalului
devine anevoioasa. În aceste situatii exista un rezumat al functionarii complete, furnizând
informatii de natura statistica, care, în cazul general al retelelor temporizate permite
caracterizarea globala a functionarii tranzitiilor si pozitiilor. Accesul la aceste informatii es te
posibil prin selectarea optiunilor Transition Indices si respectiv Place Indices din meniul
Performance din bara orizontala superioara. Pentru simularea retelelor Petri netemporizate,
prezinta interes numai urmatoarele informatii:
• Pentru tranzitii – Service Sum, care contorizeaza numarul total de executari al
fiecarei tranzitii din retea.
• Pentru pozitii Arrival Sum care contorizeaza numarul total de jetoane ce au intrat în
fiecare pozitie din retea si Throughput Sum, care contorizeaza numarul total de
jetoane ce au iesit din fiecare pozitie din retea.
5. Probleme propuse
Problema 1
Se considera reteaua Petri având topologia din fig. 2.3. Pozitiile au capacitatile K(p1)=1 si
K(p2)=1.
8
Lucrarea 2 Utilizarea PETRI NET TOOLBOX pentru investigarea modelelor de tip retea Petri netemporizata
2° Sa se reia punctul 1°, schimbând marcajul initial în M(p1)=0 si M(p2)=1, fara a redesena
topologia retelei. Se va preciza modul cum se asigneaza noul marcaj initial.
3° Pentru marcajul initial de la punctul 2°, se va executa simularea în varianta event pentru 15
evenimente. Se va citi jurnalul si se va preciza secventa de executari de tranzitii care are loc
pe parcusul simularii precum si marcajele prin care trece reteaua.
Problema 2
Se considera reteaua Petri având topologia din fig.2.4. Pozitiile au capacitatile K(p1)=4,
K(p2)=4 si K(p3)=4.
Problema 3
1° Sa se justifice faptul ca reteaua Petri din Problema 1 modeleaza un server cu doua stari I
(iddle) si W (working ).
2° Sa se precizeze cum trebuie modificata reteaua astfel încât sa poata modela un server cu
posibilitati de defectare, situatie în care va mai exista o stare D (down ). Se presupune ca
serverul nu se poa te defecta decât în timpul lucrului. Se vor avea în vedere urmatoarele doua
situatii:
a) Servirea clientului aflat în lucru în momentul defectarii poate fi reluata dupa remediere.
b) Servirea clientului aflat în lucru în momentul defectarii nu mai poate fi reluata.
9
Lucrarea 2 Utilizarea PETRI NET TOOLBOX pentru investigarea modelelor de tip retea Petri netemporizata
Problema 4
Un sistem de fabricatie este alcatuit din doua masini M1, M2 si un brat de robot R. Orice
piesa bruta este prelucrata mai întâi pe M1 si apoi pe M2. Robotul R muta o piesa care a fost
prelucrata pe M1, de pe masina M1 pe masina M2. Nu exista depozite care sa preceada M1
sau M2. Încarcarea unei piese pe masina M1 si descarcarea unei piese de pe masina M2 se
desfasoara automat. Pentru transportul unei piese, aceasta se fixeaza pe o paleta înainte de
încarcarea pe M1 si se desprinde de pe paleta dupa descarcarea de pe M2. Paleta eliberata la
descarcarea unei piese de pe M2 este recirculata automat pentru a se fixa pe ea o noua piesa.
În fig. 2.5 se prezinta schematizat procesul de prelucrare al pieselor în sistemul de fabricatie.
1° Sa se elaboreze un model tip retea Petri pentru a studia comportarea de tip logic a
sistemului de fabricatie, atunci când se folosesc x palete pentru transport.
10