Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
Modello computazionale a memoria finita (proporzionale al numero degli stati) Il numero di stati aumenta velocemente all'aumentare della complessit del sistema
RETI DI PETRI
componendo automi che descrivono sottosistemi, l'automa globale ha N x M stati (a meno di minimizzazioni) a cui per in pratica si ovvia gerarchizzando gli automi
Difficile modellare sistemi concorrenti in cui pi parti evolvono indipendentemente, con tempi propri
Reti di Petri
Origine storica: Adam Petri (Germania), ~1960 Le reti di Petri sono un modello formale del flusso delle informazioni in un sistema Sono usate per modellare sistemi ad eventi e sistemi concorrenti asincroni In particolare le reti modellano due aspetti dei sistemi: eventi e condizioni e le relazioni che sussistono tra questi In generale le reti di Petri vengono rappresentate attraverso un grafo
Arco
p1 t1 t2
Esempio (1/2)
Posto
2
Transizione
p5 3 3 t3
p3 t4
p2
p4
Esempio (2/2)
TOKEN
p1 t1 t2 p5 3 3 p2 p4 t3 2 p3 t4
Concetto di transizione gli archi non collegano pi i cerchi direttamente, ma attraverso il nuovo concetto di TRANSIZIONE ogni TRANSIZIONE pu riunire pi archi Modello intrinsecamente concorrente Memoria non necessariamente finita
Le propriet dinamiche sono il risultato dellesecuzione della rete. Lesecuzione della rete controllata dalla posizione e dal movimento dei token nella rete stessa
Le transizioni rappresentano gli eventi o le azioni che possono tj pi verificarsi nel sistema, unitamente alle condizioni che li abilitano. Gli archi orientati pongono in relazione posti e transizioni, ovvero evidenziano in quali condizioni possono presentarsi certi eventi e come il manifestarsi di questi eventi modifichi lo stato del sistema.
Mk(pi) W(<pi,tj>)
pi :<pi,tj> AI
In ogni marcatura, possono esserci zero o pi transizioni abilitate Una transizione abilitata pu (non necessariamente deve) scattare Una sola transizione alla volta pu scattare. Il comportamento dinamico del sistema, evidenziato dalle successive marcature M1, M2, raggiungibili da quella iniziale, definito dalle seguenti regole di evoluzione: Se in una data marcatura sono abilitate due o pi transizioni, la scelta di quale debba scattare non-deterministica.
Sequenza e Concorrenza
sequenza: lo scatto di t1 precede necessariamente lo scatto di t2 concorrenza strutturale (dipende solo dalla topologia della rete): due transizioni non condividono posti di ingresso, quindi lo scatto delluna non impedisce lo scatto dellaltra concorrenza non strutturale ma effettiva: due transizioni condividono uno o pi posti di ingresso, ma esiste una marcatura per cui lo scatto di una t1 t2 t1 t2 t1 t2
In formule:
Mk+1(pi) = Mk(pi) Mk+1(pi) = Mk(pi) W(pi,tj) Mk+1(pi) = Mk(pi) + W(tj ,pi) pi :<pi,tj> AI, <tj,pi> AO pi :<pi,tj> AI, <tj,pi> AO pi :<pi,tj> AI, <tj,pi> AO
L'esempio produttori/consumatori
NP processi produttori generano dei messaggi e li inviano tramite un buffer a NP processi consumatori
ogni produttore alterna nel tempo lattivit di produzione con quella di deposito nel buffer di Cp messaggi per volta ogni consumatore alterna nel tempo lattivit di prelievo dal buffer di Cc messaggi per volta (se esistono) con quella di consumo dei messaggi prelevati. p1: p2: p3: p4: p5:
Condizioni iniziali:
buffer vuoto tutti i consumatori pronti al prelievo tutti i produttori in fase di produzione
M = {0, 3, 2, 0, 0}
M0
Gli elementi non nulli nella colonna jma della matrice di ingresso I e della matrice di uscita O corrispondono ai posti di ingresso I(tj) e ai posti di uscita O(tj) della transizione tj Il valore Iij e Oij di ciascuno coincide con il peso dellarco relativo:
Iij = W(<pi,tj>) se <pi,tj> AI Oij = W(<tj ,pi >) se <tj ,pi > AO
M0 = {0,1,1,0,0}
p1 t1 t2 p5 3 3 p2 t3
p3 t4
p4
p5: numero di messaggi nel buffer p2: produttore in fase di produzione p4: consumatore in fase di consumo
M1 = {1,0,1,0,0}
M2 = {0,1,1,0,3}
p1 t1 t2 p5 3 3 p2 t3
p3 t4 t1
p1 t2 p5 3 3 t3
p3 t4
p4
p2
p4
p5: numero di messaggi nel buffer p2: produttore in fase di produzione p4: consumatore in fase di consumo
p5: numero di messaggi nel buffer p2: produttore in fase di produzione p4: consumatore in fase di consumo
M2 = {0,1,1,0,3}
M3 = {0,1,0,3,1}
t1
p1
p3
5
p1 t4 t1 t2 p5 3 3 t3
p3 t4
t3
3 p2 p4 p2
p4
p5: numero di messaggi nel buffer p2: produttore in fase di produzione p4: consumatore in fase di consumo
p5: numero di messaggi nel buffer p2: produttore in fase di produzione p4: consumatore in fase di consumo
M3 = {0,1,0,3,1}
p1 t1 t2
p3
e pcos via
5
t3
t4
3 3 p2 p4
Tuttavia, nelle reti di Petri i concetti di stato e di cambiamento di stato sono distribuiti:
negli automi, un cambiamento di stato ne esclude un altro, nelle reti di Petri invece pu esistere concorrenza
p5: numero di messaggi nel buffer p2: produttore in fase di produzione p4: consumatore in fase di consumo
ALTRE PROPRIET
Reversibilit e Stato di accettazione Persistenza Conservazione
RAGGIUNGIBILIT
M0
(IR)RAGGIUNGIBILIT e DEADLOCK
0,1,1,0,0
Una marcatura M' si dice raggiungibile da M se esiste una sequenza di scatti da cui si raggiunge M' a partire da M. L'insieme delle marcature raggiungibili da quella iniziale si chiama insieme di raggiungibilit (con M0 R(M0)) Esso rappresentato da un grafo di raggiungibilit
i vertici evidenziano le marcature raggiungibili da ogni altra gli archi indicano le transizioni corrispondenti.
Il grafo di raggiungibilit un utile strumento di analisi delle reti di Petri, poich evidenzia: eventuali stati (marcature) indesiderati raggiungibili eventuali stati (marcature) desiderati irraggiungibili
1,0,1,0,0
R(M0)
0,1,1,0,3
eventuali situazioni di "deadlock" ossia situazioni in cui da una data marcatura non si pu pi proseguire.
0,1,0,3,1
1,0,1,0,3
1,0,0,3,1
0,1,1,0,1
1,0,1,0,1
NOTA: spesso, per, il grafo di raggiungibilit infinito. Per renderlo comunque finito, si introduce il simbolo a rappresentare il numero "illimitato" di token che possono accumularsi in certi posti, tipicamente a causa di "loop"; cos, un unico nodo del grafo cattura infinite marcature. Si pu dimostrare che il grafo risultante sempre finito.
1, 0, 0
t1
1, 0, 2
t1
t2
0, 1, 2
t4
t3
0, 1, 0
RAGGIUNGIBILIT e COPERTURA
Il problema della raggiungibilit probabilmente il pi rilevante in una Rete di Petri, dato che molti altri si riconducono ad esso. Un problema collegato ad esempio quello della determinazione di una marcatura di copertura, ossia della determinazione di una marcatura M' che "copra" una marcatura M data nel senso che ogni posto di M' ha un numero di token non inferiore a quelli che ha in M
LIMITATEZZA
Se per ogni marcatura R(M0) il numero di token in un posto non supera mai un certo valore K, tale posto detto k-limitato.
tale propriet cattura l'idea dell'esistenza di un limite al numero di risorse necessarie all'evoluzione del sistema
Per estensione, una RETE k-limitata se TUTTI i suoi posti sono k-limitati.
questa propriet importante perch garantisce che tutte le altre propriet siano computabili ci diretta conseguenza del fatto che, in una rete limitata, anche il numero di marcature raggiungibili limitato, perci una tale rete equivalente a un automa a stati finiti. se k=1, la rete si dice sicura (safe)
LIMITATEZZA IMPOSTA
sempre possibile limitare artificialmente una rete a un valore k prefissato, mediante la tecnica dei posti complementari.
per ogni posto P, si introduce il posto complementare P' e lo si collega opportunamente alle stesse transizioni di P si definisce la marcatura iniziale M0 in modo che il numero di token nel posto P' sia M0(P') = k M0(P) cos facendo, la somma dei token in P e P' costante = k e quindi la rete nel complesso limitata.
P1
P2
Esempio
VITALIT (LIVENESS)
Mentre la propriet di limitatezza riferita ai POSTI, la propriet di vitalit riferita alle TRANSIZIONI. Questa propriet esprime il "grado di possibilit" che una data transizione sia abilitata. La vitalit tipicamente necessaria nei sistemi in funzionamento permanente, o in cui l'indisponibilit di un certo servizio implica un errore o un blocco.
P1 t1 P2 t2
In particolare, questa propriet include la verifica della presenza di eventuali situazioni di deadlock, essendo queste ultime caratterizzate proprio dal fatto di non avere alcuna transizione abilitata.
k-M0(P2)
P'2
Grado 1
Esiste almeno una marcatura raggiungibile in cui la transizione pu scattare.
Grado 1
Esiste almeno una marcatura raggiungibile in cui la transizione pu scattare.
Grado 2
Per ogni intero N, esiste almeno una sequenza di scatti in cui la transizione scatta N volte.
Grado 2
Per ogni intero N, esiste almeno una sequenza di scatti in cui la Se TUTTE le transizioni di transizione scatta N volte. una rete sono vive, si dice
Grado 3
Esiste almeno una sequenza di scatti in cui la transizione scatta infinite volte.
Grado 3
Esiste almeno una sequenza di scatti in cui la transizione scatta infinite volte.
ALTRE PROPRIET
Reversibilit:
quando la marcatura iniziale M0 raggiungibile da ogni marcatura M dell'insieme di raggiungibilit.
Stato di accettazione:
una marcatura M costituisce uno stato di accettazione se raggiungibile da ogni altra marcatura dell'insieme di raggiungibilit.
Persistenza:
se, prese due transizioni abilitate qualsiasi, lo scatto dell'una non disabilita l'altra (ergo, una volta che una transizione abilitata, tale rimane fino a quando scatta)
Conservazione:
quando il numero di token complessivo, calcolato pesando secondo una certa funzione di costo i token dei singoli posti, rimane globalmente costante durante l'evoluzione della rete.
DECIDIBILIT : CONFRONTO
Il formalismo delle Reti di Petri si colloca a "met strada" fra Automi a Stati Finiti (dove tutte le propriet sono decidibili) e Macchine di Turing (dove quasi nessuna propriet lo ) molto utilizzato e apprezzato proprio perch unisce elevata espressivit (>ASF) ad analizzabilit tuttavia una situazione in certo modo "al limite": se si aumenta anche di poco l'espressivit (come accade in alcune varianti del formalismo base), il formalismo diventa Turing-equivalente e immediatamente le propriet diventano indecidibili.
se il numero di colori FINITO, la rete colorata riconducibile a una rete ordinaria se invece il numero di colori INFINITO, il formalismo diventa Turing-equivalente
Conseguenza: la marcatura conseguente allo scatto di una transizione non necessariamente unica
Un'ulteriore estensione delle Reti di Petri costituita dalle Reti di Petri CON PRIORIT In tali reti, la scelta di quale fra le transizioni abilitate debba scattare deterministica e precisamente basata sulla priorit di tali transizioni. Di nuovo, questa estensione Turing-equivalente e conseguentemente le tre propriet fondamentali (raggiungibilit, limitatezza, vitalit) diventano indecidibili.
TEOREMA: sempre possibile trasformare una rete con priorit in una rete con archi inibitori, e viceversa.
Le Reti di Petri classiche non modellano il tempo: danno solo un ordinamento temporale parziale fra gli eventi. Poich per molti sistemi richiedono, per essere ben modellati, la presenza esplicita della dimensione tempo, sono state definite Reti di Petri temporizzate Come gi per le estensioni precedenti, anche l'introduzione del tempo rende per questi formalismi Turingequivalenti e comporta quindi l'indecidibilit delle tre propriet fondamentali (raggiungibilit, limitatezza, vitalit) Le Reti di Petri temporizzate si dividono in due categorie: Reti temporizzate deterministiche Reti temporizzate stocastiche
In una TIME Petri Net, ogni transizione etichettata con due istanti di tempo tmin , tmax
TIME PETRI NETS (Merlin, 1976) TIMED PETRI NETS (Ramchandani, 1980)
per poter scattare, una transizione deve rimanere abilitata almeno per il tempo tmin se al tempo tmax essa ancora abilitata, deve scattare
STOCHASTIC PETRI NETS (Molloy, 1982) GENERALIZED STOCHASTIC PETRI NETS (Ajmone Marsan, Balbo, Conte, 1984)
Le reti classiche corrispondono al caso tmin= 0, tmax = L'insieme di raggiungibilit contenuto in (o al pi coincidente con) quello della rete priva di temporizzazione
una transizione deve scattare immediatamente appena abilitata lo scatto non istantaneo, ma dura il tempo t
a ogni transizione associata una variabile aleatoria a valori reali non negativi, che esprime il tempo che intercorre fra l'istante di abilitazione della transizione e l'istante di scatto Se pi transizioni sono abilitate, scatta quella con tempo di scatto minore
all'inizio si rimuovono i token dai posti di ingresso poi la transizione permane in fase di scatto per il tempo t infine emette i token nei posti di uscita
Modello utile per effettuare valutazioni di prestazioni di sistemi ciclici (ad es. protocolli di comunicazione)
possibilit di calcolare il tempo minimo di ciclo per reti limitate, validazione delle specifiche e check di vitalit
Il grafo di raggiungibilit di una rete stocastica limitata isomorfo a una catena di Markov finita possibile calcolare propriet quali la probabilit di una particolare condizione, il valore atteso del numero di token, il numero medio di scatti di una transizione nell'unit di tempo
Le transizioni temporizzate funzionano come nelle reti stocastiche semplici Le transizioni immediate scattano immediatamente appena abilitate
Le transizioni immediate modellano quelle attivit con tempi di esecuzione trascurabili rispetto agli altri
se sono abilitate transizioni di entrambi i tipi, scattano solo quelle immediate se fra quelle immediate ve ne sono alcune in conflitto, la scelta di quali far scattare dipende da una distribuzione di probabilit detta distribuzione di selezione Vantaggio: le marcature con transizioni immediate "durano poco" e vengono trascurate analisi semplificata
10