UTILIZAREA MEDIULUI DE SIMULARE VISUAL OBJECT NET
ÎN ANALIZA MODELELOR CU REŢELE PETRI DISCRETE NETEMPORIZATE
PENTRU PROCESE CU EVENIMENTE DISCRETE
Breviar teoretic
Visual Object Net este un program utilizat în construcţia şi analiza Reţelelor Petri, care
acoperă o largă tipologie a acestora, începând cu Reţelele Petri discrete şi continuând cu cele
temporizate, Reţele Petri cu arce inhibitoare, Reţele Petri continue, Reţele Petri hibride, până la
Reţele Petri Obiect.
Una dintre caracteristicile care îl recomandă cu success este interfaţa grafică deosebit de
prietenoasă, care nu necesită cunoaşterea în detaliu a formalismului mathematic propriu acestui
gen de abordări, cid oar însuşirea, înainte de utilizarea sa a unor noţiuni de bază, legate de
topologia unei asemenea reprezentări.
Maniera intuitivă de realizare a modelelor şi posibilitatea verificării etapă cu etapă a
construcţiei realizate, precum şi analiza structural efectuată automat permit utilizatorului evaluări
rapide ale unor soluţii optime. De asemenea, posibilitatea manipulării de Reţele Petri Hibride
permite analiza (modelarea şi simularea) unor clase extrem de variate sisteme, într-o manieră
unitară şideosebit de sintetică. Modelele realizate se caracterizează prin mare putere de
abstractizare şi aplicabilitate, portabilitate ridicată, modularitate şi flexibilitate sporite.
Elementele de bază ale programului
Elemente proprii Reţelelor Petri discrete
Descriere Simbol
Tranziţia discretă
Acest bloc este un element activ propriu unei Reţele Petri discrete (unul din
tipurile de noduri ale acesteia). Fiecărei tranziţii (T) i se asociază un T
eveniment (de regulă extern) care conduce la modificarea marcajului reţelei
(modificarea stării). Producerea evenimentului determină executarea
0
tranziţiei. Tranziţia poate avea asociată o temporizare şi un nivel de
prioritate.
Poziţia discretă
Blocul descris de o astfel de poziţie este un element pasiv al Reţelei Petri
P1
discrete care modelează stările distincte ale sistemului. Fiecare poziţie poate m1
conţine jetoane proprii unui marcaj al reţelei. Denumirea poziţiei (P) este
inscripţionată în exteriorul cercului care reprezintă simbolul, iar variabila
(m1) este conţinută în interiorul acestuia.
Arce de legătură
Visual Object Net ++ suportă trei tipuri distincte de arce : arce normale, arce
inhibitoare şi arce de test. Acestea din urmă nu determină transportul
jetoanelor în interiorul retelei, ci validează executarea unei tranziţii.
Elemente proprii Reţelelor Petri Continue
1
Descriere Simbol
Tranziţia continuă
Este un element diferit faţă de o tranziţie discretă. Modalitatea de execuţie a
acesteia diferă şi nu conduce la o variaţie discretă (chiar dacă tranziţia discretă faţă
T
de care este analizată este sau nu temporizată) a marcajului. Executarea unei
tranziţii continue (T) este caracterizată de o viteză de execuţie - v, care poate fi o
valoare constantă sau o funcţie continuă. Foarte intuitiv, modul de executare a
tranziţiei continue se poate asimila cu fenomenul de curgere a nisipului într-o v
clepsidră : deschiderea acesteia, constantă sau nu, determină cantitatea de nisip
(mai mare, sau mai mică) ce se scurge.
Poziţia continuă
Este un element al reţelei care conţine în interior un număr real (marcajul poziţiei –
m2); aşadar, jetoanele, ca mărimi discrete – sunt înlocuite cu valori reale.
Exemplu: tranziţia continuă T are ca efect, la execuţie – extragerea unei fracţiuni
din numărul real asociat poziţiei P1 şi „adăugarea” acesteia la numărul real asociat
poziţiei P2. Viteza de transport este descrisă de ecuaţia diferenţială: P2
dm1 dm 2 m2
v T1 = − =
dt dt
P1 T P2
m1 m2
vT1
Modul de utilizare al programului
Construcţia Reţelelor Petri
Meniul principal al programului
Construcţia unei reţele, precum şi simularea dinamicii acesteia în diferite faze ale realizării
modelului are drept suport un meniu de lucru (meniu principal, implicit) în care sunt reprezentate, pe
lângă submeniurile aferente proprietăţilor elementelor acesteia, respectiv gestionării fişierelor – o serie de
butoane de comandă care servesc la desenarea topologiei dorite (Fig.1).
2
Submeniu aferent proprietăţilor elementelor reţelei
Bara de meniuri
Butoane pentru construcţia grafică a reţelei
Fereastra principală de lucru
Submeniu de gestionare a fişierelor realizate
Fig. 1 Fereastra principală a programului Visual Object Net ++.
Mediul de operare integrat al programului este unul orientat pe obiecte. Fiecare element al reţelei
poate fi selectat printr-un clic al mouse – lui poziţionat pe elementul respectiv din lista butoanelor de
comandă , iar proprietăţile acestora sunt indicate simultan în submeniul aferent. Interfaţa cu utilizatorul
este deosebit de prietenoasă, permiţând modificarea proprietăţilor, cât şi a caracteristicilor elementului,
în funcţie de tipul aplicaţiei (natura reţelei).
3
Adăugarea şi ştergerea elementelor
Descriere Ecran de lucru
Desenarea elementelor reţelei
- Se selectează din bara de meniuri cu ajutorul
mouse-lui submeniul File şi apoi, din acesta,
elementul care se doreşte a fi desenat; apoi se
plasează în spaţiul de lucru de pe ecran,
sau
- Se apasă butonul din dreapta al mouse-lui şi se
alege tipul de element care urmează a fi desenat,
acesta fiind inserat automat în poziţia curentã a
mouse-lui pe ecran,
sau
- Se poziţionează mouse-ul pe elementul care
urmează a fi desenat în bara de butoane de comandă,
apoi, printr-un clic al butonului din stânga al
acestuia, elementul selectat este disponibil pentru
amplasare în spaţiul de lucru.
Ştergerea elementelor reţelei
- Se selectează elementul sau elementele care
urmează a fi şterse, prin activarea butonului:
- Se apasă butonul din dreapta al mouse-lui şi apoi se
selectează comanda Delete.
sau
- Se apasă butonul Delete al keyboardului.
Desenarea arcelor.
- Se selectează butonul Arcs din bara de meniuri a
meniului principal şi cu butonul din stânga al
mouse-ul se unesc între ele elementele reţelei,
potrivit regulilor de construcţie a acesteia;
sau
- Se apasă tasta ALT-Key pentru desenarea arcului
Observaţie: Într-o Reţea Petri, un arc leagă
obligatoriu elemente distincte (poziţii de tranziţii sau
tranziţii de poziţii) şi nu acelaşi tip de element
(poziţii-poziţii sau tranziţii-tranziţii).
4
Desenarea etichetelor.
O etichetă este un obiect text. Editarea textului în cadrul acesteia se poate face după ce s-a executat un
dublu clic pe butonul din stânga al mouse-lui. Textul poate reprezenta: denumirea unei poziţii sau
tranziţii, temporizarea asociată unei tranziţii, prioritatea în executarea tranziţiilor, ponderea arcelor de
legătura, viteza de execuţie a tranziţiilor continue, variabilele reale asociate poziţiilor continue, comentarii
suplimentare ale utilizatorului etc.
Desenarea obiectelor grafice
Anumite părţi ale reţelei pot fi evidenţiate prin încadrarea în chenare sau frame-uri, care le conferă o mai
mare transparenţă în organizarea structurii reţelei.
Schimbarea proprietăţilor elementelor
Descriere Ecran de lucru
Caracteristicile elementelor reţelei pot fi
uşor modificate utilizând editorul de
proprietăţi din submeniul aferent
(Fig. A 3.1); astfel:
- numele poziţiilor şi tranziţiilor ca şi
ponderea arcelor pot fi schimbate printr-
un dublu clic în interiorul numelui
anterior şi inscripţionarea celui nou;
- viteza de execuţie a unei tranziţii
continue şi ponderea unui arc sunt de
multe ori funcţii continue descrise printr-
o formulã matematică. Validitatea
formulei poate fi verificată prin activarea
butonului Check.
Modul de lucru variabilă / valoare
Pentru a realiza modele cu un mare grad de generalizare, fiecare poziţie este descrisă (asignată)
printr-un nume arbitrar ales de utilizator şi o variabilă bine precizată reprezentând numărul de jetoane
corespunzătoare poziţiei respective (marcajul poziţiei).
Astfel spus, o Reţea Petri modelează structura unui sistem care se poate găsi într-o succesiune de
stări. Structura reţelei permite schimbarea stării iniţiale în care se găseşte sistemul, fără ca prin aceasta
topologia acesteia să se schimbe. Starea sistemului la un anumit moment este reprezentată prin marcajul
reţelei. Pentru a trece de la descrierea generalã, în care stările sunt reprezentate prin variabile asociate
poziţiilor - la particularizarea stării iniţiale în care se află sistemul modelat prin Reţeaua Petri se
activează butonul aferent „modului de lucru valoare”, din fereastra principală a programului
(Fig. 2).
5
Fig. 2 Butonul pentru schimbarea modurilor de lucru.
Exemplu de utilizare:
Buton dezactivat – „mod de lucru variabilă” Buton activat – „mod de lucru valoare”
P1 T1 P2 P1 T1 P2
m1 m2 10 2
Gestionarea(managementul fişierelor)
Descriere Ecran de lucru
Fişierele care conţin modelele Reţelelor Petri
construite pot fi depuse în diferite directoare,
implicite, sau create de utilizator. Pentru accesarea
acestora se selectează submeniul Projects din
meniul propriu de gestionare a fişierelor (Fig. A
3.1). Apoi, pentru:
Deschiderea fişierelor:
- Se face dublu clic pe numele fişierului,
sau
- Se selectează fişierul şi apoi se activează
butonul Load File pentru încărcarea
acestuia,
sau
- În meniul principal se selectează opţiunea
File/Open,
Închiderea fişierelor
- Se selecteazã File/Close în meniul
principal.
Observaţie: Programul Vizual Object Net ++
include câteva programe demonstrative (tutorial
files) care explică modul de realizare al Reţelelor
Petri Hibride. Pentru deschiderea acestor fişiere se
activeazã butonul Tutorial din fereastra Factory.
6
Combinaţii de elemente întâlnite în construcţia Reţelelor Petri
În construcţia modelelor sunt întâlnite mai multe combinaţii posibile pentru conectarea
elementelor de bază ale acestora, dintre care doar unele conduc la soluţii viabile, acceptate de teorie.
Astfel, marcajul „m” al unei poziţii (discrete sau continue) poate activa, sau nu, executarea tranziţiei
asociate, în funcţie de ponderea „a” a arcului de legătură dintre acestea. De asemenea, tranziţiile continue
permit un transport continuu al marcajului, în concordanţă cu viteza v(t) asociată (Tab. 1).
Tab. 1 Legături permise şi legături interzise între elementele Reţelelor Petri
Arce de intrare
Simbol Tip de reţea Simbol Tip de reţea Simbol Tip de reţea
Reţele P/T clasice Tranziţii de
m cu capacitate m m control al
infinită a variabilei
a poziţiilor; a Nepermisă a continue.
Tranziţia este Tranziţia este
sensibilizatã dacă sensibilizatã dacă
ma ma
Reţele Petri
Reţele Petri Reţele Petri Hibride;
m Continue; m discrete P/T ; m Tranziţia este
Tranziţia este Tranziţia este validatã dacă
totdeauna validată a validatã dacă a ma
şi este efectuatã cu m a (nu se (nu se efectuează
viteza v(t) efectuează transport de
transport de jetoane)
jetoane)
Reţele Petri
Generator de Reţele Petri discrete P/T;
m evenimente; m
Continue ;
m Tranziţia este
Tranziţia este Tranziţia este validatã dacă
a sensibilizată dacã a mereu
a m < a (nu are loc
ma sensibilizatã transport de
(nu se efectuează (nu se efectueazã jetoane)
transport de transport de
jetoane) jetoane)
Reţele Petri Generator de
m Hibride; m evenimente. m
Tranziţia este Tranziţia este Nepermisă
a validatã dacă a sensibilizată dacã a
m<a m<a
(nu se efectuează (nu se efectuează
transport de transport de
jetoane) jetoane)
Transport continuu
în concordanţă cu
viteza v(t)
7
Tab. 1 Legături permise şi legături interzise între elementele Reţelelor Petri
Arce de ieşire
Simbol Tip de reţea Simbol Tip de reţea Simbol Tip de reţea
Reţele Petri
Reţele P/T clasice Hibride ; Stop
cu capacitate control
a infinită a variabilă continuă;
a
poziţiilor; Transport de
Transport de Nepermisă jetoane în
jetoane în concordanţă cu a
concordanţă cu a
Transport continuu
în concordanţă cu
viteza v(t)
Reprezentarea conexiunii
Conexiuni
nepermise, care
duc la topologii
incorecte
Conceptul de timp
Programul Visual Object Net ++ permite realizarea de modele T – temporizate, în care,
introducerea timpului la nivelul tranziţiilor se realizează în trei moduri:
Simbol Descriere
Temporizare T > 0
Tranziţia devine activă atunci când condiţia de sensibilizare este adevărată, dar se
T execută numai după scurgerea temporizării. Dacă în acest interval tranziţia nu mai este
sensibilizată, ceasul propriu al evenimentului modelat de tranziţie este repus pe zero
1 (temporizarea este anulatã, resetată), dar procesele paralele din cadrul reţelei pot
continua.
T Temporizare T=0
Tranziţia se execută atunci când este validatã. Timpul absolut al întregului sistem se
0 opreşte şi nu mai sunt executate procese paralele.
Temporizare particulară T=-1
T
Tranziţia este executată după exact un pas al procesului de simulare, indiferent de
-1 mărimea acestuia
8
Problematica legată de conflicte structurale
Despre conflicte
Dacă la o poziţie Pj se conectează o mulţime de post – tranziţii prin arce ordinare, se defineşte un
conflict la executarea tranziţiilor dacă numărul jetoanelor în poziţia respectivă este mai mic decât suma
ponderilor arcelor de legătură:
0 m W(k i ) , (1)
i
unde:
m este numărul de jetoane în poziţia Pj;
i – numărul post – tranziţiilor;
ki – arc între Pj şi Ti;
W(ki) – ponderea arcului ki.
Exemple:
P1 P1 P1
T1 T2 T1 T2 T1 T2
Fără conflict Conflict Fără conflict
P1 P1
Fără conflict Conflict
Rezolvarea conflictelor
Programul Visual Object Net ++ pune la dispoziţie mai multe metode de rezolvare a
conflictelor structurale:
- alegerea în mod arbitrar a tranziţiilor care se execută (alegere făcută de programul însuşi) în
cursul simulării. Aceasta nu exclude posibilitatea ca, la o simulare ulterioară, opţiunea de rezolvare a
conflictului să fie alta ; modelul conţine aşadar o componentă de incertitudine ;
- utilizarea conceptului de timp în alcătuirea modelului: prioritatea de executare a tranziţiilor este
legată în acest caz de stabilirea intervalului de temporizare, iar tranziţia cu temporizarea cea mai mică va
fi executată prima ;
- „rezervarea” tranziţiilor ;
- utilizarea conceptului de prioritate: fiecare din tranziţiile în conflict are asigurat un nivel de
prioritate, în conflict găsindu-se doar tranziţiile cu aceeaşi prioritate.
9
Simularea modelelor construite
Verificarea reţelei este realizată în urma mai multor simulări, care constau din execuţii secvenţiale
ale tranziţiilor validate, în funcţie de evenimentele externe asociate acestora. Înainte de începerea
simulării propriu – zise, opţiunea pentru acest mod de lucru al programului se face prin apăsarea
butonului Start din fereastra principală. După acest pas, este verificată automat corectitudinea modelului
realizat şi are loc compilarea, semnalându-se eventualele erori.
Descriere Ecran de lucru
Submeniul Panel din meniul de simulare serveşte la controlul
procesului simulării on line. Simularea se poate efectua pas cu pas,
poate fi declanşată de apariţia evenimentelor externe, sau poate
avea loc automat, în ciclu continuu cu posibilitatea modificării
vitezei. Pentru simularea cu viteză maximă, se selectează opţiunea
Max-Speed.
Observaţie Simularea cu viteză maximă dezactivează animaţia,
circulaţia jetoanelor corespunzătoare marcajului fiind întreruptă.
În submeniul Properties din meniul de simulare se pot opera
schimbări care modifică setările implicite ale programului:
- căsuţa Show Time marcată permite afişarea timpului simulării,
dar viteza de simulare este micşorată.
-căsuţa Automatic Stop after Time marcată, determină oprirea
procesului de simulare după scurgerea intervalului de timp stabilit.
Submeniul Extras oferă următoarele posibilităţi:
- indicarea tranziţiilor discrete validate;
- indicarea tranziţiilor continue validate;
- indicarea conflictelor între tranziţii.
10
Gestionarea fişierelor
Fiecare element al reţelei se poate copia într-un fişier temporar (clipboard), de unde poate fi ataşat
în oricare alt program sau document în care se utilizează modelul astfel construit. Visual Object Net ++
utilizeazã ca extensii ale desenelor, formate recunoscute de sistemul de operare Windows, reprezentările
grafice putând fi uşor exportate.
Descriere Ecran de lucru
Utilizarea clipboardului
- Se selectează toate elementele care urmează a fi
copiate. Dacă se doreşte copierea întregii reţele, din
meniul principal este selectată opţiunea Edit/Select all;
- Se selectează opţiunea Copy din meniul
corespunzător,
sau
- Se alege opţiunea File/Copy din meniul principal.
Salvarea şi exportul fişierelor
- Se selectează toate elementele care se doresc a fi
exportate. Dacă se exportă întreaga reţea, se alege
opţiunea Edit/Select all.
- Se selectează opţiunea Export Graphics din meniul
de lucru,
sau
- Se alege File/Export Graphics din meniul
principal.
Desenarea diagramelor
Descriere Ecran de lucru
Fiecărei poziţii din cadrul reţelei i se poate ataşa o
fereastrã în care se reprezintă evoluţia marcajului în
timpul simulării. Pentru aceasta:
- Se selectează poziţia dorită cu ajutorul
butonului din dreapta al mouse-lui ;
- Se indică opţiunea Show Diagram Window din
meniul de lucru.
În timpul simulării, graficul care reprezintă evoluţia
marcajului corespunzător poziţiei este generat
automat.
11
Manipularea (gestionarea) diagramelor
Descriere Ecran de lucru
Utilizarea clipboardului
- Se ajustează diagrama la scara dorită cu
ajutorul liniei ToolBar sau prin utilizarea
funcţiei Automatic Scale ;
- Se selectează opţiunea Copy to Clipboard
din meniul de lucru.
Salvarea şi exportul diagramelor
- Se selectează opţiunea Export Graphic din
meniul de lucru care permite exportul imaginii
în format WMF (Windows Meta File);
sau
- Este aleasă opţiunea Export Graphic
(ASCII) pentru a exporta date într-un fişier
ASCII. Acest fişier poate fi importat de alte
programe, de exemplu EXCEL.
12