Reti di Petri: sviluppo di un toolbox di simulazione, controllo ed analisi a macromoduli Candidato : Giuseppe Circhetta Relatori : Chiar.mo Prof. Aldo Balestrino Chiar.mo Prof. Andrea Caiti
A cosa servono Le reti di Petri sono un potente strumento per formalizzare la descrizione di sistemi. I punti di forza sono dati dalle caratteristiche di astrazione e generalità che permettono la modellistica di molti problemi quali: protocolli di comunicazione sistemi fault-tolerant architetture multiprocessori data flow sistemi di controllo catene di montaggio macchine a stati altre attività nelle industrie
Come sono fatte Una rete di Petri è un grafo orientato bipartito, l’insieme dei suoi nodi può essere diviso in due sottoinsiemi e gli archi sono sempre diretti dai nodi di un sottoinsieme ai nodi dell’altro. I nodi possono essere di due tipi: Posti o tappe (“places”) Transizioni (“transitions”) Gli archi uniscono posti a transizioni o transizioni a posti: Invece in questo caso il posto è detto di uscita In questo caso il posto è detto di ingresso dato che è in entrata alla transizione
Regola di scatto Ad ogni posto può essere associato un numero intero di marche o “token” rappresentato da uno o più pallini. Per fare questo viene introdotta una funzione marcatura M della rete e si dice che il “place” p è marcato con M(p) o che contiene M(p) “token”. Al place può essere associata una capacità indicante il numero di “token” che può contenere. Inoltre ad un arco può essere associato un peso che stabilisce il numero di token che devono essere prelevati per attivare la transizione. Ad esempio: Solo se ci sono almeno due token viene attivata questa strada Solo se c’è almeno un token viene attivata questa strada (un peso unitario non viene indicato) 2
Definizione formale Una rete può essere rappresentata da due insiemi e da due funzioni: N = (P, T, Pre, Post) dove: P è l’insieme degli m posti T è l’insieme delle n transizioni Pre è la funzione di pre-incidenza Post è funzione di post-incidenza Matrice di incidenza
Insieme dei posti in ingresso alla transizione Abilitazione Una transizione t è abilitata dalla marcatura M se e solo se: Insieme dei posti in ingresso alla transizione 2
Per ogni transizione abilitata Effetti dello scatto Marcatura iniziale [1 2 0]’ 2 Per ogni transizione abilitata Nuova marcatura [0 0 3]’ 3
Archi inibitori Esiste la possibilità di inibire una transizione dall’esterno: Arco inibitore la transizione non scatta se il posto a monte dell’arco inibitore ha un token (o quanti ne indica il peso dell’arco ). Si parla in questo caso di reti di Petri estese. E’ stato dimostrato che le reti di Petri estese hanno capacità espressiva pari alla macchina di Turing.
Raggiungibilità Per descrivere tutte le possibili marcature che possono essere ottenute mediante una sequenza di scatti, a partire da una marcatura iniziale, bisogna definire l’insieme di raggiungibilità e l’albero di raggiungibilità. Prima di definire l’insieme di raggiungibilità è opportuno dare il concetto di raggiungibilità in un passo: data una rete marcata e due marcature M e M’, si dice che M’ è raggiungibile in passo da M, se esiste una transizione t che scattando da come risultato la marcatura M’. Insieme di raggiungibilità L’insieme di raggiungibiltà Rn(M) di una rete marcata è il più piccolo insieme di marcature tale che se M’ è raggiungibile in un passo da M e se M’’ è raggiungibile in un passo da M’ , allora anche M’’ appartiene a tale insieme.
Proprietà analitiche Le proprietà analitiche sono di due tipi: Dipendono dalla marcatura iniziale Comportamentali; Strutturali; Dipendono solo dalla struttura della rete Entrambi i tipi sono importanti per lo studio ed il progetto di un sistema modellato con una rete di Petri ma richiedono un certo sforzo computazionale.
Un esempio di modellazione con RP
Un esempio di modellazione : AGV
Un esempio di modellazione : linea di produzione 1
Un esempio di modellazione : linea di produzione 2
Un esempio di modellazione : modello completo Cella 1 AGV Cella 2
Schema generale di controllo ed analisi proposto
Vantaggi della suddivisione in blocchi Alleggerimento computazionale; Facilità di assemblaggio; Comprensione della funzione di un singolo modulo; Caratterizzazione di una RP secondo la Teoria dei Sistemi classica.
un simulatore a macromoduli Pntool: un simulatore a macromoduli
principali caratteristiche Pntool: principali caratteristiche Portabilità; Supporto delle reti di Petri estese; Assemblaggio della rete a moduli predefiniti tipo Simulink; Analisi modulare; Possibilità di simulazioni Monte Carlo(supporto per temporizzazioni stocastiche); Supporto per la creazione di librerie; Analisi statistica; Strumenti di controllo integrati;
Pntool: principali comandi
Risultati delle simulazioni L’uso del simulatore nell’assemblaggio di sistemi complessi si è dimostrato essere più semplice ed immediato rispetto ai molti altri simulatori presenti(freeware e commerciali ) La presenza di una libreria preassemblata permette un uso immediato con la possibilità di assemblare moduli complessi a partire da moduli semplici Il parallelismo con Simulink® ne aiuta l’integrazione con Matlab®
Futuri possibili sviluppi Pntool: Futuri possibili sviluppi Supporto per reti di Petri continue Ampliamento della libreria Analisi prestazionale(calcolo del tempo di attraversamento) Automatizzazione della sintesi del le strutture di controllo Simulazione distribuita su più calcolatori