Corso di Laurea Triennale in INGEGNERIA INDUSTRIALE Anno Accademico 2013/14 Prof. Davide GIGLIO 1
INDICE GENERALITÀ SULLE Struttura e marking di una rete di Petri Regola di firing ( Token Game ) Capacità di rappresentazione delle reti di Petri Equazione fondamentale delle reti di Petri PROPRIETÀ DELLE Raggiungibilità, boundedness, conservatività, liveness, reversibilità SOTTOCLASSI DI State machine, marked graph, free-choice net METODI DI ANALISI DELLE Grafo di raggiungibilità e analisi enumerativa Analisi strutturale Analisi per trasformazione e semplificazione TEMPORIZZATE Transition-timed e place-timed Petri nets Il modello generalized stochastic Petri nets (GSPN) 2
Le Reti di Petri sono un modello matematico e grafico, introdotto da Carl Adam Petri nel 1962 Una rete di Petri è un grafo orientato con due tipi di nodi: posti e transizioni i posti (rappresentati con cerchi) corrispondono a condizioni GENERALITÀ SULLE le transizioni (rappresentate con linee o rettangoli) corrispondono ad eventi Una rete di Petri è un grafo bipartito tutti gli archi vanno da un posto a una transizione o da una transizione ad un posto, ma non altrimenti BIPARTIZIONE 3
GENERALITÀ SULLE Per ogni transizione si identificano i posti di ingresso (input places) e i posti di uscita (output places) Gli archi che uniscono posti e transizioni sono pesati la mancanza di una indicazione esplicita del peso, indica un peso unitario p i inp 3 t j INPUT AND OUTPUT PLACES 4
GENERALITÀ SULLE Le reti di Petri, introdotte da Carl Adam Petri per la modellazione di sistemi di comunicazione, possono essere utilizzate in numerosi contesti applicativi, in particolare per rappresentare sistemi che presentano caratteristiche di sequenziamento, concorrenza/parallelismo, nondeterminismo, ciclicità, mutua esclusività e stocasticità (come nel caso dei sistemi di produzione discreta) Essendo un modello grafico, le reti di Petri sono uno strumento che consente di rappresentare in maniera agevole la struttura e la dinamica si sistemi, anche complessi Essendo un modello matematico, le reti di Petri consentono di analizzare, attraverso l applicazione di opportuni metodi, le proprietà strutturali e il comportamento dinamico di un sistema A livello strutturale la rete di Petri è definita dai posti, dalle transizioni e dagli archi A livello comportamentale, la rete di Petri è definita dai token che costituiscono il marking della rete 5
DEFINIZIONE FORMALE DI RETE DI PETRI Una Rete di Petri è una quintupla PN =(P, T, F, W, M 0 ) in cui P = {p 1,...,p n } T = {t 1,...,t m } è un insieme finito di posti è un insieme finito di transizioni F (P T ) [ (T P ) è un insieme di archi orientati W : F!{1, 2,...,} è una funzione di peso M 0 : P!{0, 1, 2,...,} è il marking iniziale Gli insiemi P e T sono insiemi disgiunti, ovvero P \ T = ;. Inoltre, deve essere P [ T 6= ; 6
STRUTTURA DI UNA RETE DI PETRI Una RETE DI PETRI è un insieme: N = P, T, P re, P ost dove: I P è un insieme finito e non vuoto di n = P POSTI I T è un insieme finito e non vuoto di m = T TRANSIZIONI I Pre : P T N + 0 (o funzione di input) è l a funzione di PRE-INCIDENZA I P ost : T P N + 0 (o funzione di output) è l a funzione di POST-INCIDENZA 7
STRUTTURA DI UNA RETE DI PETRI MATRICE DI PRE-INCIDENZA I E una matrice n = P righe e m = T colonne I L elemento (i, j) della matrice di pre-incidenza (i-esima riga e j-esima colonna) è uguale a W (p i,t j ) MATRICE DI POST-INCIDENZA I E una matrice n = P righe e m = T colonne I L elemento (i, j) della matrice di post-incidenza (i-esima riga e j-esima colonna) è uguale a W (t j,p i ) 8
MARKING DI UNA RETE DI PETRI Il MARKING di una rete di Petri è un applicazione di P su N + 0,cioè l assegnazione di un numero intero non negativo (numero di TOKEN) a ciascun posto della rete Una RETE DI PETRI MARCATA è la coppia {N, M 0 } dove N è l a struttura della rete di Petri e M 0 è il suo marking iniziale PN = N, M 0 9
ESEMPIO DI RETE DI PETRI p 1 p 2 t 1 t 2 2 t 3 p 3 p 4 p 5 p 6 p 7 t 4 t 5 t 6 t 7 t 8 p 8 p 9 p 10 t 9 t 10 t 11 p 11 p 12 2 M 0 = [1 2 0 0 0 1 1 0 0 0 0 0] T 10
REGOLA DI FIRING ( TOKEN GAME ) Il marking di una rete di Petri evolve sulla base della seguente regola di esecuzione ( firing ) (TOKEN GAME): 1 Una transizione è eseguibile in uno specifico marking se: I ciascuno dei suoi posti di input contiene almeno un numero di token uguale al peso dell arco che unisce tale posto con la transizione considerata 2 L esecuzione ( firing ) di una transizione eseguibile è un operazione istantanea che: I preleva da ogni posto di input della transizione un numero di token uguale al peso dell arco che unisce tale posto alla transizione considerata I aggiunge a ogni posto di output della transizione un numero di token uguale al peso dell arco che unisce la transizione considerata a tale posto 11
MARKING DI UNA RETE DI PETRI p 1 p 2 p 3 p 1 p 2 p 3 3 2 t 1 Firing of t 1 3 2 t 1 2 2 p 4 p 5 p 4 p 5 Evoluzione del marking in una semplice rete di Petri 12
REGOLA DI FIRING ( TOKEN GAME ) t j 1. Una transizione è abilitata se ciascun posto in ingresso ha un marking w(p i,t j ) 2. Una transizione abilitata può effettuare un firing (può scattare ) o meno 3. Il firing di una transizione t j rimuove da ogni posto in ingresso un numero di unità ( token ) pari a w(p i,t j ) e aggiunge in ogni posto p k in uscita un numero di token pari a w(t j,p k ) p i p i 2 2 t j prima del firing PRIMA del firing t j dopo il firing DOPO il firing FIRING DI UNA TRANSIZIONE 13
ESEMPIO DI RETE DI PETRI p 1 p 2 t 1 t 2 2 t 3 p 3 p 4 p 5 p6 p 7 t 4 t5 t 6 t 7 t 8 p 8 p 9 p 10 t 9 t 10 t 11 p 11 p 12 M 0 = [1 2 0 0 0 1 1 0 0 0 0 0] T Le transizioni eseguibili sono t 1 t 2 t 3 Se eseguo t 1, si raggiunge il marking M 1 = [0 2 1 0 0 0 1 0 0 0 0 0] T, in cui sono eseguibili le transizioni t 3 t 5 Se eseguo t, si raggiunge il marking M 2 = [0 2 0 1 0 1 0 0 0 0 0 0] T 2, in cui è eseguibile la transizione t 6 Se eseguo t, si raggiunge il marking M 3 = [1 0 0 0 1 1 0 0 0 0 0 0] T 3, in cui sono eseguibili le transizioni t 1 t 7 2 14
GENERALITÀ SULLE Una transizione che non ha posti in ingresso è detta source transition una source transition è sempre abilitata e il suo firing non consuma token Una transizione che non ha posti in uscita è detta sink transition il firing di una sink transition non produce token ion SOURCE TRANSITION sin SINK TRANSITION 15
GENERALITÀ SULLE La coppia costituita dal posto p i e dalla transizione t j è un self-loop se DDè sia un posto di input che un posto di output di p i Una rete di Petri priva di self loop è detta pura t j p i t j t j p i SELF LOOP Una rete di Petri in cui siano presenti self-loop può essere sempre trasformata in una rete di Petri equivalente in cui non siano presenti self-loop 16
GENERALITÀ SULLE Una rete di Petri in cui tutti gli archi hanno peso unitario si dice ordinaria Una rete di Petri generica può sempre essere trasformata in una rete di Petri ordinaria La rete di Petri ordinaria ottenuta è però generalmente più complicata della rete di Petri generica originaria Il vantaggio è che è più facile analizzare reti di Petri ordinarie, qualunque struttura esse abbiano, rispetto a reti di Petri generiche t 1 t 2 t 1 t 2 2 p 1 3 t 5 p 3 t 6 p 1 t 7 p 2 t 3 t 4 t 3 t 4 EQUIVALENTI 17
GENERALITÀ SULLE Una rete di Petri in cui ogni posto è caratterizzato da una capacità (finita o infinita) è detta rete di Petri con capacità Nelle reti di Petri con capacità una transizione è abilitata non solo sulla base di condizioni che riguardano il marking dei posti in ingresso, ma anche quello dei posti in uscita Una transizione t j è abilitata se ciascun posto p i in ingresso ha un marking w(p i,t j ) e se ciascun posto p k in uscita ha un marking M(p k ) tale che w(t j,p k )+M(p k ) apple C k, in cui C k rappresenta appunto la capacità di p k Il firing di una transizione non deve causare overflow Una rete di Petri con capacità può essere sempre trasformata in una rete di Petri base equivalente (i cui i posti abbiano capacità infinita) Le possibilità rappresentative fornite dal modello base sono equivalenti a quelle fornite da una rete di Petri con capacità 18
GENERALITÀ SULLE supponiamo che questo posto abbia capacità 6 macchina libera ingresso nella fila di attesa clienti in attesa inizio servizio macchina in servizio è e q u i v a l e n t e a Il numero di token in questo posto è equivalente al numero di posizioni libere nella fila di attesa (la cui capacità è pari a 6) fine servizio EQUIVALENTI 19
CAPACITÀ DI RAPPRESENTAZIONE DELLE Le reti di Petri costituiscono uno strumento modellistico versatile ed efficace per rappresentare e analizzare sistemi complessi Possibilità di rappresentare sistemi né aperti (ovvero con un numero non limitato di clienti) né chiusi (ovvero con un numero costante di clienti), ovvero sistemi in cui sia necessario effettuare un controllo di accesso per quanto riguarda l ingresso nel sistema Ad esempio, nel sistema di seguito rappresentato (costituito da due macchine che eseguono due operazioni in sequenza) si vuole che in un qualsiasi istante non vi siano più di 4 clienti (ma ve ne possono essere anche meno) M 1 M 2 20
CAPACITÀ DI RAPPRESENTAZIONE DELLE ingresso nel sistema fila di attesa per M 1 inizio servizio su M 1 M 1 libera servizio su M 1 numero di posizioni libere nel sistema fine servizio su M 1 fila di attesa per M 2 inizio servizio su M 2 M 2 libera servizio su M 2 fine servizio su M 2 SISTEMA CON CONTROLLO DI ACCESSO 21
CAPACITÀ DI RAPPRESENTAZIONE DELLE Possibilità di rappresentare macchine in grado di servire differenti categorie di clienti Ad esempio, nel sistema di seguito rappresentato vi sono due differenti classi di clienti che utilizzano una stessa risorsa, costituita da tre server equivalenti clienti P 1 clienti P 2 3servitori M 22
CAPACITÀ DI RAPPRESENTAZIONE DELLE ingresso nella fila di attesa dei clienti P 1 fila di attesa dei clienti P 1 numero di server disponibili ingresso nella fila di attesa dei clienti P 2 fila di attesa dei clienti P 2 inizio servizio su clienti P 1 inizio servizio su clienti P 2 servizio su clienti P 1 servizio su clienti P 2 fine servizio su clienti P 1 fine servizio su clienti P 2 SISTEMA IN GRADO DI SERVIRE DUE CLASSI DI CLIENTI 23
CAPACITÀ DI RAPPRESENTAZIONE DELLE t3 t4 p1 p2 t1 t2 p3 p5 p4 p6 t5 t6 MACCHINA SINGLE-SERVER IN GRADO DI SERVIRE DUE CLASSI DI CLIENTI (POLITICA DI SERVIZIO abab...) p2 p1 t7 p3 p4 t3 t4 4 5 p7 t9 t2 t1 p8 2 p9 p10 t8 p5 p6 t5 t6 p11 p12 3 t 10 MACCHINA SINGLE-SERVER IN GRADO DI SERVIRE DUE CLASSI DI CLIENTI (POLITICA DI SERVIZIO aaaaabbbaaaaabbb...) 24
CAPACITÀ DI RAPPRESENTAZIONE DELLE Possibilità di modellare operazioni di assemblaggio e operazioni di disassemblaggio Ad esempio, nel sistema di seguito rappresentato vi è una macchina monoserver che effettua l assemblaggio di due pezzi appartenenti a classi differenti P 1 P 1 + P 2 M P 2 25
CAPACITÀ DI RAPPRESENTAZIONE DELLE fila di attesa di P 1 fila di attesa di P 2 inizio assemblaggio disponibilità della macchina servizio (assemblaggio) fine assemblaggio pezzi assemblati SISTEMA CHE EFFETTUA UN OPERAZIONE DI ASSEMBLAGGIO 26
CAPACITÀ DI RAPPRESENTAZIONE DELLE Possibilità di rappresentare sistemi di trasporto non ideali Ad esempio, un sistema in cui il sistema di trasporto non è ideale perche i tempi di trasporto non sono nulli (ma il sistema di trasporto è supposto con capacità infinita) fine trasporto clienti in fase di trasporto servizio su M 1 servizio su M 2 fine servizio = =iniziotrasporto SISTEMA DI TRASPORTO NON IDEALE 27
CAPACITÀ DI RAPPRESENTAZIONE DELLE Oppure un sistema in cui il sistema di trasporto, oltre ad essere caratterizzato da tempi di trasporto non nulli, ha capacità finita (assumendo però che la localizzazione dei veicoli per il trasporto sia irrilevante quando i veicoli sono vuoti) posti liberi nel sistema di trasporto SISTEMA DI TRASPORTO NON IDEALE A CAPACITÀ FINITA 28
CAPACITÀ DI RAPPRESENTAZIONE DELLE Possibilità di rappresentare set-up M P 1 P 2 inizio set-up set-up P 1 P 2 fine set-up servizio su P 1 M pronta per M pronta per servizio su P servizio su P 1 1 servizio su P 2 fine set-up set-up P 2 P 1 inizio set-up SISTEMA CHE PREVEDE IL SET-UP 29
CAPACITÀ DI RAPPRESENTAZIONE DELLE Possibilità di rappresentare discipline di servizio particolari p t t 1 23 21 t 22 t 24 p 2 p 3 p 4 t 1 p 5 t 2 p 6 p 7 t 3 t 4 t 5 t 6 p 8 p 9 p 10 t 7 p 11 p 12 p 13 t 8 t 9 t 10 t 11 t 12 p 14 p 15 p 16 t 13 p 17 p 18 p 19 t 14 t 15 t 16 t 17 t 18 p 20 p 21 p 22 p 23 p 24 p 25 t 19 t 20 BUFFER DI INGRESSO CON DISCIPLINA DI SERVIZIO LIFO (LAST-IN-FIRST-OUT) 30
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA I posti generalmente rappresentano: risorse (macchine, AGV, posizioni di un magazzino o di un buffer); la presenza di token in tali posti indica la disponibilità della risorsa rappresentata stato di un operazione; la presenza di token in tali posti indica che l operazione è in corso Le transizioni generalmente rappresentano: attività (quando si utilizzano transizioni temporizzate) inizio o fine di attività (quando si utilizzano transizioni immediate) Le seguenti configurazioni, che modellano specifiche caratteristiche di un sistema di produzione discreta, sono alla base della costruzione di modelli a rete di Petri per tale classe di sistemi 31
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA SEQUENZIAMENTO Se un operazione segue un altra operazione, i posti e le transizioni che le rappresentano devono essere messe in cascata per creare una relazione di sequenziamento p 1 t 1 p 2 t 2 p 3 t 3 p 4 32
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA PARALLELISMO e SINCRONIZZAZIONE Se due o più operazioni sono entrambe attivate dallo stesso evento, i posti e le transizioni che le rappresentano formano una struttura parallela che inizia con la stessa transizione Se un operazione per essere eseguita richiede che si siano verificati due o più eventi, la transizione che rappresenta tale operazione è alla fine di una struttura parallela (sincronizzazione) p 2 t 2 t 1 p 1 p 1 t 1 p 3 t 3 t 2 p 2 t 4 p 4 p 4 t 4 t 3 p 3 33
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA CONFLITTO Se solo una tra due o più possibili operazioni può essere eseguita a valle di una certa si ha un conflitto, che viene rappresentato con due o più transizioni che sono output transition dello stesso posto t 1 p 2 t 4 p 1 t 2 p 3 t 5 t 3 p 4 t 6 34
CICLO RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA Se in una sequenza di operazioni, ciascuna operazione e seguita da un altra e l ultima operazioni è seguita dalla prima, i posti e le transizioni che le rappresentano costituiscono una struttura ciclica p 1 t 1 p 2 t 2 p n t n 35
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA MUTUA ESCLUSIVITÀ Due operazioni sono mutuamente esclusive se non possono essere eseguite in contemporanea, in quanto richiedono la stessa risorsa; in questo caso si utilizza un posto condiviso (contenente un solo token) connesso alle transizioni che rappresentano le operazioni mutuamente esclusive t 1 p 2 t 2 p 1 p 3 t 3 t 4 36
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA Le risorse possono essere dedicate o condivise e vengono rappresentate da posti Nel primo caso vengono rappresentate con un posto avente un solo arco in ingresso e un solo arco in uscita, mentre nel secondo caso con un posto avente più archi in ingresso e più archi in uscita Un token in un posto che rappresenta una risorsa (sia dedicata che condivisa) significa che la risorsa è disponibile; per risorse multiserver si hanno tanti token quanti sono il numero di server disponibili Una condizione è rappresentata attraverso un posto Un token in un posto che rappresenta una condizione significa che la condizione è verificata 37
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA L inizio e la fine di una operazione sono rappresentati attraverso una transizione L inizio di un operazione richiede spesso che siano verificate un certo numero di condizioni e che siano disponibili un certo numero di risorse; in questo caso la transizione che rappresenta l inizio dell operazione avrà un numero di archi in ingresso pari alla somma del numero di condizioni che devono essere verificate e del numero di risorse che devono essere disponibili La fine di un operazione rilascia un certo numero di risorse e cambia lo stato di un certo numero di condizioni; in questo caso la transizione che rappresenta la fine dell operazione avrà un numero di archi in uscita pari alla somma del numero di risorse che vengono rilasciate e del numero di condizioni il cui stato viene cambiato 38
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA PROCEDURA DI COSTRUZIONE DELLA RETE DI PETRI 1. Identificazione di tutte le operazioni e di tutte le risorse del sistema A partire dalla descrizione non formalizzata del sistema, si devono individuare tutti gli eventi, operazioni, processi, risorse, condizioni, percorsi di trasporto, ecc., che caratterizzano il sistema 2. Identificazione di tutte le relazioni Tutte le connessioni tra operazioni e processi devono essere prese in considerazione, insieme alle politiche di routing nel caso di operazioni eseguibili su più risorse Le risorse devono essere classificate tra condivise e non condivise e, nel caso di risorse condivise, devono essere definite le politiche di allocazione delle risorse sulle varie operazioni 39
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA 3. Costruzione della rete di Petri In questa fase vengono definiti i posti e le transizioni che rappresentano gli eventi, le operazioni, i processi, ecc. definiti al punto 1 I posti e le transizioni vengono posizionati secondo le relazioni identificate al punto 2 (si noti che potrebbe essere necessario aggiungere posti e transizioni che non hanno uno specifico significato fisico ma servono per evitare connessioni posto-posto e transizione-transizione) Per ciascuna transizione è necessario aggiungere un arco in ingresso da un posto se il processo rappresentato dalla transizione richiede la risorsa o il completamento dell operazione rappresentata dal posto Per ciascuna transizione è necessario aggiungere un arco in uscita verso un posto se l esecuzione del processo rappresentato dalla transizione rilascia la risorsa o inizia l esecuzione dell operazione rappresentata dal posto 40
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA In questa fase è necessario definire lo stato iniziale del sistema e mettere di conseguenza il numero corretto di token in ogni posto (marking iniziale) In presenza di transizioni temporizzate è necessario associare, sulla base delle caratteristiche del sistema, l opportuna temporizzazione di esse 4. Modifica della rete di Petri L ultimo passo consiste nella verifica, tramite l esecuzione del token game, del corretto funzionamento della rete di Petri Se il comportamento della rete di Petri è coerente con le caratteristiche del sistema di produzione discreta rappresentato la procedura si conclude, altrimenti si modifica la rete fino al raggiungimento del comportamento desiderato 41
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA macchina A materie prime di tipo 1 materie prime di tipo 2 op_1_a trasporto op_1_b op_2_b trasporto op_2_a macchina B prodotti finiti di tipo 1 prodotti finiti di tipo 2 materiali di tipo 1 materiali di tipo 2 42
RAPPRESENTAZIONE DI SISTEMI DI PRODUZIONE DISCRETA t 1 t 2 p 1 p 2 p 4 p 7 p 3 p 5 p 6 p 8 p 9 p 17 p 10 p 11 p 12 p 13 p 14 p 15 p 18 p 16 t 3 t 4 t 5 t 6 t 7 t 8 p 19 p 20 p 21 p 22 p 23 p 24 p 25 p 26 p 28 t 9 t 10 p 31 p 27 p 29 p 30 p 32 p 33 p 34 t 11 t 12 43
ESEMPI APPLICATIVI MACCHINE A STATI FINITI 15 cents candy 5 cents 5 cents 10 cents 15 cents 5 cents 0 cents 5 cents 5 cents 20 cents 10 cents 10 cents 10 cents 20 cents candy 44
ESEMPI APPLICATIVI ELABORAZIONE DI DATI a copy a add t 1 a+b divide a+b x= a-b b if a-b!=0 copy b t 2 substract a-b if a-b=0 x not defined 45
PROTOCOLLI DI COMUNICAZIONE ESEMPI APPLICATIVI ready to send message sending buffer full ready to receive message receiving process 1 wait for ack message received process 2 ack receiving ack sending ack received buffer full ack sent 46
SISTEMI DI TRAFFICO URBANO ESEMPI APPLICATIVI t 7 R 1(1) R R 8(1) 3(1) S 1,1 R 6(1) R 2(1) S S 1,2 R 7(1) S 1,3 1,4 R 4(1) R 5(1) N W E S t 1 p 9 p 1 t 17 p 15 p 17 t 8 p 8 t 12 p 13 T 16 p 16 T 13 p 14 t 14 t 15 t 30 p 12 t 29 p 29 t 32 T 28 t 25 p 24 p 7 p 32 T 31 p 28 p 31 t 24 t 11 p 30 p 6 t 6 p 11 t 9 p 21 T 18 p 18 p 19 t 20 T 23 t 27 t 9 t 11 t 10 t 12 t 2 p 2 T 21 t 19 p 26 p 27 p 23 T 26 p 5 t 5 p 37 p 38 p 22 t 10 p 20 t 22 p 4 p 25 p 33 t 33 p 34 t 34 p 35 t 35 p 36 t 36 p 3 p 10 t 4 t 3 47
ESEMPI APPLICATIVI Possibili significati di posti e transizioni nei vari esempi applicativi visti Posti di Input Transizioni Posti di Output Condizioni in ingresso Evento Condizioni in uscita Dati di input Step computazionale Dati in uscita Segnale di ingresso Processo Segnale di uscita Risorse necessarie Task o job Risorse disponibili Condizioni Implicazione logica Conclusioni Buffer Processo Buffer 48
EQUAZIONI DI STATO DELLE Le condizioni di firing e l evoluzione del marking possono essere rappresentate in termini matematici facendo uso del vettore di marking e delle matrici di pre- e post-incidenza Siano: Pre(t j ) Colonna della matrice, relativa alla transizione Post(t j ) Colonna della matrice Post, relativa alla transizione t j C(t j ) Colonna della matrice Pre C, relativa alla transizione t j t j essendo C = Post Pre la matrice di incidenza della rete di Petri Una transizione è eseguibile nel marking se e solo se t j M h M h Pre(t j ) 49
EQUAZIONI DI STATO DELLE Se il marking M h+1 è raggiungibile dal markingxxxx ( M h [t j im h+1 ) M h attraverso l esecuzione della transizionexx t j (che si suppone, ovviamente, eseguibile in ) allora M h M h+1 = M h + Post(t j ) Pre(t j )=M h + C(t j ) Se la rete di Petri è pura, si ha M h [t j im h+1 () M h+1 = M h + C e tj e tj dove è il vettore caratteristico di firing (vettore m-dimensionale, che vale 1 in corrispondenza della posizione relativa a t j e 0 nelle restanti posizioni) 50
EQUAZIONI DI STATO DELLE Quella appena vista è una equazione di stato M h M h+1 e tj Stato corrente Prossimo stato Ingresso EQUAZIONE FONDAMENTALE DELLE Si consideri come stato di partenza il marking iniziale M 0 e come stato di arrivo un generico marking, raggiungibile dal marking iniziale Sia = t j1,t j2,t j3,... la sequenza di transizioni il cui firing consente di portare il marking da a ( sequenza di firing ) dove 0 è un vettore m-dimensionale in cui nella posizione relativa a X vi è il numero di volte che compare nella sequenza di firing t j M 0 M k M k M 0 [ im k =) M k = M 0 + C t j 51
EQUAZIONI DI STATO DELLE Nell equazione fondamentale delle reti di Petri, la freccia che esprime l implicazione è solo verso destra ( =) ) Questo aspetto, molto importante, fa sì che una soluzione non-negativa intera dell equazione M k = M 0 + C 0 non implica che esista una sequenza di firing che consenta di raggiungere il marking M k a partire dal marking M 0 Una soluzione dell equazione fondamentale delle reti di Petri a cui non corrisponde una sequenza di firing ammissibile è detta soluzione spuria L esistenza delle soluzioni spurie è uno dei problemi principali che impediscono l utilizzo di tecniche di algebra lineare per analizzare il comportamento delle reti di Petri 52
PROPRIETÀ DELLE Alcune delle proprietà di un sistema dinamico possono essere analizzate in maniera e cace attraverso lo studio delle proprietà della rete di Petri che modella il sistema in esame Le proprietà di una rete di Petri sono: I Raggiungibilità (Reachability) I Limitatezza (Boundedness e Safeness) I Conservatività (Conservativeness) I Sopravvivenza (Liveness) I Reversibilità (Reversibility) Tutte queste proprietà dipendono dal marking iniziale della rete (E quindi necessario verificare una proprietà per tutti i possibili marking della rete) 53
RAGGIUNGIBILITÀ Definizione Un marking M k è raggiungibile dal marking iniziale M 0 se esiste una sequenza di esecuzioni di transizioni che trasforma M 0 in M k Problema della Raggiungibilità Data una rete di Petri {N, M 0 } e un marking M k, M k è raggiungibile da M 0? : M 0 [ M k? E stato dimostrato che il problema della raggiungibilità è risolubile (con algoritmi di complessità almeno esponenziale) 54
BOUNDEDNESS Definizione Una rete di Petri {N, M 0 } è k-limitata (k-bounded) se il numero di token in ciascun posto della rete è uguale o minore del numero intero positivo k per ogni marking raggiungibile da M 0,cioè MM(p k i ) apple k per ciascun posto p i e per ogni marking M k raggiungibile da M 0 (incluso M 0 ) La proprietà di limitatezza può essere verificata attraverso l uso dei P-vettori 55
SAFENESS Definizione Una rete di Petri {N, M 0 } è sicura (safe) seè 1-bounded Dal momento che, in un sistema modellato tramite reti di Petri, lo stato è rappresentato dal marking dei posti, le proprietà di boundedness e safeness implicano uno spazio degli stati finito (che è un ottima caratteristica) 56
CONSERVATIVITÀ Definizione Una rete di Petri {N, M 0 } è strettamente conservativa (strictly conservative) se, per ogni marking M raggiungibile da M 0, il numero di token nella rete non varia, cioè Proposizione mn i=1 M(p i )= mn i=1 M 0 (p i ) La proprietà di stretta conservatività può essere facilmente verificata La rete di Petri {N, M 0 } è strettamente conservativa se per ogni T vale t j mn i=1 Pre(p i,t j )= mn i=1 P ost(p i,t j ) 57
CONSERVATIVITÀ Definizione Una rete di Petri {N, M 0 } è conservativa (conservative) se esiste un vettore di interi positivi x N + tale che, per ogni marking M raggiungibile da M 0, vale x T M = x T M 0 cioè il numero di token pesato tramite x non varia Proposizione Se una rete di Petri {N, M 0 } è conservativa allora essa è limitata La proprietà di conservatività può essere verificata attraverso l uso dei P-vettori 58
Definizione LIVENESS Una transizione t j è viva (live) se è potenzialmente eseguibile in tutti i marking raggiungibili Definizione Una transizione t j è potenzialmente eseguibile in uno specifico marking M se esiste una sequenza di esecuzioni che conduce a un marking M 0 in cui t j è eseguibile Una rete di Petri {N, M 0 } è viva (live) se, indipendentemente dal marking raggiunto da M 0, è potenzialmente possibile eseguire una qualsiasi transizione della rete di Petri attraverso una opportuna sequenza di esecuzioni (Una rete di Petri {N,M 0 } è viva se tutte le transizioni della rete di Petri sono vive) La proprietà di liveness è strettamente connessa all assenza di possibilità di deadlock nel sistema rappresentato tramite la rete di Petri 59
Livelli di Liveness di una transizione LIVENESS I L0-viva (morta dead) set j non può essere eseguita in ogni sequenza di esecuzioni ottenibile da M 0 I L1-viva (potenzialmente eseguibile) se t j può essere eseguita almeno una volta in qualche sequenza di esecuzioni ottenibile da M 0 I L2-viva se, dato un numero intero positivo k, t j può essere eseguita almeno k volte in qualche sequenza di esecuzioni ottenibile da M 0 I L3-viva se t j può essere eseguita un numero indefinito volte in qualche sequenza di esecuzioni ottenibile da M 0 I L4-viva se t j è L 1-viva in tutti i marking M 0 ottenibili da M 0 t j L4 live =) t j L3 live =) t j L2 live =) t j L1 live Definizione Una rete di Petri {N,M 0 } è Lk-viva (Lk-live) se tutte le transizioni della rete di Petri sono Lk-vive, con k =0, 1, 2, 3, 4 60
REVERSIBILITÀ Definizione Una rete di Petri {N, M 0 } è reversibile (reversible) se, in ogni marking M k raggiungibile dal marking iniziale M 0, M 0 è raggiungibile da M k (è sempre possibile tornare indietro al marking iniziale) Definizione Un marking M è un home state se, in ogni marking M k raggiungibile dal marking iniziale M 0, M è raggiungibile da M k (è sempre possibile andare in tale marking) La proprietà di reversibilità può essere verificata attraverso l uso dei T-vettori 61
PERSISTENZA Definizione Una rete di Petri {N, M 0 } è detta persistente se, per ogni coppia di transizioni abilitate e per ogni possibile marking M k raggiungibile dal marking iniziale, il firing di una transizione non disabilita l altra M 0 p 1 p 2 t 1 t 2 RETE DI PETRI NON PERSISTENTE (Il firing di disabilita ) t 1 t 2 62
SIGNIFICATO DELLE PROPRIETÀ STRUTTURALI Le proprietà delle reti di Petri che hanno un importanza particolare nell analisi e nella gestione dei sistemi di produzione discreta sono la boundedness/safeness, la liveness e la reversibilità La boundedness e la safeness implicano l assenza di overflow In particolare, per quanto riguarda i posti che rappresentano buffer o magazzini di sistemi di produzione discreta, la boundedness e la safeness garantiscono che il numero di pezzi in attesa non aumenti all infinito La liveness implica l assenza di deadlock Questa proprietà garantisce quindi che la produzione possa proseguire in maniera corretta e che tutti i processi possano avere luogo La reversibilità implica un comportamento ciclico del sistema Questa proprietà è molto importante nei sistemi di produzione discreta in quanto è alla base del cosiddetto error recovery : se il sistema ha comportamenti indesiderati, se è reversibile allora è possibile ritornare allo stato iniziale (che si suppone essere un buono stato) e ricominciare a produrre come pianificato 63
ESEMPI DI PROPRIETÀ STRUTTURALI p 2 t 3 t 1 p 3 p 1 t 2 p 4 t 4 Bounded? Live? Reversibile? NO NO NO ( t 1 è la transizione dead p 1 è il posto unbounded) 64
ESEMPI DI PROPRIETÀ STRUTTURALI t 3 p 4 p 3 t 1 p 5 t 2 t 4 p 2 p 1 t 5 Bounded? Live? Reversibile? NO NO SI ( t 1 è la transizione dead p 1 è il posto unbounded) 65
ESEMPI DI PROPRIETÀ STRUTTURALI t 1 t 4 p p 3 t 3 p 5 1 p 2 t 2 p 4 Bounded? Live? Reversibile? NO SI NO ( p 2 è il posto unbounded) 66
ESEMPI DI PROPRIETÀ STRUTTURALI t 2 p 4 p 1 p 2 t 3 t 4 t 1 p 3 Bounded? Live? Reversibile? SI NO NO ( t 1, t 2, t 3 e t 4 sono transizioni non L4-live) 67
ESEMPI DI PROPRIETÀ STRUTTURALI p 3 p 5 t 1 t 2 t 3 t 4 p 2 p 1 p 4 Bounded? Live? Reversibile? NO SI SI ( p 1 è il posto unbounded) 68
ESEMPI DI PROPRIETÀ STRUTTURALI p 1 t 2 t 3 p 2 p 3 t 4 t 1 t 5 Bounded? Live? Reversibile? SI NO SI ( t 1 è la transizione dead) 69
ESEMPI DI PROPRIETÀ STRUTTURALI p 1 t 1 p 2 p 4 t 3 t 4 p 3 t 2 p 5 Bounded? Live? Reversibile? SI SI NO 70
ESEMPI DI PROPRIETÀ STRUTTURALI p 1 t 1 p 2 t 2 Bounded? Live? Reversibile? SI SI SI 71
CLASSIFICAZIONE DELLE E possibile classificare le reti di Petri sulla base di specifiche proprietà strutturali A tale proposito si consideri la seguente notazione t j p i t j t p p i t j p i p i p 1 p 2 p k {p 1 2 i,p k } 72
CLASSIFICAZIONE DELLE STATE MACHINE (SM) Una state machine è una rete di Petri ordinaria tale che t j =1 [ t j =1 8 t j 2 T VALIDO NON VALIDO Una state machine è strettamente conservativa, ovvero il numero di token è costante; una state machine, quindi, è sempre una rete bounded Le state machine consentono di modellare conflitti e decisioni 73
CLASSIFICAZIONE DELLE MARKED GRAPH (MG) Un marked graph è una rete di Petri ordinaria tale che p i =1 [ p i =1 8 p i 2 P VALIDO NON VALIDO In un marked graph il numero complessivo di token nella rete non si conserva (si conserva però il numero di token all interno di ogni circuito orientato della rete) Le state machine sono reti decision-free 74
CLASSIFICAZIONE DELLE Un circuito orientato è una sequenza t j1 t j2 t j3... t jk di transizioni distinte tale che, per ogni coppia di transizioni consecutive tjr e t jr+1 (con r =1,...,k 1 ) c è un posto p ir tale che p ir 2 t jr e p ir 2 t jr+1, e c è un posto p ik tale che p ik 2 t jk e p ik 2 t j1 Un circuito orientato è in pratica un percorso che porta da una transizione alla stessa transizione (senza mai ripassare da una transizione già visitata) ESEMPIO DI MARKED GRAPH (sono presenti 3 circuiti orientati) 75
RETI FREE-CHOICE (FC) CLASSIFICAZIONE DELLE Una rete free-choice è una rete di Petri ordinaria tale che o equivalentemente ovvero 8 p i 2 P : p i > 1 =) t j =1 8 t j 2 p i p i \ p k 6= ; =) p i = p k =1 8 p i,p k 2 P se due (o più) transizioni condividono un posto di ingresso allora esso è l unico posto di ingresso per tali transizioni se una transizione ha due (o più) posti di ingresso allora essa è l unica transizione di uscita per tali posti 76
CLASSIFICAZIONE DELLE VALIDO NON VALIDO In una rete free-choice, le transizioni a valle di un conflitto sono o tutte simultaneamente eseguibili o nessuna di esse; questo consente di scegliere liberamente quale transizione eseguire, indipendentemente dalla presenza di altri token nella rete 77
RETI EXTENDED FREE-CHOICE (EFC) CLASSIFICAZIONE DELLE Una rete extended free-choice è una rete di Petri ordinaria tale che p i \ p k 6= ; =) p i = p k 8 p i,p k 2 P RETI ASYMMETRIC-CHOICE (AC) Una rete asymmetric-choice è una rete di Petri ordinaria tale che p i \ p k 6= ; =) p i p k _ p k p i 8 p i,p k 2 P p 1i p 2k p 1i p 2k p 1i p 2k p 1i p 2k FC EFC non FC AC non EFC non AC 78
CLASSIFICAZIONE DELLE Insieme complessivo delle reti di Petri ordinarie SM MG FC EFC AC PN ordinarie DIAGRAMMA DI EULERO-VENN 79
Analisi enumerativa METODI DI ANALISI DELLE metodologia basata sulla costruzione del grafo di raggiungibilità (tramite il quale si potrà concludere su determinate proprietà della rete di Petri) Analisi per trasformazione metodologia basata sull applicazione di regole che semplificano la struttura della rete di Petri senza alterarne le proprietà da analizzare; in questo modo si potrà analizzare una rete di Petri più semplice ma equivalente Analisi strutturale metodologia basata su tecniche di algebra lineare, che fanno uso della matrice di incidenza e dell equazione di stato della rete di Petri, o su tecniche di analisi della struttura a grafo bipartito della rete di Petri Analisi per simulazione metodologia basata sull esecuzione del token game; come per ogni tecnica basata sulla simulazione non fornisce risultati esatti e non possono essere formalmente provate certe caratteristiche del sistema la simulazione viene soprattutto usata per comprendere il funzionamento del sistema rappresentato dalla rete di Petri 80
GRAFO DI RAGGIUNGIBILITÀ DEFINIZIONE Il grafo di raggiungibilità di una rete di Petri (N, M 0 ) è il grafo R(N, M 0 ) in cui ciascun nodo rappresenta un marking raggiungibile da M 0 e ciascun arco rappresenta il firing di una transizione. R(N, M 0 )={M k : 9 : M 0 [ im k } Nel grafo di raggiungibilità esiste un arco etichettato da t j che parte dal nodo che rappresenta il marking M i e arriva nel nodo che rappresenta il marking M h se e solo se M h è raggiungibile da M i attraverso il firing della transizione t j, cioè se M i [t j im h Il grafo di raggiungibilità può essere finito o infinito In presenza di un grafo di raggiungibilità infinito è preferibile costruire il grafo di copertura 81
GRAFO DI RAGGIUNGIBILITÀ 200 t 2 t 1 t 3 110 t 2 p 1 t 2 101 020 t 2 t 1 011 t 3 t 3 100 002 p 2 p 3 t 3 t 2 010 t 3 001 E evidente, dall analisi del grafo di raggiungibilità, come la rete di Petri in figura sia bounded, non live e non reversibile 82
GRAFO DI RAGGIUNGIBILITÀ t 1 100 t 3 t 3 p 2 t 1 p 1 t 0 001 110 t 2 t 1 t 2 t 1 t 3 011 120 t 3 t 2 p 3 021 130 t 2 t 1 t 3 031 t 2 E evidente, dall analisi del grafo di raggiungibilità e del grafo di copertura, come la rete di Petri in figura sia unbounded, non live e non reversibile 83
GRAFO DI RAGGIUNGIBILITÀ t 3 p 1 t 0 1 ω 0 t 3 p 2 t 1 t 1 t 2 p 3 t 2 0 ω 1 GRAFO DI COPERTURA Un analisi più precisa del grafo di raggiungibilità e del grafo di copertura consente di stabilire che: t 0 t 1 t 2 t 3 è una transizione L0-live è una transizione L1-live è una transizione L2-live è una transizione L3-live 84
ANALISI ENUMERATIVA Se la rete di Petri è bounded allora il grafo di raggiungibilità è finito e le proprietà delle reti di Petri possono essere verificate agevolmente. Ad esempio: Un marking sarà raggiungibile se compare nel grafo di raggiungibilità La rete è k-limitata se il numero di token in ogni posto di ciascun marking del grafo di raggiungibilità è minore o uguale a k Una transizione è live se è possibile raggiungere, da ogni nodo del grafo di raggiungibilità, un arco etichettato da tale transizione La rete di Petri è reversibile se, da ogni nodo del grafo di raggiungibilità, è possibile raggiungere il nodo che rappresenta il marking iniziale La maggiore controindicazione nell utilizzo dell analisi enumerativa è l elevata complessità computazionale per la costruzione del grafo (state explosion problem) Dal punto di vista pratico, è impossibile costruire il grafo di raggiungibilità se non per reti di Petri con un numero di posti limitato e con un marking iniziale che prevede un limitato numero di token 85
ANALISI PER TRASFORMAZIONE DEFINIZIONE Data una rete di Petri (N, M 0 ) per la quale è necessario provare un insieme di proprietà, si trasforma essa in una rete di Petri (N 0,M 0 0 ) tale che 1. (N 0,M 0 0 ) soddisfa se e solo se (N, M 0) le soddisfa (cioè la trasformazione preserva ) 2. è più semplice dimostrare le proprietà facendo uso di (N 0,M 0 0 ) rispetto all utilizzare (N, M 0 ) Esistono un insieme di regole di riduzione che garantiscono quanto stabilito dalla precedente definizione Le regole di riduzione possono essere applicate iterativamente fino a quando si ottiene una rete di Petri non riducibile Una volta ottenuta una rete di Petri non riducibile (più semplice di quella di partenza) la si analizza con una delle altre tecniche di analisi 86
REGOLE DI RIDUZIONE FUSIONE DI POSTI IN SERIE FUSIONE DI TRANSIZIONI IN SERIE FUSIONE DI POSTI IN PARALLELO FUSIONE DI TRANSIZIONI IN PARALLELO ELIMINAZIONE DI AUTOCICLI CON POSTI ELIMINAZIONE DI AUTOCICLI CON TRANSIZIONI 87
ANALISI STRUTTURALE Tecnica basata sulla struttura della rete di Petri (il marking iniziale è considerato come parametro e pertanto le proprietà che vengono verificate valgono per ogni possibile marking iniziale) Esistono principalmente due tipologie di tecniche di analisi strutturale: 1. Tecniche di algebra lineare e di programmazione lineare, basate sull equazione di stato delle reti di Petri Per certe tipologie di proprietà (boundedness, conservatività, reversibilità), questa prima classe di metodologie fornisce il risultato in un tempo minore rispetto alla tecnica di analisi enumerativa 2. Tecniche di analisi di grafi, basate sulla considerazione della rete di Petri come grafo orientato bipartito Questa seconda classe di metodologie è in genere applicabile solamente in relazione a specifiche classi di reti di Petri ordinarie (state machine, marked graph, reti free-choice) 88
P-VETTORI Le proprietà di limitatezza (boundedness) e di conservatività (conservativeness) possono essere verificate attraverso l uso dei P-vettori Definizione Data la struttura N di una rete di Petri con mn posti e mn transizioni, sia C la sua matrice di incidenza. Un vettore x N m n e tale che x 0 (cioè un vettore non nullo di interi non negativi con tante componenti quanti sono i posti della rete) è detto: I P-vettore invariante (o P-invariante) sex T C =0 I P-vettore crescente se x T C 0 I P-vettore decrescente se x T C 0 Si osservi che un P-invariante è un caso particolare di P-vettore crescente e di P-vettore decrescente 89
BOUNDEDNESS STRUTTURALE La limitatezza strutturale implica la limitatezza per ogni marking iniziale Definizione Sia N la struttura di una rete di Petri. Un posto p i P è strutturalmente limitato se esso è limitato in {N, M 0 } per ogni marking iniziale M 0 N è strutturalmente limitata se ogni suo posto è strutturalmente limitato, cioè se {N, M 0 } è limitata per ogni marking iniziale M 0 Proposizione Sia N la struttura di una rete di Petri e p i P un suo posto. 1 Il posto p i è strutturalmente limitato se e solo se esiste un P-vettore decrescente x con x i > 0 2 N è strutturalmente limitata se e solo se esiste un P-vettore decrescente di interi positivi x N n + 90
CONSERVATIVITÀ STRUTTURALE Definizione Sia N la struttura di una rete di Petri. N è strutturalmente strettamente conservativa se {N, M 0 } è strettamente conservativa per ogni marking iniziale M 0 N è strutturalmente conservativa se {N, M 0 } è conservativa per ogni marking iniziale M 0 Proposizione Sia N la struttura di una rete di Petri. 1 N è strutturalmente strettamente conservativa se e solo se il vettore 1 m n è un P-invariante 2 N è strutturalmente conservativa se e solo se esiste un P- invariante di interi positivi x N m n + 91
PROPRIETÀ PER LE STATE MACHINE TEOREMA Una state machine (N, M 0 ) è live se e solo se N è fortemente connessa e include almeno un token M 0 TEOREMA Una state machine (N, M 0 ) fortemente connessa è sempre k-bounded, essendo k il numero di token presenti nel marking iniziale M 0 Una rete di Petri è fortemente connessa se esiste un percorso orientato da ciascun nodo a ciascun altro nodo dell insieme P [ T 92
PROPRIETÀ PER I MARKED GRAPH TEOREMA Un marked graph (N, M 0 ), in cui ogni transizione appartiene ad un circuito orientato, è live se e solo se nel marking M 0 vi è almeno un token in ogni circuito orientato in N TEOREMA Un marked graph (N, M 0 ) live è safe se e solo se ciascun posto appartiene ad un circuito orientato e un solo token è presente in in ogni circuito TEOREMA Un marked-graph (N, M 0 ), in cui ogni posto appartiene ad un circuito orientato, è k-bounded, essendo k = max circuito 2N M 0 numero di token pesenti in M 0 nel circuito La dimostrazione di questi teoremi si basa sul fatto che in un marked graph il numero di token in un circuito orientato, si conserva 93
TEMPORIZZATE Le reti di Petri temporizzate consentono di rappresentare il funzionamento nel tempo di un sistema Il modello visto finora era sostanzialmente un modello logico che consentiva di analizzare la sequenza di eventi che caratterizzano un sistema ma non specificava la durata dei processi L introduzione degli aspetti temporali è fondamentale per effettuare un analisi prestazionale del sistema Esistono due modelli di reti di Petri temporizzate: 1. reti di Petri transition-timed Gli aspetti temporali sono legati al firing delle transizioni 2. reti di Petri place-timed Gli aspetti temporali sono legati alla permanenza dei token nei posti La presenza delle temporizzazioni rende estremamente complicata l analisi dei sistemi rappresentati 94
TRANSITION-TIMED La temporizzazione associata alle transizioni viene definita introducendo il firing time Esistono due tipologie di transizioni: 1. transizioni immediate, caratterizzate da un firing time nullo Con tale tipologia di transizioni si continuano a modellare gli eventi istantanei che caratterizzano il sistema rappresentato dalla rete di Petri 2. transizioni temporizzate, caratterizzate da un firing time positivo Con tale tipologia di transizioni si modellano i processi che caratterizzano il sistema rappresentato dalla rete di Petri Nelle reti di Petri transition-timed è necessario definire la modalità con cui avviene il firing, quando sono coinvolte transizioni temporizzate E necessario inoltre stabilire la modalità di risoluzione dei conflitti, soprattutto quando sono coinvolte sia transizioni immediate che transizioni temporizzate 95
TRANSITION-TIMED DEFINIZIONE Una rete di Petri transition-timed è l insieme (N, M 0,FT) dove: N è la struttura della rete definita dall insieme (P, T, F, W ) o, equivalentemente, dall insieme (P, T, Pre, Post) M 0 è il marking iniziale FT è una funzione che associa un numero reale non negativo a ogni transizione della rete: FT : T! R + z j = FT(t j ) è il firing time della transizione t j Nelle reti di Petri transition-timed, le transizioni immediate sono generalmente rappresentate con un segmento mentre le transizioni temporizzate sono rappresentate con un rettangolo il firing time può essere deterministico o stocastico 96
TRANSITION-TIMED FIRING A 2 FASI Il firing di una transizione temporizzata t j non è più un evento istantaneo ma è un processo che dura unità di tempo, secondo la seguente regola: 1. quando il processo di firing ha inizio, i Pre(pi,tj) token che, nel posto p i di ingresso alla transizione t j hanno abilitato il firing, diventano non disponibili 2. quando il processo di firing termina (cioè dopo unità di tempo dall inizio del firing), Post(t j,p k ) token vengono aggiunti a ciascun posto di uscita dalla transizione p k z j t j z j VANTAGGI: nelle reti di Petri in cui la struttura lo consente (ad esempio nelle state machine), è garantita la conservazione dei token SVANTAGGI: è necessario gestire la presenza di token di due differenti tipologie ( disponibili e non disponibili ) 97
TRANSITION-TIMED FIRING A 3 FASI Il firing di una transizione temporizzata t j non è più un evento istantaneo ma è un processo che dura unità di tempo, secondo la seguente regola: 1. quando il processo di firing ha inizio, Pre(pi,tj) token vengono rimossi da ciascun posto di ingresso alla transizione 2. durante le successive unità di tempo i token sono congelati all interno della transizione 3. quando il processo di firing termina (cioè dopo unità di tempo dall inizio del firing), Post(t j,p k ) token vengono aggiunti a ciascun posto di uscita dalla transizione p k z j z j p i t j t j z j t j VANTAGGI: i token sono di una sola tipologia e sono sempre autorizzati ad abilitare il firing delle transizioni SVANTAGGI: il numero di token non si conserva, anche in reti di Petri la cui struttura implicherebbe la conservazione dei token 98
TRANSITION-TIMED In presenta di transizioni temporizzate abilitate contemporaneamente (siano esse in conflitto o meno) è necessario definire una regola per stabilire quale delle transizioni effettua il firing; si può utilizzare la seguente regola FIRING RACE 1. si realizzano (nel senso della teoria della probabilità) i tempi di firing delle transizioni temporizzate abilitate 2. viene effettuato il firing della transizione abilitata che ha realizzato il tempo di firing più basso La firing race viene utilizzata nel modello GSPN (Generalized Stochastic Petri Nets), in cui il firing time di tutte le transizioni temporizzate è una variabile aleatoria distribuita in modo esponenziale 99
PLACE-TIMED La temporizzazione associata ai posti viene definita introducendo il minimum holding time (o minimum residence time) Un token che entra in un posto, prima di essere utilizzabile (cioè prima di potere abilitare il firing di una transizione), deve permanere nel posto almeno un tempo pari al minimum holding time del posto Un token può essere in uno dei due seguenti stati: ready o not ready Quando un token entra in un posto, il suo stato viene messo a not ready ; dopo un tempo pari al minimum holding time il suo stato viene portato a ready Il minimum holding time può ovviamente essere nullo: in questo caso, un token quando entra in un posto è immediatamente disponibile (come nelle reti di Petri non temporizzate) In un posto, nello stesso istante, possono esserci sia token ready che token not ready 100
PLACE-TIMED DEFINIZIONE Una rete di Petri place-timed è l insieme (N, M 0,HT) dove: N è la struttura della rete definita dall insieme (P, T, F, W ) o, equivalentemente, dall insieme (P, T, Pre, Post) M 0 è il marking iniziale HT è una funzione che associa un numero reale non negativo a ogni posto della rete: HT : P! R + h i = HT(p i ) è il minimum holding time di un token nel posto p i Non esiste una convenzione grafica universalmente riconosciuta per i posti che hanno un minimum holding time positivo 101
DEFINIZIONE GENERALIZED STOCHASTIC PETRI NETS (GSPN) Una Generalized Stochastic Petri Net è l insieme (P, T, F, IN, W, M 0,FT; S) dove: P è l insieme dei posti T è l insieme delle transizioni, partizionato in: TT = insieme delle transizioni temporizzate IT = insieme delle transizioni immediate con T = TT [ IT e TT \ IT = ; F (P T ) [ (T P ) transizioni e viceversa) è un insieme di archi orientati (da posti a IN (P T ) è un insieme di archi inibitori (solo da posti a transizioni) 102
GENERALIZED STOCHASTIC PETRI NETS (GSPN) W : F!{1, 2,...,} orientati in F è una funzione di peso associata agli archi M 0 è il marking iniziale FT = {FT j, t j 2 TT} è un insieme di firing rate associato alle transizioni temporizzate FT j in generale non è un parametro, ma una funzione del marking M n 2R(N, M 0 ), ed esprime il firing rate di t j nel marking M n (nel quale, evidentemente, si suppone che sia abilitata) t j S è un insieme di stochastic switches (interruttori stocastici) Un interruttore stocastico è una distribuzione discreta di probabilità che, in un dato marking M n in cui siano abilitate soltanto transizioni immediate, fornisce la probabilità di scatto delle diverse transizioni abilitate 103
GENERALIZED STOCHASTIC PETRI NETS (GSPN) ARCHI INIBITORI Un arco inibitore abilita una transizione se il suo marking è nullo E pertanto necessario modificare la regola di abilitazione delle transizioni Una transizione t j è abilitata in un certo marking se: p i tj 2 F 1. ciascun posto in ingresso connesso a da un arco (cioè da un arco normale ) ha un numero di token w(p i,t j ) 2. ciascun posto p i in ingresso connesso a t j da un arco 2 IN (cioè da un arco inibitore ) non ha alcun token t j t j t j TRANSIZIONE ABILITATA TRANSIZIONE NON ABILITATA TRANSIZIONE NON ABILITATA 104
PROBABILITÀ DI FIRING GENERALIZED STOCHASTIC PETRI NETS (GSPN) Le transizioni temporizzate si intendono tutte caratterizzate da un tempo di firing che è una variabile aleatoria distribuita in modo esponenziale Sia FT j (M n ) il firing rate di (abilitata) nel marking (parametro della distribuzione esponenziale che caratterizza il firing time di in ) t j M n tj Mn La transizione effettua il firing in con probabilità t j M n Pr{t j,m n } = FT j (M n ) X t q 2A n FT q (M n ) A n essendo l insieme delle transizioni abilitate nel marking X Risulta ovviamente Pr{t q,m n } =1 t q 2A n M n 105
STOCHASTIC SWITCHES GENERALIZED STOCHASTIC PETRI NETS (GSPN) distribuzione discreta di probabilità che, in un dato marking M n in cui siano abilitate soltanto transizioni immediate, fornisce la probabilità di scatto delle diverse transizioni abilitate Se, ad esempio, in un certo marking M n risultano abilitate t 1, t 7 e t 9 (tutte immediate), saranno definite: Pr{t 1,M n } = probabilità che, nel marking, scatti M n t 1 Pr{t 7,M n } = probabilità che, nel marking M n, scatti t 7 Pr{t 9,M n } = probabilità che, nel marking M n, scatti t 9 con il vincolo Pr{t 1,M n } +Pr{t 7,M n } +Pr{t 9,M n } =1 106
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN Possibilità di rappresentare particolari politiche di scheduling locale Si consideri il sistema di seguito rappresentato in cui vengono processati clienti appartenenti a due differenti classi Il processing time, per le due differenti classi, è una variabile aleatoria distribuita in modo esponenziale, con valore medio 1/µ 1 (per la classe 1) e 1/µ 2 (per la classe 2) La macchina è soggetta a guasti ( failure-prone ): i failure-rate sono, per le due classi, f 1 e f 2, mentre i repair-rate sono r 1 e r 2 Viene implementata (attraverso l utilizzo di un arco inibitore) una politica di scheduling locale nella quale i clienti di classe 1 hanno priorità rispetto ai clienti di classe 2 P 1 f r M P 2 µ 1,µ 2 107
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN t 1 t 2 p 1 p 2 t 3 t 4 p 5 p 3 p 4 r 1 p 6 f 1 f 2 p 7 r 2 µ 1 µ 2 SISTEMA CHE ATTUA UNA POLITICA DI SCHEDULING LOCALE 108
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN Una politica di scheduling locale alternativa potrebbe essere definita sulla base di uno switch stocastico In questo caso si elimina l arco inibitore e si definiscono, per ogni marking in cui solo t 3 e t 4 sono abilitate, le probabilità di firing. Ad esempio M n Pr{t 3,M n } =0.8 Pr{t 4,M n } =0.2 } se M n (p 1 ) M n (p 2 ) Pr{t 3,M n } =0.3 Pr{t 4,M n } =0.7 } se M n (p 1 ) <M n (p 2 ) (viene in pratica privilegiato il servizio della classe la cui coda è più alta, ma con percentuali diverse a seconda della classe) 109
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN Possibilità di rappresentare politiche di routing basate sullo stato della rete Si consideri il sistema di seguito rappresentato in cui i clienti (tutti appartenenti alla stessa classe) che hanno completato il servizio sulla macchina M 1 vengono indirizzati, sulla base della politica di routing join the shortest queue, su una delle due macchine M 2 e M 3 M 1 µ 1 M 2 µ 2 M 3 µ 3 110
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN p 4 t 1 t 4 t 5 p 1 p 5 p 6 t 2 t 6 t 7 p 3 p 2 p 9 p 7 p 8 p 10 µ 1 µ 2 µ 3 t 3 t 8 t 9 SISTEMA CHE ATTUA UNA POLITICA DI ROUTING 111
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN La politica di routing join the shortest queue si basa sui seguenti stochastic switch, definiti per ogni marking in cui solo e sono abilitate M n t 4 t 5 Pr{t 4,M n } =0 Pr{t 5,M n } =1 } se M n (p 5 ) >M n (p 6 ) Pr{t 4,M n } =0.5 Pr{t 5,M n } =0.5 } se M n (p 5 )=M n (p 6 ) Pr{t 4,M n } =1 Pr{t 5,M n } =0 } se M n (p 5 ) <M n (p 6 ) 112
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN Possibilità di rappresentare buffer di ingresso finiti (con processi di arrivo poissoniani) Si consideri il sistema di seguito rappresentato in cui la macchina M è caratterizzata dalla presenza di un buffer limitato che può contenere al più B =4clienti Il processo di arrivo dei clienti dall esterno è un processo poissoniano caratterizzato dal parametro Si suppone che quando il buffer è pieno i clienti che arrivano vengono rifiutati λ B =4 M µ 113
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN t 0 p 1 λ t 1 t 2 p 2 p 3 t 3 p 4 p 5 t 4 µ SISTEMA CHE INCLUDE UN BUFFER DI INGRESSO FINITO 114
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN Possibilità di rappresentare buffer di uscita finiti Si consideri il sistema di seguito rappresentato in cui: - la macchina M 1 ha limitati sia il buffer di ingresso (4 posizioni) che quello di uscita (2 posizioni) - la macchina M 2 ha un buffer di ingresso finito (2 posizioni) ma non ha vincoli sull uscita dei clienti dalla macchina una volta che hanno completato la lavorazione λ B 1 =4 B1 =2 B 2 =2 M 1 M 2 µ 1 µ 2 115
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN λ µ 1 µ 2 SISTEMA CHE INCLUDE BUFFER DI INGRESSO E DI USCITA FINITI 116
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN Possibilità di rappresentare, attraverso la distribuzione di Erlang, processi di servizio non esponenziali Si consideri il sistema di seguito rappresentato in cui la macchina M è caratterizzata da un tempo di servizio t s distribuito secondo Erlang con parametri k e Per modellare tale tempo di servizio sono necessarie k transizioni temporizzate in modo esponenziale, disposte in serie e caratterizzate da un firing rate k M t s 117
CAPACITÀ DI RAPPRESENTAZIONE DELLE GSPN M t s k transizioni temporizzate identiche esponenziali con firing rate kθ SISTEMA CARATTERIZZATO DA PROCESSI DI SERVIZIO NON ESPONENZIALI 118
MARKING TRAPPOLA CLASSIFICAZIONE DEI MARKING NELLE GSPN Marking in cui non è abilitata alcuna transizione Corrispondono a situazioni di deadlock MARKING EVANESCENTI Marking in cui è abilitata almeno una transizione immediata La rete rimane in un marking evanescente per un intervallo di tempo irrilevante, giusto il tempo di stabilire la transizione immediata che viene eseguita (generalmente sulla base degli stochastic switches) MARKING TANGIBILI Marking in cui sono abilitate solo transizioni temporizzate La rete rimane in un marking tangibile per un certo intervallo di tempo corrispondente al firing time della transizione temporizzata che viene eseguita Sono i marking rilevanti dal punto di vista dell analisi delle prestazioni del sistema 119
ANALISI ASINTOTICA DI UNA GSPN Il più grande vantaggio nell utilizzo del modello GSPN è la possibilità, sotto certe condizioni, di effettuare un analisi prestazionale del sistema rappresentato In particolare, può risultare possibile analizzare il comportamento asintotico (o a regime) del sistema L analisi asintotica del comportamento di un sistema di produzione discreta è alla base della risoluzione di problemi su orizzonte infinito La condizione per cui sia possibile effettuare un analisi asintotica di una GSPN è l esistenza della condizione di equilibrio stocastico Nelle GSPN, l equilibrio stocastico è la condizione in cui il marking del sistema non è costante, ma la distribuzione di probabilità del marking lo è L analisi asintotica si basa sul seguente teorema 120
ANALISI ASINTOTICA DI UNA GSPN TEOREMA Una GSPN bounded e live ammette una rappresentazione come CTMC (continuous-time Markov chain). Pertanto, in tal caso, la distribuzione asintotica del marking può essere ottenuta effettuando l analisi asintotica della CTMC associata La CTMC associata si ottiene dal grafo di raggiungibilità della GSPN, considerando esclusivamente i marking tangibili Una volta ottenuta la CTMC si possono determinare (utilizzando i metodi di analisi a regime delle catene di Markov) le distribuzioni di probabilità a regime dei marking, da cui si possono ricavare diversi indici di prestazione quali, ad esempio, il numero medio di clienti in servizio, il throughput del sistema, il flow-time medio Dal grafo di raggiungibilità si può anche ottenere la cosiddetta Reduced Embedded Markov Chain (REMC), che è una DTMC (discrete-time Markov chain) in cui compaiono solo i marking tangibili 121
Esempio ANALISI ASINTOTICA DI UNA GSPN Si consideri il sistema chiuso, di seguito rappresentato, in cui vi sono costantemente k =2clienti La macchina M è mono-server e la lavorazione di un pezzo ha una durata il cui valore è una variabile aleatoria distribuita in modo esponenziale con parametro La risorsa L/U è la macchina di carico/scarico: tale risorsa è da intendersi 1 -server e processa i pezzi con un tempo distribuito in modo esponenziale con parametro µ L/U µ M λ 122
ANALISI ASINTOTICA DI UNA GSPN 2001 t 3 p 1 ϕ 3 t 1 p 2 p 3 p 4 t 2 λ t 1 1100 1011 0021 t 1 t 2 t 3 t 2 0110 t 3 GSPN GRAFO DI RAGGIUNGIBILITÀ ' 3 = µ M(p 3 ) (essendo la risorsa di carico/scarico con infiniti server) MARKING TANGIBILE MARKING EVANESCENTE 123
ANALISI ASINTOTICA DI UNA GSPN M 3 0021 1 1 M 1 1100 λ λ+µ 0110 µ λ+µ M 2 REMC REDUCED EMBEDDED MARKOV CHAIN M 3 0021 2µ λ M 1 1100 λ µ 0110 M 2 CTMC CONTINUOUS-TIME MARKOV CHAIN 124
che ha soluzione ANALISI ASINTOTICA DI UNA GSPN La distribuzione di probabilità a regime del marking si trova risolvendo il sistema 2 3 0 4 1 2 3 µ ( + µ) 5 = 0 0 0 0 2µ 2µ 8 1 + 2 + 3 =1 1 = µ 2 >< 2 = 1 µ +1+2µ >: 3 = 2µ 2 125
ANALISI ASINTOTICA DI UNA GSPN Una volta determinate 1, 2 e 3 si possono ottenere facilmente diversi indici di prestazione Numero medio di clienti in servizio (ovvero utilizzazione della macchina M ) M = 1 + 2 Throughput del sistema X = 2 µ + 3 2µ Flow-time medio (ottenuto dalla legge di Little) W =2/X Numero medio di clienti nella macchina di carico/scarico n L/U = ' 2 +2' 3 126