Plasa Petri

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Exemplu de plasă Petri

O rețea Petri (cunoscută și sub numele de rețea loc / tranziție sau rețea P / T ) este una dintre reprezentările matematice ale unui sistem distribuit discret. Ca limbaj de modelare , descrie structura unui sistem distribuit ca un grafic bipartit cu adnotări. Au fost inventate în 1962 în timpul tezei de doctorat a autorului Carl Adam Petri .

Descriere

Noțiuni de bază

O rețea Petri PT (Place / Tranziție) este un grafic orientat cu două tipuri de noduri, locuri și tranziții , conectate prin arcuri directe. Locurile sunt reprezentate grafic prin cercuri, iar tranzițiile prin dreptunghiuri.

Un arc poate uni noduri de diferite tipuri, deci pot exista arcuri între locuri și tranziții - dar nu între locuri și locuri sau tranziții și tranziții. Un loc din care un arc începe să se termine într-o tranziție se numește locul de intrare de tranziție; un loc în care un arc ajunge dintr-o tranziție se numește locul de ieșire de tranziție.

Locațiile pot conține un număr de jetoane sau mărci . O distribuție de jetoane pe toate locurile din rețea se numește marcare . Tranzițiile acționează asupra jetoanelor primite conform unei reguli, numită regulă de tragere . O tranziție este activată dacă poate fi declanșată, adică dacă există jetoane în fiecare loc de intrare. Când o tranziție se declanșează, consumă jetoane din locurile sale de intrare, efectuează sarcini și plasează un număr specificat de jetoane în fiecare dintre locurile sale de ieșire. Acest lucru se întâmplă automat, de exemplu într-un singur pas nepreentiv. Execuția rețelelor Petri este nedeterministă . Aceasta înseamnă două lucruri:

  1. dacă mai multe tranziții sunt activate în același timp, oricare dintre ele poate fi declanșată
  2. nu este garantată declanșarea unei tranziții activate; o tranziție activată poate fi declanșată imediat, după orice timp de așteptare (atâta timp cât rămâne activată), sau deloc declanșată.

Deoarece declanșarea unei tranziții nu este previzibilă a priori, plasele Petri sunt foarte potrivite pentru modelarea comportamentului unui sistem concurent .

Definiție formală

O rețea Petri este o extensie a clasei de rețele elementare:

Definiția 1 : o rețea este un triplu unde este:

  1. este un ansamblu de stări numite locuri.
  2. este un set de tranziții.
  3. este un set de fluxuri relaționale numite „arcuri”. Astfel de fluxuri sunt posibile numai între locuri și tranziții sau invers.

O rețea este un grafic bipartit, unde este o partiție și si celalalt. Mai exact, pentru fiecare în exista Și în astfel încât Și apartine și pentru fiecare Și în de sine Și sunt în asa de . În formulă:

Întregul conține elementele rețelei. Setul de locuri definește stările locale ale rețelei, cu toate acestea, starea globală a unei rețele poate fi definită prin subseturi de locuri.

Definiția 2 : dată o rețea , o configurație este un set .

Definiție 3 : O rețea elementară este o rețea de formă unde este:

  1. este o rețea.
  2. este o configurație.

Definiția 4 : O rețea Petri este o rețea teoretică a rețelei Petri . Proprietățile teoretice ale rețelelor Petri au fost studiate pe larg. Un motiv principal pentru utilizarea rețelelor Petri în modelarea sistemelor concurente este abilitatea de a delimita și decide în mod formal proprietățile dorite ale sistemului, cum ar fi vietatea (de exemplu, într-un sistem care nu trebuie să se blocheze niciodată) sau limitarea (de exemplu, resursele ale unui sistem precum CPU sunt limitate). Desigur, aceeași proprietate într-un context diferit poate lua un sens complet diferit.

Un marcaj într-o rețea Petri este accesibil dacă, începând de la marcajul inițial, există o secvență de declanșare care îl produce. O rețea Petri este delimitată dacă există o limită superioară a numărului de jetoane în marcajele sale accesibile.

Principalele tipuri

Principalele tipuri de plase Petri.

Există șase tipuri principale de plase Petri:

  1. Mașină de stat finit (SM) - în care fiecare tranziție are un singur arc de intrare și unul de ieșire. Acest lucru implică faptul că nu poate exista concurență, dar poate exista conflict (adică atunci când apare întrebarea: unde merge un simbol de scaun? Într-una sau alta tranziție?). Matematic:
  2. Grafo Marcato (Marked Graph - MG) - unde fiecare loc are un singur arc de intrare și un arc de ieșire. În acest caz nu există conflicte, dar există competiții . Matematic:
  3. Libera alegere (Free choice - FC) - în care arcul este fie singurul arc care merge dintr-un loc, fie singurul arc intră într-o tranziție. Cu alte cuvinte, pot exista atât concurență, cât și conflicte, dar nu în același timp . Matematic:
  4. Free Extended Choice (Extended free choice - EFC) - o rețea Petri care poate fi transformată într-un FC.
  5. Alegerea asimetrică ( Alegerea asimetrică - AC) - competiție și conflict (pe scurt, confuzie), dar nu asimetric. Matematic:

Extensii

Există multe extensii ale plasei Petri. Unele dintre ele sunt complet compatibile înapoi (de exemplu, rețelele Petri colorate) cu rețeaua Petri originală, altele adaugă proprietăți care nu pot fi modelate în rețeaua Petri originală (de ex. Rețele Petri temporizate). Dacă pot fi modelate în rețeaua Petri originală, nu sunt extensii reale, ci sunt modalități convenabile de a arăta același lucru și pot fi transformate cu formule matematice adecvate în rețeaua originală, fără a pierde sensul. Extensiile care nu pot fi transformate sunt uneori reprezentări foarte puternice, dar de obicei pierd multe instrumente matematice disponibile pentru a analiza rețelele Petri normale.

Termenul rețea Petri la nivel înalt este folosit pentru multe formalisme ale rețelei Petri care extind formalismul de bază P / T. Aceasta include, de asemenea, plasele Petri ierarhizate colorate și toate celelalte extensii menționate în această secțiune.

O listă scurtă a posibilelor extensii:

  • Într-o rețea Petri standard, jetoanele nu se disting. Într-o rețea Petri colorată , fiecare jeton are o valoare. În instrumentele populare pentru rețelele Petri colorate, cum ar fi Instrumentul CPN , valoarea jetonului este tastată și poate fi testată și manipulată cu un limbaj de programare funcțional . O filială a rețelelor Petri colorate sunt rețele Petri bine formate , unde expresiile de arc și de control sunt constrânse pentru a face analiza rețelei mai ușoară.
  • O altă extensie populară a rețelei Petri este ierarhia : ierarhia sub forma mai multor vederi care susțin diferite niveluri de rafinament și abstractizare au fost studiate de Fehling . O altă formă de ierarhizare se găsește în așa-numitele rețele Petri orientate obiect sau sisteme orientate obiect, în care o rețea Petri poate conține mai multe rețele ca jetoane, stabilind o ierarhie de rețele Petri altoite care comunică prin sincronizarea tranzițiilor la diferite niveluri. A se vedea [1] pentru o introducere informală a rețelelor Petri orientate obiect.
  • Un sistem de adăugare vectorială cu state (VASS) poate fi văzut ca o generalizare a unei rețele Petri (dar cu ceva mai puțin). Luați în considerare un automat cu stare finită în care fiecare tranziție este tradusă într-o tranziție netă Petri. Prin urmare, rețeaua Petri urmărește evoluția automatului, adică o tranziție în automat este efectuată în același timp în tranziția corespunzătoare în rețeaua Petri. Este posibil să efectuați o tranziție în automat numai dacă tranziția corespunzătoare din rețea este activată; este posibil ca tranziția din rețeaua Petri să se fixeze numai dacă există o tranziție de la starea actuală a automatului etichetat de aceasta. Ceea ce nu pot reprezenta automatele de stare finită sunt situațiile de sincronizare care sunt prezente în rețeaua Petri: de exemplu, când două locuri așteaptă o tranziție și tranziția nu poate fi declanșată până când cele două locuri nu răspund constrângerilor tranziției.
  • Rețelele Petri cu prioritate adaugă mecanisme prioritare tranzițiilor, prin care o tranziție nu se poate declanșa dacă este activată o tranziție cu prioritate mai mare. Tranzițiile sunt împărțite în grupuri prioritare, de exemplu grupul prioritar 3 poate fi declanșat numai dacă toate tranzițiile din grupul 1 și grupul 2 sunt dezactivate. Cu un grup prioritar, filmarea este încă nedeterministă.
  • Proprietatea nedeterministă are o mare importanță, deoarece permite utilizatorului să extragă un număr mare de proprietăți (depinde de utilizarea rețelei). În unele cazuri, este, de asemenea, necesar să adăugați o sincronizare la model.

Astfel se nasc rețelele Petri temporizate , în care există tranziții temporizate și altele care nu (de obicei tranzițiile fără temporizări au o prioritate mai mare decât cele temporizate). A se vedea, de asemenea, rețelele Petri stochastice care adaugă un timp nedeterminist pentru a reda un concept aleatoriu al tranzițiilor. Distribuția aleatorie exponențială este de obicei utilizată pentru a „cronometra” astfel de rețele. În acest caz, graficul de accesibilitate al rețelei devine un lanț markov .

Există multe alte extensii la rețeaua Petri, dar este important să ne amintim că, cu cât crește complexitatea rețelei în ceea ce privește proprietățile extinse, cu atât este mai dificil să se utilizeze instrumente standard pentru a evalua anumite proprietăți ale rețelei. Din acest motiv, este o idee bună să utilizați cel mai simplu tip de rețea posibil pentru un anumit proces de modelare.

Modele succesive de concurență

În urma invenției rețelelor Petri, au fost introduse alte modele de concurență, care se bazează pe schimbul de mesaje și comportamentul compozițional. Robin Milner și Carl Hewitt au susținut într-adevăr că lipsa capacității de compoziție a rețelei este o limitare serioasă a Petri, deoarece modularitatea este limitată.

În plus, Hewitt a susținut că rețelele Petri nu au localitate, deoarece jetoanele de intrare ale unei tranziții dispar simultan, ceea ce limitează realismul modelului. Hewitt a știut răspunsul imediat la observația sa, care este că utilizarea corectă a plaselor Petri este de a respecta constrângerea evenimentului unic , fiecare tranziție ar trebui să modeleze un singur eveniment. Dar fără a lua în considerare timpul necesar evenimentului sau timpul necesar operațiunii asociate tranzacției. formă , care extinde rețeaua elementară astfel încât:

  1. este o rețea.
  2. este un set multiplu .
  3. este un multiset de margini.

Semantică

Un grafic net Petri este de patru ori , unde este:

  • este un set finit de locuri
  • este un set finit de tranziții, cu
  • este un multiset de margini (relație de curgere)
  • este funcția de greutate a unui arc

Relația de flux este un set de margini . În multe texte, muchiile pot avea multiplicitate 1. Vom folosi convenția de a folosi in loc de obținându-se astfel că un grafic net Petri este un multigraf bipartit .

Presetarea unei tranziții , este setul locurilor sale de intrare: ; post-setul este un set de locuri de ieșire: . Cele două definiții sunt similare.

Marcarea unei rețele Petri este un set multiplu de locuri, adică o cartografiere . Prin urmare, vom spune că marcajul atribuie un număr de simbol.

O plasă Petri este un cuplu , unde este:

  • este un grafic net Petri;
  • este marcajul inițial.

Semantica execuției

Comportamentul unei rețele Petri este definit prin relațiile dintre marcaje, rețineți că marcajul poate fi adăugat ca orice multiset:

Executarea unui grafic net Petri poate fi definit prin relația de tranziție pe marcaje, după cum urmează:

  • pentru fiecare t in

In cuvinte:

  • Declanșați o tranziție într-un marcaj consumă jeton din fiecare dintre locurile de intrare din , și produce simbol pentru fiecare dintre locurile de ieșire din .
  • O tranziție este activată (ar putea declanșa) dacă există suficiente jetoane în locurile sale de intrare pentru a face posibilă consumarea acestora, adică dacă și numai dacă .

În general, suntem interesați de ceea ce s-ar putea întâmpla dacă tranzițiile sunt declanșate în ordine arbitrară. Să spunem un marcaj se poate ajunge printr-un marcaj într-un singur pas însă , spunem, de asemenea, că este accesibil din de sine , unde este este închiderea reflexivă și tranzitivă a dacă se poate ajunge în 0 sau mai mulți pași.

Pentru o rețea Petri (marcată) , suntem interesați de fotografiile care pot fi făcute începând cu marcajul inițial . Definim setul de marcaje accesibile:

Graficul de accesibilitate al lui N este relația de tranziție limitat la marcaje realizabile .

O succesiune de fotografii pentru o rețea Petri, un grafic G și un semn inițial este o secvență de tranziții astfel încât . Setul de secvențe de fotografii notate cu .

Rețelele Petri ca vectori și matrice

Marcare pentru plasele Petri poate fi cel mai bine apreciat ca un vector de numere întregi de lungime non-negative .

Relația de tranziție poate fi descrisă de o pereche de matrice de dimensiuni :

  • definit de
  • definit de

Apoi diferența lor:

poate fi folosit pentru a descrie marcarea realizabilă în termeni de produs între matrice după cum urmează:

Pentru fiecare secvență de tranziții , noi scriem pentru vectorul care mapează fiecare tranziție la numărul său de apariție în w. Deci avem:

Rețineți că este necesar ca este o rată de cadre, permițând secvențe de tranziții fără restricții să producă în general un ansamblu foarte mare.

(b) Exemplu de plasă Petri

Accesibilitate

Graficul de accesibilitate în rețea al exemplului (a). Rețineți că rețeaua este 2-limitată și, prin urmare, poate avea doar maximum 9 ( ) Statele.

Toate statele la care poate fi atinsă o rețea cu marcare inițială sunt indicate cu . Problema de accesibilitate este următoarea: este adevărat că ? Aceasta este situația în care este o stare „greșită”, care nu trebuie atinsă, de exemplu trecerea unui tren când bariera trecerii la nivel este ridicată sau ascensiunea unui lift când ușile sunt deschise.

Accesibilitatea stărilor poate fi reprezentată cu un grafic de accesibilitate în care sunt indicate stările și arcurile reprezintă tranzițiile între două stări. Graficul este construit după cum urmează: starea inițială este considerată mai întâi ( ) și toate tranzițiile posibile din această stare sunt explorate, apoi tranzițiile din stările găsite și așa mai departe. Algoritmul cu care este construit graficul este cel al căutării în lățime , deoarece graficul poate avea lățime infinită, astfel încât o căutare în adâncime-întâi nu poate găsi toate stările posibile, chiar dacă este efectuată de un număr infinit de ori. Observăm că rețeaua Petri este delimitată intrinsec (vezi mai jos) dacă și numai dacă graficul său de accesibilitate are un număr finit de stări.

În timp ce accesibilitatea pare a fi o metodă bună pentru găsirea stărilor „greșite”, pentru problemele practice, graficul construit are de obicei prea multe stări de calculat. Pentru a atenua această problemă, logica temporală liniară (LTL) este adesea utilizată împreună cu metoda tableau pentru a demonstra că anumite stări nu pot fi atinse. LTL folosește tehnica de semi-decizie pentru a afla dacă într-adevăr se poate ajunge la o stare, căutând un set de condiții necesare pentru atingerea statului și dovedind că aceste condiții nu pot fi îndeplinite.

Viața

O plasă Petri este vie sau vie , oricare ar fi marcajul ajuns de atunci , din este întotdeauna posibil să declanșezi orice tranziție a rețelei, urmând o succesiune suplimentară de fotografii.

Sunt definite diferite niveluri de viață (în literatură și vivacitate sau vitalitate ), de la la . O tranziție t a unei rețele Petri ( ) Și:

  • viu sau mort dacă și numai dacă nu poate trage, adică dacă nu se află în nicio secvență de fotografiere unde este
  • viu , sau cvasi-viu , dacă și numai dacă are posibilitatea de a trage, adică dacă se află într-o secvență de fotografiere Unde
  • trăiește dacă și numai dacă pentru fiecare k întreg pozitiv, t poate trage de cel puțin k ori într-o secvență de fotografiere Unde
  • live dacă și numai dacă există o secvență de fotografiere unde t se fixează la infinit
  • trăi sau pur și simplu trăi dacă și numai dacă se află într-o stare accesibilă M (adică ), t este Viva.

Observăm că acestea sunt cerințe din ce în ce mai stricte, de exemplu dacă este o tranziție live , este automat și trăi . Ca exemple, (b) prezintă o rețea Petri live cu o stare inițială dată, dar cu o altă stare inițială (de exemplu, complet goală) toate tranzițiile pot fi moarte. Pe de altă parte, (a) arată toate tranzițiile unei rețele Petri trăiește indiferent de starea inițială - nu sunt live , deoarece atunci când starea este (0.2) sau (2.0), una dintre tranzițiile sale poate eșua, deoarece rețeaua este limitată de 2.

O plasă Petri este trăiește dacă și numai dacă există o tranziție cu ea trăi .

Prescripţie

Există rețele Petri în care numărul maxim de jetoane conținute într-un singur loc este limitat - în acest caz, îngustimea este o proprietate intrinsecă a rețelei. Cu toate acestea, rețelele Petri pot fi definite fără a avea proprietatea de limitare ; atunci limitarea este o posibilă proprietate a rețelei Petri. Se spune că o rețea Petri este legată de k dacă există un întreg pozitiv k (finit) astfel încât numărul de jetoane din fiecare loc din rețea să fie mai mic sau egal cu k pentru fiecare marcă accesibilă de O rețea Petri este sigură sau sigură dacă este limitată la 1. Desigur, limitarea depinde de marcarea stării inițiale (adică putem pune inițial 10 jetoane în fiecare loc, ceea ce face imposibilă existența unei rețele cu 2 limitări). De asemenea, se remarcă faptul că exemplul (b) nu este limitat deoarece P4 poate avea un număr infinit de jetoane, dacă secvența de declanșare (T1, T2) se repetă la nesfârșit. Cu toate acestea, rețeaua exemplului (a) este în mod inerent limitată de k pentru k = 2 în toate locurile și acest lucru este arătat în toate stările posibile.

Exemplu de transformare a scaunelor. Scaunul gri care inițial era delimitat în mod intrinsec a fost „transformat” în două locuri: scaunul gri original și un stâlp

Limitarea unui anumit loc într-o rețea intrinsecă limitată poate fi reprezentată într-un mod echivalent cu o rețea nelimitată expres de o „transformare a locului”, adică prin inserarea unui loc nou (numit contra-loc ) și provocarea tuturor tranzițiilor care pun x jetoane în locul inițial iau jetoane de pe ghișeu și toate tranzițiile care îndepărtează x jetoane de locul original, pun apoi x jetoane în ghișeu. Numărul de jetoane din acum vor trebui să satisfacă ecuația + locul de numărare = limitarea. Prin urmare, realizarea unei transformări de locuri pentru toate posturile din rețeaua limitată și forțarea stării de pornire pentru a se adapta la egalitatea menționată anterior, o rețea limitată poate fi pur și simplu transformată într-o rețea nelimitată. Astfel, o analiză utilizată pentru o rețea inerent nelimitată poate fi utilizată și pentru rețelele delimitate.

P-invariant

Invarianții P corespund unui set de locuri astfel încât suma ponderată a jetoanelor care îl conțin rămâne constantă pentru toate marcajele accesibile de rețea. Dat matricea de incidență a rețelei Petri e vector coloană de dimensiune | P |, invarianții P sunt soluțiile întregi ale următoarei ecuații:

Dove, per esempio per una rete di Petri avente 5 posti, abbiamo il seguente vettore

T-invariante

In modo duale ai P-invarianti, i T-invarianti rappresentano possibili sequenze di scatti che riportano la rete alla marcatura iniziale. Dato matrice di incidenza della rete di Petri e vettore colonna di dimensione |T|, i T-invarianti sono le soluzioni intere della seguente equazione:

Sifoni e Trappole

Sono delle strutture fondamentali per riconoscere la vivezza di una rete di Petri.

Sifoni

Un sifone, è un insieme di posti che, durante l'evoluzione della rete, tende a perdere gettoni e non è più capace di acquistarne di nuovi. Dato S un insieme di posti della rete di Petri, il sifone è definito:

Trappole

Sono il duale dei sifoni, è un insieme di posti che, durante l'evoluzione della rete, tende ad acquisire gettoni e non è più in grado di smarcarsi completamente. Dato S un insieme di posti della rete di Petri, la trappola è definita:

Aree di applicazione

Tools di programmazione

Vedi anche Lista dei tool per le reti di Petri .

Bibliografia

Voci correlate

Altri progetti

Collegamenti esterni

Controllo di autorità Thesaurus BNCF 6134 · LCCN ( EN ) sh85100346 · GND ( DE ) 4045388-1 · BNE ( ES ) XX548185 (data)