Plăci Petri

Noțiunea de o mașină de stare finită este o schemă matematică convenabilă pentru a descrie funcționarea instalațiilor și a sistemelor, care sunt caracterizate prin prezența stărilor discrete și natura discretă a activității în timp. Cu toate acestea, pentru a simula o serie de facilități, cum ar fi hardware și rețele de calculatoare, utilizarea sistemului de abstractă automaton matematică întâlnește dificultățile, în ciuda faptului că aceste obiecte pot fi prezentate ca sistem de tranziție discret. Acest lucru se datorează faptului că mașina de stare este o schemă de algoritmică secvențială menționate obiecte și își poate îndeplini funcția lor în paralel și asincronă și independent unul de altul, cu excepția anumitor puncte prestabilite, numite puncte de interacțiune a proceselor concurente. O descriere a operațiunii care utilizează o mașină de stat finită în astfel de cazuri este teoretic posibilă, însă necesită o examinare a unui număr mare de state și o creștere a complexității modelului. Această lipsă este lipsită de rețeaua Petri.







Rețeaua Petri este un grafic orientat care conține pozițiile (vârfurile) care definesc condițiile care sunt în sistem și tranzițiile care reflectă acțiunile asociate cu aceste condiții. Pozițiile sunt etichetate dacă este îndeplinită condiția corespunzătoare. Mișcarea etichetelor de-a lungul rețelei determină secvența modificărilor în stările obiectului modelat. Pozițiile sunt reprezentate de cercuri, tranzițiile sunt șipci. Pozițiile sunt conectate printr-un arc cu o tranziție dacă îndeplinirea unei condiții date este necesară pentru declanșarea acțiunii asociate acestei tranziții. Tranziția este conectată printr-un arc cu o poziție, dacă acțiunea asociată cu aceasta generează îndeplinirea condiției reprezentate de această poziție. Un arc nu are voie să se alăture unei poziții cu o poziție sau o tranziție cu o tranziție.

Plasele Petri funcționează în timp continuu. Dinamica funcționării este determinată de regulile de declanșare a tranzițiilor. Modificarea stării rețelei este legată de mecanismul de modificare a marcajelor pozițiilor. În cazul unei simple Petri Petri simple:

- se declanșează numai tranziția activă, adică, astfel încât în ​​toate pozițiile de intrare există etichete;

- operațiune de tranziție are loc după un interval de timp finit predeterminat după activarea acestuia și, dacă există un conflict - activarea simultană a mai multor tranziții, având vârful de intrare comună este declanșată equiprobably doar una dintre tranzițiile conflictuale;

- ca rezultat al declanșării tranziției, numărul de etichete din fiecare poziție de intrare este redus cu unul, iar numărul de etichete din toate pozițiile de ieșire este mărit cu unu.

EXEMPLU de schimbare a mărcilor unei rețele simple de Petri la soluționarea conflictului.

În plus față de grafic, se utilizează descrierile tabulare ale rețelei Petri. Există două tipuri de tabele: primul pentru fiecare vârf al rețelei stabilește o listă a adepților săi, al doilea determină greutățile arcurilor rețelei. Numărul de coloane din tabel determină gradul de paralelism al modelului.

Ciclul elementar de întreținere este modelat de o rețea de timp simplă de Petri, prezentată în Fig. 16.

Cu tranzițiile la Fig. 16 următoarele momente sunt legate de executarea următoarelor acțiuni: t1 - primirea cererii de serviciu în coada de intrare; t2 - începerea serviciului; t3 - sfârșitul serviciului; t4 - ieșirea aplicației de la ciclul de service. Pozițiile acestei rețele Petri corespund următoarelor condiții: P1 - disponibilitatea cererii de așteptare pentru serviciul în coada de intrare; P2 - disponibilitatea cererii de întreținere în procesor; P3 - procesorul este gratuit; P4 - Disponibilitatea ordinului servit în coada de ieșire. Marcarea benzii Petri din fig. 16, corespunde cu starea inițială a sistemului de servicii: nu există solicitări de așteptare pentru întreținere în coada de intrare, iar procesorul este liber (vertexul P3 conține o etichetă).

Un alt marcaj al rețelei Petri care simulează un ciclu de serviciu elementar este prezentat în Fig. 17.

Marcajul prezentat în Fig. 17 corespunde cu următoarea stare: aplicația așteaptă întreținerea și procesorul este liber: vârfurile P1 și P3 conțin etichete și, prin urmare, este activată tranziția t2. Simularea următoarelor evenimente în modul pas-cu-pas este prezentată în Fig. 18.

După declanșarea tranziției, marcările t2 de la vârfurile sale de intrare P1 și P3 vor fi eliminate și la punctul de ieșire P2 va apărea eticheta, care corespunde disponibilității cererii de servicii din procesor. Eticheta de la punctul P2 activează tranziția t3. care va fi activat după expirarea timpului de întreținere. Ca urmare a declanșării tranziției t3, eticheta este luată din punctul P2. iar la vârfurile P4 și P3 apar semnele. Oprirea t4. corespunzătoare îndepărtării aplicației care a fost servită din bucla, va elimina eticheta de la vârful P4. iar sistemul va reveni la marcajul inițial (vezi Figura 16).

În general, pot exista mai multe etichete într-o poziție. Apoi, pentru a declanșa o tranziție a formei n / m, numărul total de etichete trebuie să fie cel puțin n în pozițiile de intrare. Când a declanșat, trecerea tuturor elementelor de intrare în funcție de numărul de arce de ieșire eliminate în cantitatea de n tag-uri, și toate pozițiile de ieșire de pe numărul de arce de ieșire apar m tag-uri (vezi. Fig. 19).

Pentru comoditate în reprezentarea grafică a rețelelor Petri și în software-ul de modelare, de regulă, atunci când se specifică tranzițiile n / m, în locul mai multor arce, se utilizează una, specificând greutatea sa. De asemenea, din motive de conveniență, numărul de etichete de la vârful mai mult de 2 poate fi indicat printr-un număr în locul unui set de etichete. În această reprezentare, exemplul prezentat în Fig. 19, va avea forma prezentată în Fig. 20.

Tranzițiile tipului n / m sunt folosite pentru a modela procesele urmate de o modificare a tipului de resursă modelată. De exemplu, pentru a simula procesele de asamblare într-un sistem tehnologic, procesele de aplicare a ambalajelor în rețeaua de calculatoare (în acest caz, n> m) sau procesul de separare a fluxurilor de materiale, procesul de creare a copiilor aplicațiilor (în acest caz n





EXEMPLE de plase Petri pentru modelarea procesului de ambalare a aplicațiilor și modelarea sincronă a unui element de NAND.

Pentru modelarea facilităților informatice și a proceselor de procesare a informațiilor, se folosesc soiuri de plase Petri, care diferă în modurile de rezolvare a conflictelor. În rețelele Petri stochastice, se introduc în plus întârzieri aleatoriale sau probabilități de declanșare a tranzițiilor active. În exemplul din Fig. 21-a, fie t1 (cu probabilitatea p1), fie t2 (cu probabilitatea 1-p1) va funcționa. În rețelele prioritare, situațiile conflictuale sunt rezolvate prin introducerea unor priorități diferite pentru ramuri. Conflictul prezentat în exemplul din Fig. 21-b, va fi întotdeauna rezolvată în favoarea tranziției t1. deoarece are prioritate, iar tranziția t2 poate funcționa numai dacă, în prezența etichetelor la vârfurile P2 și P3. nu va exista o etichetă la punctul P1.

Un tip special de rețele Petri sunt rețele inhibitoare care, pe lângă arce obișnuite din graficul rețelei, conțin ramuri inhibitoare, așa-numitele ramuri inhibitoare. O astfel de ramificație interzice activarea unei tranziții dacă există suficiente etichete în vârfurile de intrare ale arcurilor obișnuite atâta timp cât există etichete în vârful de intrare. În fragmentul net Petri prezentat în figura 22-a, ramura a interzice începutul tranziției t1 atunci când există o marcă în poziția P1. Un exemplu de implementare a celui mai simplu ciclu de service care utilizează rețeaua Petri inhibitoare este prezentat în figura 22-b. Aici, tranziția t2, dacă există o marcă în poziția P2, va fi "blocată", în ciuda prezenței unei etichete la vârful P1, până când marcajul părăsește P2 prin tranziția t3. care este echivalentă cu finalizarea serviciului următor.

Să luăm în considerare exemplele de modelare prin rețele Petri a diferitelor procese și sisteme.

Rețeaua Petri pentru modelarea canalului principal de date. Lăsați abonații N să fie conectați la un canal comun de comunicare și este posibilă comunicarea oricărui abonat între ele. Expeditorul-abonat încearcă să comunice la un moment dat T1. Dacă canalul este ocupat de transmiterea de informații de la alt abonat, acest lucru este detectat de prezența semnalelor purtătoare în canalul de comunicație. Abonatul întârzie transmiterea pentru un timp t1. care este realizarea unei variabile aleatoare uniform distribuite într-un interval dat. Dacă în momentul de timp (T1 + t1) canalul de comunicare este din nou ocupat, transmisia este întârziată conform aceleiași reguli. Dacă doi sau mai mulți abonați încearcă să pornească simultan transmisia, sunt posibile conflicte. Simultanitatea este descrisă de condiția DT0. În caz de conflict, transferul începe, dar datele sunt corupte. Eliminarea conflictului este că toți abonații care au început transferul de date opresc simultan și încearcă să înceapă să lucreze într-un interval de timp, individual pentru fiecare abonat și fiind o funcție a lui t.

În implementarea modelului (vezi Figura 23), sursa (tranziția deschisă t2) simulează fluxul cererilor de transfer de la toți abonații. Dacă canalul este liber și nu există niciun conflict, aplicația trece prin t3. t6. t7. T10. t11 și iese din sistem, cu o întârziere de timp de e în t6. și în t10 - pentru un timp (Tn-e), unde Tn este timpul de transmisie a pachetelor.

Dacă canalul este ocupat (aplicația este întârziată în t10), încercarea unui alt abonat de a porni transferul conduce la trecerea aplicației de-a lungul rutei t3. t6. t9. și apoi într-una din tranzițiile t12. tn. Triggerarea tranziției t9. nu t7. apare deoarece aplicația anterioară a trecut prin t7 și nu a ieșit încă din t10. scoateți eticheta din poziția p9. Astfel, tranziția t7 sa dovedit a fi interzisă și t9 a fost permisă.

Tranziții t12. modelul tn întârzierea pachetului pentru un timp ti. După o perioadă de timp ti, aplicația merge la p3. adică, se face o nouă încercare de a trimite mesajul. Conflictele apar dacă noua aplicație ajunge la poziția p3. Când precedentul nu a părăsit încă tranziția t6. Prin urmare, eticheta nu poate trece prin t3. dar poate trece prin tranziția t4 la poziția p6. Acum, aplicația care iese din t6 poate trece prin t8 la tranzițiile t12. tn. unde ambele aplicații vor fi întârziate pentru o perioadă aleatorie înainte de a reîncerca transferul. Pentru a face eticheta de la p8 mergeți la t8. dar nu în t9. ramură care duce la t8. o prioritate mai mare este atribuită. Tranzitia t5 este declansata daca mai mult de doua aplicatii au intrat in conflict [3, 20-23].

EXEMPLE de rețele Petri de diverse sisteme și procese și implementarea lor în programul IngProject - vezi Lucrarea de laborator nr. 7

Rețea Petri pentru modelarea proceselor de defecțiuni și depanare într-un sistem tehnologic cu unitate de rezervă și o rezervă suplimentară. Lăsați trei unități de operare să funcționeze în sistemul tehnologic. Cu o anumită periodicitate în oricare dintre unitățile de lucru poate fi un eșec. Pentru a înlocui unitatea defectă, există inițial o rezervă. În caz de defecțiune, unitatea defectă este înlocuită cu o rezervă, după care unitatea defectă este supusă recuperării (reparației) și devine o unitate de rezervă. În sistem, în plus față de unitatea de rezervă, există încă una, una de rezervă. Utilizarea sa este permisă numai în cazul defectării tuturor celor trei unități principale de lucru. Dacă se folosește unitatea de backup, trebuie să fie restaurată mai întâi. Toate caracteristicile de timp ale sistemului (timp de eroare, timp de înlocuire, timp de recuperare) sunt variabile aleatorii.

Când funcționează sistemul, pot apărea următoarele situații:

- toate cele trei unități de lucru sunt în stare bună, unitățile de rezervă și de rezervă sunt gata de utilizare;

- una dintre unitățile de lucru a refuzat și rezervarea este gata de utilizare (în acest caz se va efectua înlocuirea și unitatea eșuată va fi trimisă pentru recuperare pentru transferul ulterior în rezervă);

- dacă unitatea de rezervă nu este gata de utilizare, adică se află la recuperare, sunt posibile situații de defecțiuni succesive ale uneia și celei de-a doua unități de lucru fără înlocuire;

- dacă unitatea de rezervă nu este gata de utilizare, adică se află la recuperare și toate cele trei unități de operare sunt refuzate succesiv, se va folosi o unitate de rezervă pentru înlocuire;

- dacă unitatea de rezervă a fost deja utilizată, atunci după restaurarea următoarei unități eșuate, aceasta va fi transferată nu în rezervă, ci în rezerva, deoarece rezerva este restabilită în primul rând;

- dacă unitatea de rezervă a fost deja restaurată, următoarea unitate eșuată va fi trimisă pentru recuperare și, ulterior, la rezervă.

Sistemul specificat este modelat de plasa prioritară inhibitoare Petri, prezentată în Fig. 24.

Tabelul 10 oferă o descriere a tuturor pozițiilor (vârfurilor) rețelei în termenii condițiilor care sunt asociate cu acestea, adică ele sunt îndeplinite atunci când există un marcator în vârf.

Prezența în sistem a unui sistem de service, gata de utilizare pentru înlocuirea unității de rezervă.

Marcarea inițială a rețelei, prezentată în Fig. 24, corespunde prezenței în sistem a trei unități de lucru care pot fi întreținute; serviceabil, gata de utilizare pentru înlocuirea unității de rezervă și serviceabil, gata de utilizare pentru înlocuirea unității de rezervă. Descrierea tuturor tranzițiilor din punctul de vedere al evenimentelor asociate este prezentată în Tabelul 11.

EXEMPLU a rețelei Petri pentru modelarea proceselor de defectare și depanare în sistemul tehnologic cu o rezervă suplimentară (a doua opțiune).

Înlocuirea unei unități defecte cu o rezervă sau una de rezervă (timpul este aleatoriu).

Utilizarea restaura unitatea de defect (timpul de accident). Două tranziție identice puse în aplicare pentru simulare și restaurarea blocurilor de backup de rezervă. Deoarece când unitatea este necesar de recuperare de rezervă trebuie să fie efectuată în primul rând, tranziția corespunzătoare are prioritate mai mare (marcate în fig. 24, „etc.“) și că va lucra în cazul unui conflict.

Trimitere pentru a restabili una dintre unitățile eșuate fără înlocuire. Este nevoie de această tranziție, la fel ca în cazul mărcii de prioritate de rezervă de recuperare la P3 vertex și offline de tranziție t2 nu poate funcționa. În timpul funcționării normale, în cazul în care sistemul are bloc de rezervă (eticheta la P3 vertex) pentru tranziție rezoluția t2 prioritate mai mare este atribuită (marcată în fig. 24 „drept“.).







Articole similare

Trimiteți-le prietenilor: