Reti di Petri

124
Reti di Petri

description

Reti di Petri. Condizioni e eventi. Gli eventi sono i quadrati e le condizioni i cerchi. Una condizione e’ soddisfatta se contiene un “token”. inizio estate. estate. primavera. inizio autunno. inizio primavera. inverno. inizio inverno. autunno. Condizioni e eventi. - PowerPoint PPT Presentation

Transcript of Reti di Petri

Page 1: Reti di Petri

Reti di Petri

Page 2: Reti di Petri

primavera inizio estate

estate

inizio autunno

inizio inverno

inizio primavera

autunnoinverno

Condizioni e eventi

Gli eventi sono i quadrati e le condizioni i cerchi.Una condizione e’ soddisfatta se contiene un “token”

.

Page 3: Reti di Petri

primavera inizio estate

estate

inizio autunno

inizio inverno

inizio primavera

autunnoinverno

.

Condizioni e eventi

non autunno

inverno o primavera

Possiamo aggiungere condizioni

. .

Page 4: Reti di Petri

primavera inizio estate

estate

inizio autunno

inizio inverno

inizio primavera

autunnoinverno

.

Condizioni e eventi

non autunno

inverno o primavera

.

Page 5: Reti di Petri

Posti e transizioni

I posti possono contenere piú “token”. Quando una transizione viene eseguita si toglie un “token” da ciascun posto di ingresso e lo aggiunge a ciascun posto di uscita.

.

...

.

.

produttore

consumatori

Page 6: Reti di Petri

Posti e transizioni

.

...

2 processi scrittori

Al più tre processi possono leggere la memoria contemporaneamente. Mentre un processo scrive nessuno può leggere.

.

...

.

4 processi lettori

pronto a leggerepronto a scrivere

letturascrittura

3

3

Si aggiungono 3 token

Page 7: Reti di Petri

Definizioni di base (1)Una tripla N = (S, T, F) è chiamata rete se e solo se:1) S e T sono insiemi disgiunti (gli elementi di S sono chiamati S-elementi, gli elementi di T sono chiamati T-elementi)2) F (S T) (T S) è una relazione binaria, chiamata la relazione di flusso di N.

Graficamente S-elementi sono rappresentati come cerchi e T-elementi come quadrati, la relazione di flusso è rappresentata da archi orientati che connettono cerchi e quadrati

Notazione. Sia N = (S, T, F) una rete. Denotiamo le componenti come SN, TN, FN e scriviamo anche N per S T.

Sia N una rete. Per x N .x = { y | y FN x} è chiamato il preset di x

x. = { y | x FN y} è chiamato il postset di x

Per X N sia .X = x X .x e X. = x X x. .

Page 8: Reti di Petri

Definizioni di base (2)

Per x, y N si ha x . y y x. .

Una coppia (s,t) SN TN è un self-loop se e solo se s FN t and t FN s.

Una rete N è pura se FN non contiene self-loop.

Un elemento x N è isolato se e solo se . x x . = .

Una rete N è semplice se elementi distinti non hanno lo stesso preset e postset, ossia se,

per ogni x, y N, .x = .y and x. = y. x = y.

Page 9: Reti di Petri

Definizioni di base (3)

Esempio. Una rete semplice ma non pura che non contiene elementi isolati.

Page 10: Reti di Petri

Siano N e N’ due reti.

Data una biiezione : N N’ chiamiamo N e N’ -isomorfe se e solo se s SN (s) SN ’ and x FN y (x) FN ’ (y).

Questo implica tTN (t) TN ’ .

Due reti N e N’ sono isomorfe se e solo se sono isomorfe per qualche funzione .

Rappresentazioni grafiche in cui gli elementi non hanno un nome rappresentano reti a meno di isomorfismo.

Definizioni di base (4)

Page 11: Reti di Petri

Reti condizione-evento (1)Gli S-elementi rappresentano condizioni e indichiamo con B il loro insieme, i T-elementi rappresentano eventi e indichiamo con E il loroinsieme. L’insieme delle condizioni che valgono in una configurazione èun caso.Sia N = (B, E, F) una rete.1) un sottoinsieme c B è un caso2) sia e E e c B; e ha una concessione in c (è c-abilitato) se e solo se .e c and e. c = (assenza di contatto)3) sia e E, sia c B, e sia c-abilitato. Allora c’ = (c\.e) e. è il caso successore di c sotto e ( c’ risulta dall’occorrenza di e nel caso c) e scriviamo c [e > c’.Notazione. Nella rappresentazione grafica si indica che una condizione vale ponendo una marca nel cerchio che la rappresenta.

Page 12: Reti di Petri

Reti condizione-evento (2)

primavera inizio estate

estate

inizio autunno

inizio inverno

inizio primavera

autunnoinverno

.Esempio.

Page 13: Reti di Petri

Reti condizione-evento (3)

Eventi i cui preset e postset sono disgiunti possono essere combinati in un passo.

Sia N = (B,E,F) una rete.

Un insieme di eventi G E è distaccato (detached) se e solo se per ogni e1, e2 G e1 differente da e2 .e1

.e2 = = e1

. e2

. .

Siano c, c’ casi di N e sia G distaccato. Allora g è un passo da c a c’, ossia c [G > c’ se e solo se ogni evento e G è abilitato e c’ = (c\.G) G. .

Lemma. Sia N una rete, sia G EN distaccato e siano c, c’ casi di N. Allora c [G > c’ c\c’ = .G and c’\c = G. .

Page 14: Reti di Petri

Reti condizione-evento (4)

Esempio.

.e1

b3

b4

b5

b1

b2 e3

e4

e5

e2

Page 15: Reti di Petri

e1

b3

b4

b5

b1

b2 e3

e4

e5

e2

Reti condizione-evento (5)

.

.

Esempio.

Page 16: Reti di Petri

e1

b3

b4

b5

b1

b2 e3

e4

e5

e2

Reti condizione-evento (6)

.

.

Esempio.

Page 17: Reti di Petri

Reti condizione-evento (7)

b1

e2 b3 e3 b4

b2 e1 b5

L’evento e1 può essere combinato in un passo sia con l’evento e2 che con l’evento e3.

e4e5

Page 18: Reti di Petri

Reti condizione-evento (8)

b1

e2 b3 e3 b4

b2 e1 b5

.

Caso b6

b6e4e5

Page 19: Reti di Petri

Reti condizione-evento (9)

b1

e2 b3 e3 b4

b2 e1 b5

Passo e5 Caso b1, b2

.

.e4e5

Page 20: Reti di Petri

Reti condizione-evento (10)

b1

e2 b3 e3 b4

b2 e1 b5

Passo e1, e2 Caso b3, b5

.

. e4e5

Page 21: Reti di Petri

Reti condizione-evento (11)

b1

e2 b3 e3 b4

b2 e1 b5

e4e5

Passo e3 Caso b4, b5

.

.

Page 22: Reti di Petri

Reti condizione-evento (12)

b1

e2 b3 e3 b4

b2 e1 b5

e4e5

Passo e4 Caso b6

.

Page 23: Reti di Petri

Reti condizione-evento (13)

b1

e2 b3 e3 b4

b2 e1 b5

e4e5

Passo e5 Caso b1, b2

.

.

Page 24: Reti di Petri

Reti condizione-evento (14)

b1

e2 b3 e3 b4

b2 e1 b5

e4e5

Passo e2 Caso b2, b3

.

.

Page 25: Reti di Petri

Reti condizione-evento (15)

b1

e2 b3 e3 b4

b2 e1 b5

e4e5

Passo e1, e3 Caso b4, b5

.

.

Page 26: Reti di Petri

Un passo finito può essere realizzato con l’occorrenza dei suoi eventi in un ordine arbitrario.

Lemma. Sia N una rete, c e c’ casi di N e G = {e1, …, en} un passo finito da c a c’.

Se (e1, …, en) è un ordinamento arbitrario degli elementi di G allora ci sono casi c0, …, cn tali che c = c0, c’ = cn e ci-1 [ei> ci, (i = 1, …, n).

Reti condizione-evento (16)

Page 27: Reti di Petri

Reti condizione-evento (17)Eventi che abbiano in comune pre o postcondizioni sono in conflitto.

In un caso come nell’esempio, in cui si può avere o non avere conflitto, si ha confusione.

Si ha conflitto se e2 occorre prima di e1, ma non si ha conflitto se e1 occorre prima di e2, ma tra le occorrenze di e1 e e2 non è specificato alcun ordine.

e1 e3

e2

.

.

.

Page 28: Reti di Petri

e1 e3

e2

. ..

e1 e3

e2..

Reti condizione-evento (18)

e2 occorre prima di e1. Conflitto tra e1 e e3

e1 occorre prima di e2. Nessun conflitto

Page 29: Reti di Petri

Sistemi condizione-evento (1)Un sistema condizione-evento consiste di una rete (B,E,F) e di un insieme di casi C con le proprietà seguenti:

- Se un passo G E è possibile in un caso c C allora G porta a un caso in C- Se un caso c C risulta da un passo G E allora anche la configurazione di partenza è un caso di C- Tutti i casi di C possono essere trovati ragionando in avanti o all’indietro- C è tale che i) per ogni evento e E c’è un caso in C in cui e ha una concessione, ii) ogni condizione b B appartiene ad almeno un caso di C, ma non a tutti (cosí si escludono condizioni isolate e self-loop).

Si vogliono escludere anche eventi isolati perché si vuole che gli eventi siano osservabili. Inoltre si chiede che due condizioni non abbiano lo stesso preset e postset (non sarebbero distinguibili). Analogamente per gli eventi.

Page 30: Reti di Petri

Sistemi condizione-evento (2)

Una quadrupla = (B,E,F,C) è un sistema condizione-evento (sistema C/E) se e solo se:

1. (B,E,F) è una rete semplice senza elementi isolati.

2. C (B) è una classe di equivalenza della relazione di raggiungibilità RS = (r r-1)*, dove r (B) (B) è data da c1 r c2 G E c1 [G> c2 . C è la classe dei casi di .

3. Per ogni e E esiste c C tale che e ha una concessione in C.

La classe dei casi di un sistema C/E S è completamente determinato da un elemento arbitrario della classe.

Page 31: Reti di Petri

Sistemi condizione-evento (3)

Esempio. La classe dei casi dell’esempio seguente è {{b1},{b2},{b3},{b4}}.

b2

b4b3

.b1

Page 32: Reti di Petri

Sistemi condizione-evento (4)

Lemma. Sia un sistema C/E. 1. B e E e F sono differenti da .

2. Per c C, c’ B, G E

c [G > c’ c’ C

c’[G > c c’ C.

3. Per ogni bB , c,c’ C con bc and bc’.

4. S è puro.

Page 33: Reti di Petri

Sistemi ciclici e vivi (1)

Un sistema C/E è ciclico se e solo se per ogni c1,c2 C c1 r* c2 .

Proposizione. Sia un sistema C/E ciclico e sia c C . Allora C = {c’ | c r

* c’}.

Un sistema C/E è vivo se e solo se per ogni c C e ogni e E

c’ C tale che c r* c’ e e è c’-abilitato.

Proposizione. Ogni sistema C/E ciclico è vivo.

Page 34: Reti di Petri

Sistemi ciclici e vivi (2)

Osservazione. Non ogni sistema C/E vivo è ciclico.

. .

Page 35: Reti di Petri

..

Page 36: Reti di Petri

.

.

Page 37: Reti di Petri

..

Page 38: Reti di Petri

.

.

Page 39: Reti di Petri

.

.

Page 40: Reti di Petri

Equivalenza di sistemi (1)

Siano e ’ due sistemi C/E.

1. Date biiezioni : C C’, : E E’, e ’ sono ()-equivalenti se solo se per tutti i casi c1,c2 C e tutti gli insiemi di eventi G E c1 [G> c2 (c1) [(G)> (c2), dove (G) = {(e) | e G}. e ’ sono equivalenti se solo se sono ()-equivalenti per qualche coppia di biiezioni ().

2. e ’ sono isomorfi se e solo se le reti (B,E,F) e (B’,E’,F’) sono -isomorfe per qualche biiezione e se

c C {(b)|bc} C’ .

Se e ’ sono equivalenti scriviamo ~ ’.

Proposizione. La relazione ~ è una relazione di equivalenza.

Page 41: Reti di Petri

Equivalenza di sistemi (2)

Proposizione. Sistemi C/E equivalenti hanno lo stesso numero di casi, eventi e passi. Possono avere un numero differente di condizioni.

Esempio. I casi sono {b1,b2} primavera, {b1,b3} estate,

{b2,b3} autunno, inverno

inizio autunno

inizio estate

inizio primavera inizio inverno

b1 b3

b2

.

.

Page 42: Reti di Petri

Esempio. I casi sono {b1,b2} primavera, {b1,b3} estate, {b2,b3} autunno, inverno

inizio autunno

inizio estate

inizio primavera inizio inverno

b1 b3

b2

.

.

primavera estate

autunnoinverno

.

Page 43: Reti di Petri

inizio autunno

inizio estate

inizio primavera inizio inverno

b1 b3

b2

.

.

Esempio. I casi sono {b1,b2} primavera, {b1,b3} estate, {b2,b3} autunno, inverno

primavera estate

autunnoinverno

.

Page 44: Reti di Petri

inizio autunno

inizio estate

inizio primavera inizio inverno

b1 b3

b2

.

.

Esempio. I casi sono {b1,b2} primavera, {b1,b3} estate, {b2,b3} autunno, inverno

primavera estate

autunnoinverno .

Page 45: Reti di Petri

inizio autunno

inizio estate

inizio primavera inizio inverno

b1 b3

b2

Esempio. I casi sono {b1,b2} primavera, {b1,b3} estate, {b2,b3} autunno, inverno

primavera estate

autunnoinverno .

Page 46: Reti di Petri

Equivalenza di sistemi (3)

Proposizione. Siano e ’ due sistemi C/E equivalenti.1. è ciclico se solo se ’ è ciclico.2. è vivo se solo se ’ è vivo.

Lemma. Siano e ’ sistemi C/E tali che per ogni c C C’ |c| = 1.

e ’ sono equivalenti se e solo se sono isomorfi.

Page 47: Reti di Petri

Sistemi senza contatti (1)Un sistema C/E può essere trasformato in uno equivalente senza contatti.

Contatto: in un caso c, .e c e e. c

Sia un sistema C/E e siano b, b’ elementi di B .

1. b’ è il complemento di b se e solo se .b = b’. and b. = .b’.2. è completo se ciascuna condizione b B ha un complemento b’ B .

. .

Page 48: Reti di Petri

Lemma. Sia un sistema C/E e sia b B .

1. b ha al piú un complemento b^.

Se b ha un complemento b^, allora

2. b^ ha un complemento b^^ e b^^ = b.

3. Per ogni c C b c oppure b^ c.

Se è completo allora

4. Per ogni e E |.e | = |e. |.

5. Per ogni c C | c | = 1/2 | B |.

Sistemi senza contatti (2)

Page 49: Reti di Petri

Sistemi senza contatti (3)

Sia un sistema C/E e sia B B l’insieme delle condizioni che non hanno complemento in B . Per ogni b B, b^ denoti un nuovo elemento.

Sia F = {(e, b^) | (b,e) F e b B} {(b^, e) | (e, b) F and b B}.

Per c C sia f (c) = c {b^ | b B and b c}.

Allora il sistema C/E ^ = (B {b^ | b B}, E, F F, f(C) ) è il completamento di e f(c) è il completamento di c.

Esempio. Una condizione e il suo complemento.b

b^

Page 50: Reti di Petri

Proposizione. Sia un sistema C/E e c C . Vale

1. ^^ = ^

2. Per ogni b B , c C b f(c) b^ f(c)

3. c = f(c) B .

Sistemi senza contatti (4)

Page 51: Reti di Petri

Sistemi senza contatti (4)

Lemma. La funzione f : C C^ come definita sopra è biiettiva.

Notazione. Denotiamo con -e ed e- preset e postset di e in ^.

Proposizione. Sia un sistema C/E, sia G E e B l’insieme delle condizioni che non hanno complemento in B. Vale:

1. -G = .G {b^ | b B and b G.}, G- = G. {b^ | b B and b .G}

2. .G = -G B ,

G. = G- B.

Page 52: Reti di Petri

. *

*

*

.

.

* elemento nuovo

*

.

.

Esempio. Un sistema C/E e il suo completamento ^.

Sistemi senza contatti (5)

.

Page 53: Reti di Petri

.

.

*

*

*

.

.

* elemento nuovo

*

.

.

.

Page 54: Reti di Petri

Sistemi senza contatti (6)Teorema. Se ^ è il complemento di un sistema C/E , allora ^ è equivalente a .

Dimostrazione. Bisogna dimostrare che per ogni c1, c2 C , per ogni G R c1 [G> c2 f(c1) [G> f(c2).

Un sistema C/E è senza contatti se per ogni e E e ogni c C 1. .e c e. B \c2. e. c .e B \c

Teorema. 1. Ogni sistema C/E completo è senza contatti.2. Per ogni sistema C/E ce ne è uno equivalente senza contatti.3. Se è senza contatti allora per ogni e E .e diverso da e. diverso da .

.

Page 55: Reti di Petri

Grafo dei casi (1) Il grafo dei casi ha come nodi i casi e come archi i passi del sistema C/E.

Sia un sistema C/E, S l’insieme di tutti i passi di , P = {(c1, G, c2) C S C | c1 [G> c2}.

Il grafo = (C, P) è chiamato grafo dei casi di .

Page 56: Reti di Petri

Grafo dei casi (2)b3

b1

e2

e4 b5

b2 b4

e1

e5

e3

b3

b1

e2

e4 b5

b2 b4

e1

e5

e3

b3

b1

e2

e4 b5

b2 b4

e1

e5

e3

b3

b1

e2

e4 b5

b2 b4

e1

e5

e3

b3

b1

e2

e4 b5

b2 b4

e1

e5

e3

b3

b1

e2

e4 b5

b2 b4

e1

e5

e3

b3

b1

e2

e4 b5

b2 b4

e1

e5

e3

b3

b1

e2

e4 b5

b2 b4

e1

e5

e3

b3

b1

e2

e4 b5

b2 b4

e1

e5

e3

{b1}

{b2,b3}

{e1}{e2}

{b2,b5}

{b4,b5}{e3,e4}

{e4} {e3}

{e5}

{b4,b3}{e3} {e4}

... .

..

.

...

...

..

Page 57: Reti di Petri

Grafo dei casi (3)

Osservazione.

Non ogni grafo può essere interpretato come il grafo dei casi di un sistema C/E.

Teorema. Un sistema C/E è vivo se e solo se per ogni c0 C e ogni e E esiste un cammino in c0 j1 c1 … jn cn con jn = {e}.

Teorema. Due sistemi C/E sono equivalenti se e solo se i loro grafi di casi sono isomorfi.

c1

c3c2

c4

e1 e2

e2

Page 58: Reti di Petri

Grafo dei casi (4)

Teorema. Un sistema C/E è ciclico se e solo se il suo grafo dei casi è fortemente connesso.

Teorema. Sia un sistema C/E, siano c1 ,c2 , c3 C e G1 ,G2 E .

1. Se c1 G1 c2 G2 c3 è un cammino in allora G1 G2 = .

2. Sia G1 G2 = . Allora se c1 ( G1 G2) c3 è un arco in allora

esiste c C tale che c1 G1 c G2 c3 è un cammino in .

Page 59: Reti di Petri

Processi di sistemi C/E (1)

Si vuole una descrizione che mostri cambiamenti di condizioni e occorrenze di eventi anche concorrenti.

b1 e1

b3

b2

e4

e3

b5

b4

e5 b1

e1

b2

e2

b1

b3

e1

b3

b2

e3

b4

b3

b1

e2

e4 b5

b2 b4

e1

e5

e3

.

Page 60: Reti di Petri

Un T-elemento rappresenta l’occorrenza dell’evento denotato dalla sua etichettatura.

T-elementi distinti con la stessa etichettatura denotano occorrenze differenti del medesimo evento.

Un S-elemento s mostra con la sua iscrizione b che b è stata soddisfatta dall’occorrenza di .s e ha cessato di valere con l’occorrenza di s..

I conflitti sono stati risolti e tutti gli S-elementi non hanno diramazioni.

Processi di sistemi C/E (2)

Page 61: Reti di Petri

Processi di sistemi C/E (3)Una relazione binaria r A A su un insieme A è una relazione di similarità se e solo se1. Per ogni a A: a r a (r è riflessiva)2. Per ogni a,b A: a r b = b r a (r è simmetrica)Un sottoinsieme B A è una regione di una relazione di similarità r se e solo se1. Per ogni a,b B: a r b (r è full su B)2. Per ogni a A: a B b B: not (a r b) (B è un sottoinsieme massimale su cui r è full)Proposizione. Sia A un insieme e r A A una relazione di similarità.1. Ogni elemento di A appartiene ad almeno una regione di r.2. Regioni di un insieme non vuoto A sono non vuote e nessuna regione è un sottoinsieme proprio di un’altra regione.3. Se r è una relazione di equivalenza allora le regioni di r sono esattamente le classi di equivalenza di r.

Page 62: Reti di Petri

Processi di sistemi C/E (4)

Notazione. Una relazione di similarità finita su un insieme A può essere rappresentata in modo unico come un grafo non orientato, di cui A è l’insieme dei nodi e K = {(a,b) | a b a r b} è l’insieme degli archi.

1

2 3

4

5

6

7

La regioni sono {1,2,4}, {2,3,4,6}, {4,5}, {7}.

Sia A un insieme parzialmente ordinato:1. li A A è tale che a li b a < b b < a a = b.2. co A A è tale che a co b (not a li b) a = b (ossia a co b not (a < b b < a).

7

Page 63: Reti di Petri

Processi di sistemi C/E (5)

Sia A un insieme parzialmente ordinato e siano a,b A :1. a li b a co b.2. a li b a co b a = b.

Teorema. Per un qualsiasi insieme parzialmente ordinato A, li e co sono relazioni di similarità. Esempio.

3

4

1 2

5

6 7

La regioni di li sono {1,2,5,6,7}, {1,2,3}, {4,6,7}.Le regioni di co sono {3,7}, {3,6}, {3,4,5}, {1,4}, {2,4}.

Page 64: Reti di Petri

Processi di sistemi C/E (6)Sia A un insieme parzialmente ordinato e sia B A:1. B è una linea se e solo se B è una regione di li.2. B è un taglio se e solo se B è una regione di co.

Sia A un insieme parzialmente ordinato e siano B, C A. 1. A è limitato (bounded) se e solo se esiste n N tale che

per ogni linea L di A |L| n. 2. B precede C (scritto B C) se e solo se per ogni b B e

per ogni c C b < c or b co c ( scriviamo B < C per B C and B C) 3. B- = {a A | {a} B}, B+ = {a A | B {a}}. 4. oB = {b B | per ogni b’ B, b co b’ b < b’}, Bo = {b B | per ogni b’ B, b co b’ b’ < b}.

oB è l’insieme degli elementi minimali di B e Bo è l’insieme degli elementi massimali di B.

Page 65: Reti di Petri

Processi di sistemi C/E (7)

Teorema. Se A è un insieme parzialmente ordinato limitato allora oA e Ao sono tagli. Proposizione. Sia A un insieme parzialmente ordinato, sia L una linea e sia D un taglio di A. Allora |L D| 1. Un insieme parzialmente ordinato è K-denso se ogni linea ha un’intersezione non vuota con ogni taglio.Esempio. Un insieme che è parzialmente ordinato ma non K-denso. Infatti {3,2} {1,4} = .

1

3

2

4

Page 66: Reti di Petri

Processi di sistemi C/E (8)

Una rete K = (SK , TK, FK) è una rete di occorrenze se e solo se:1. Per ogni a, b K: a (FK

+) b b (FK+) a (K è senza cicli)

2. Per ogni s SK : |.s| 1 |s.| 1 (gli S-elementi non hanno diramazioni)

Proposizione. Sia K una rete di occorrenze. La relazione <, definita da a < b a (FK

+) b, per ogni a, b K, è un ordine parziale su K.

Page 67: Reti di Petri

Segue che per una rete di occorrenze sono definite linee, tagli, limitatezza, K-densità.

Dato un insieme parzialmente ordinato, sia L una linea e sia D un taglio di A. Allora |L D| 1.

Una slice di una rete di occorrenze K è un taglio contenente solo S-elementi.

Denotiamo sl(K) l’insieme delle slice di K.

Esempio.

(s3,t2,s4,t3,s6) è una linea, (t1,s4,s5) è un taglio, (s1,s3) è una slice.

s1

s3

s5

s2

s4

s6

t1

t2t3

Processi di sistemi C/E (9)

Page 68: Reti di Petri

Processi di sistemi C/E (10)

Teorema. Ogni rete di occorrenze non vuota e limitata è K-densa.

Esempio. Una rete di occorrenze non limitata che non è K-densa. Infatti la linea {s0,t1,s1, …} e il taglio {s1’,s2’,…} hanno intersezione vuota.

s1’

s0 s1

s2t1 t2

s2’ s3’

t3’

Page 69: Reti di Petri

Processi di sistemi C/E (11)Descriviamo i processi come funzioni da reti di occorrenze limitate a sistemi C/E senza contatti soddisfacenti due richieste: 1. Ogni slice corrisponde a in un caso2. La corrispondenza di un T-elemento rispetta l’ambiente dell’evento.

Sia K una rete di occorrenze limitata e un sistema C/E senza contatti. Una funzione p: K è un processo di se e solo se per ogni slice D di K e ogni t TK :

1. p|D è iniettiva e p(D) C

2. p(.t) = . p(t) p(t.) = p(t).

Nelle rappresentazioni grafiche di processi p: K ogni elemento x di K è etichettato dalla sua immagine p(x). Ogni linea rappresenta una successione di elementi casualmente dipendenti (sottoprocesso sequenziale), un taglio è un’istantanea (snapshot) del processo. La K-densità garantisce che ogni sottoprocesso sequenziale è rappresentato in ogni snapshot.

Page 70: Reti di Petri

Processi di sistemi C/E (12)

Teorema. Per ogni processo p: K :

1. p(SK) B p(TK) E (il tipo degli elementi e’ preservato).

2. Per ogni x,y K, x FK y p(x) F p(y) (p rispetta la relazione di flusso)

3. Per ogni x, y K, p(x) = p(y) x li y (eventi e condizioni non sono concorrenti con loro stessi).

4. Per ogni t TK , .t and t. (eventi hanno prerequisiti e

conseguenze).5. Per ogni taglio D di K p|D è iniettiva.

Page 71: Reti di Petri

. .. . e1 e2b1

b2

b3

b1 b2e1

b2 e2 b3

?

. .. . e1 e2b1

b2

b3

b1 b2e1

b2 e2 b3

b2^

b2^

Perche’ sistemi C/E senza contatti

Page 72: Reti di Petri

Teorema. Sia p: K un processo, sia T TK tale che per ogni

t1, t2 T, t1 co t2. Allora c1,c2 C tali che c1 [p(T)> c2.

Due processi p1: K1 , p2: K2 di un sistema C/E sono isomorfi se e solo se K1 è b-isomorfo a K2 e per ogni x K1 p1(x) = p2(b(x)).

Teorema. Siano 1 e 2 due sistemi C/E senza contatti e sia pi l’insieme dei processi di i (i=1,2). Allora p1 = p2 1 = 2.

Processi di sistemi C/E (13)

Page 73: Reti di Petri

Processi di sistemi C/E (14)Lemma. Se p: K è un processo oK e Ko sono slice di K.

Lemma. Siano pi: Ki (i=1,2) due processi con p1(K1o) = p2(oK2). Allora esiste, a meno di isomorfismo, esattamente una rete di occorrenze K con una slice D e un processo p: K tale che p|D- = p1 e p|D+ = p2.Siano p, p1, p2 come sopra. Allora p è la composizione di p1 e p2, (p = p1 o p2).

Proposizione. Siano 1 e 2 due sistemi C/E senza contatti e sia pi l’insieme dei processi di i (i=1,2). Allora p1 = p2 1 = 2.

o

b2

b3

b5

b1

b1b4

b3

b3

b5b2b2

b4b4

Page 74: Reti di Petri

Processi di sistemi C/E (15)

Un processo è elementare se descrive un passo singolo. I processi sono decomponibili in un numero finito di processi elementari.

Un processo p: K è elementare se solo se SK = oK Ko .

Proposizione. 1. p: K è un processo elementare se e solo se

p(oK) [p(TK) > p(Ko) è un passo di .

2. Se p: K è elementare allora per ogni t1,t2 TK t1 co t2.

Page 75: Reti di Petri

Processi di sistemi C/E (16)

Un processo è vuoto se e solo se TK = .

Proposizione. 1. Ogni processo vuoto è elementare.2. Se p’ è un processo vuoto ed è definito p o p’ (oppure p’ o p)

allora p = p o p’ (oppure p = p’o p).

Teorema.

Se p: K è un processo, allora esiste un numero finito di processi elementari p1, …, pn tali che p = p1 o …o pn.

Page 76: Reti di Petri

Processi e grafi dei casi (1)

Processi elementari corrispondono ad archi in grafi dei casi. Piú cammini in un grafo dei casi possono corrispondere allo stesso processo.

Lemma. Sia un sistema C/E senza contatti. Allora p: K è un processo elementare se e solo se c’è un arco v = (c1, G, c2) in tale che p(oK) = c1, p(Ko ) = c2, p(TK) = G.Sia un sistema senza contatti.

1. Se v è un arco in , allora v denota il processo corrispondente a v.

v è il processo di v, v è l’arco di v .

2. Siano v1, …, vn archi e sia w = v1 … vn un cammino in . Allora

w = v1 o … o vn è il processo di w e w è un cammino di w.

Page 77: Reti di Petri

Processi e grafi dei casi (2)

Esempio

Per ciascun cammino di un grafo dei casi c’è esattamente un processo corrispondente; a un singolo processo possono corrispondere piú cammini.

1,4

2,4

3,42,5

3,5

3,6

1,5

1,6

2,6

1

1 c 5 d 6

a 2 b 3

Page 78: Reti di Petri

Sia un sistema C/E, siano c1,c2,c3 CS e G1,G2 ES .

1. Se u1 = (c1, G1, c2), u2 = (c1, G2, c3), v = (c1, G1 G2, c3) sono archi in , il cammino u1 u2 è una decomposizione di v, v è una unificazione di u1 u2.

2. Dati cammini w, w’, w’ è una permutazione di w se e solo se esistono cammini u1, …, u4 tali che w = u1 u2 u3, w’ = u1 u4 u3 e u4 è una decomposizione o una unificazione di u2.

3. Dati cammini w1, …, wn in , (w1, …, wn) è una sequenza di permutazione se e solo se per ogni i = 1, …, n-1, wi+1 è una permutazione di wi.

Processi e grafi dei casi (3)

Page 79: Reti di Petri

Processi e grafi dei casi (4)

Proposizione. Sia un sistema C/E senza contatti, siano c1, c2, c3 C e siano

G1, G2 E disgiunti e non vuoti.

1. Se v = c1 (G1 G2) c2 è un arco in , allora esiste una decomposizione di v della forma c1 G1 c G2 c2, per un qualche c C .

2. Siano u1 = c1 G1 c3 e u2 = c3 G2 c2 archi in e sia u1 o u2 : K . Allora per ogni t1, t2 TK: t1 co t2 se e solo se c1 (G1 G2) c2 è un arco in .

Page 80: Reti di Petri

Reti posto-transizione (1)

Esempio. Un sistema produttore-consumatore con limitata capacità di buffer, multipla generazione e multiplo consumo di token, limitato accesso al buffer, un contatore dei token prodotti.

K = 1

K = 1

...

K = 5

..

.

...

..

K=2

K=2

K=1K =

produttore consumatore

buffer

contatore

3 2

Page 81: Reti di Petri

Una sestupla N = (S,T,F,K,M,W) è una rete P/T se e solo se :

1. (S, T, F) è una rete finita, gli elementi di S sono i posti, gli elementi di T sono le transizioni.

2. K : S N {} dà la capacità di ciascun posto.

3. W : F N \ {} dà un peso a ciascun arco della rete.

4. M : S N {} è la marcatura iniziale tale che M(s) K(s) per ogni s S.

Reti posto-transizione (2)

Page 82: Reti di Petri

Reti posto-transizione (3)Denotiamo le componenti di una rete P/T N con SN, TN, FN, KN, MN,

WN .

Sia N una rete P/T.1. Una funzione M : SN N { } è una marcatura di N se e solo se M(s) K(s).2. Data una marcatura M, una transizione tTN è M-abilitata se e

solo se per ogni s. t M(s) ≥ WN (s,t) e per ogni s t. M(s) + WN

(t,s) KN (s). 3. Una transizione M-abilitata tTN può dare una marcatura

successiva M’ di M che per ogni s è:M(s) - WN (s,t) se e solo se s .t \ t .

M(s) + WN (t,s) se e solo se s t. \ .tM(s) - WN (s,t) + WN (t,s) se e solo se s . t t .

M(s) altrimenti.Diciamo che t porta da M a M’ e scriviamo M[t> M’.

4. Sia [M > il piú piccolo insieme di marcature tale che M [M > e, se M1 M e per qualche t TN M1 [t> M2 allora M2

[M>.

Page 83: Reti di Petri

Reti posto-transizione (3)

1. Rete abilitata (si omettono: 1 sugli archi, sui posti)

2. Reti non abilitate

3. Selfloop non abilitate

.

.

.... 3 2

..

..

..

.

..

.

23

2

2

3

4

3

3

23

.

... 3

Page 84: Reti di Petri

Reti posto-transizione (4)

Una marcatura di una rete P/T ha un contatto per una transizione t TN se t non è M-abilitata solo perché i posti in to non hanno la capacità sufficiente.

Una rete P/T N è senza contatti (contact-free) se e solo se per ogni M [MN> e per ogni t TN

se s . t M(s) WN (s,t) allora s t . KN (s) - WN (t,s) M(s)

Page 85: Reti di Petri

Reti posto-transizione (5)Costruzione della rete completata:

Data una rete P/T N la corrispondente rete N’ è ottenuta aggiungendo nuovi posti e nuovi archi. Per ogni posto s di N aggiungiamo un nuovo posto s e per tutti gli archi (t,s) e (s,t) di FN aggiungiamo nuovi archi (s,t) e (t, s), rispettivamente, tali che WN’ (s,t) = WN (t,s) e WN’ (t,s) = WN (s,t).

Assumiamo la capacità KN’ (s) = KN (s).

Per i nuovi posti s la marcatura iniziale MN’ (s) = KN (s) - MN (s).La rete risultante è senza contatti: per ogni marcatura raggiungibile M si ha MN’ (s) + MN’ (s) = KN’ (s).

Date marcature M di N e M’ di N’ ogni transizione t è M-abilitata in N se e solo se è M’-abilitata in N’. Inoltre si possono sostituire tutte le capacità finite KN (s) N in N’ con senza cambiare il comportamento di N’.

Page 86: Reti di Petri

2 .. ..

...

.

3

11

13

2 3

2K=5 K=5

K=5

Reti posto-transizione (6)

Complementazione di una rete

Page 87: Reti di Petri

Rappresentazione in algebra lineare (1)

Sia N = (S,T,F,K,M,W) una rete P/T.

Per una transizione t T, sia il vettore t : S Z definito come:

t (s) = W(t,s) se e solo se s t. \ .tt (s) = -W(s,t) se e solo se s . t \ t . t (s) = W(t,s) - W(s,t) se e solo se s . t t .

t (s) = 0 altrimenti

Sia la matrice N: S T Z definita come N(s,t) = t (s).

Ogni marcatura può essere rappresentata da un vettore.

Page 88: Reti di Petri

Rappresentazione in algebra lineare (2)

1 -1 1

-1 1

1 5

3 -2 3

1 -1

1 -1 2

-1 1

s1

s2

s3

s4

s5

s6

s7

t1 t2 t3 t4 t5 marcatura

K = 1

K = 1

...

K = 5

..

.

...

..

K=2

K=2

K=1K =

produttore consumatore

buffer

contatore

3 2t1 t2 t3

t4

t5

s1

s2

s3

s4 s5

s6

s7

Page 89: Reti di Petri

La rappresentazione è non ambigua solo per reti pure. In questo caso possono essere derivate le componenti. Se si chiede anche che N sia senza contatti il comportamento di N è pienamente determinato dalla matrice N e dal vettore MN.

Rappresentazione in algebra lineare (3)

Corollario. Sia N una rete P/T e M, M’: SN N {} due marcature

di N. Allora per ogni transizione t TN

1. Se t è M-abilitato allora M [t> M’ M + t = M’

Se N è pura, allora anche :

2. t è M-abilitata 0 M + t KN

3. N è senza contatti M [MN> : (0 M + t M + t KN ).

Page 90: Reti di Petri

Per reti con capacità infinita vale la seguente proprietà dimonotonicità.

Lemma. Sia N una rete P/T con s SN : KN (s) = .

Siano M1, M2: SN N {} due marcature di N. Si ha

1. M1 [t> M M1+ M2 [t> M + M2

2. M [M1> M + M2 [M1 + M2>

Rappresentazione in algebra lineare (4)

Page 91: Reti di Petri

Grafo di copertura (1)Idea: rappresentare le (infinite) marcature raggiungibili mediante un grafo finito. I nodi del grafo rappresentano o “coprono” le marcature raggiungibili.

Assumiamo senza perdere generalità KN (s) = per ogni s SN.

Ogni nodo E del grafo di copertura deve essere pensato come una marcatura della rete; alcuni nodi lo saranno, altri ricopriranno marcature raggiungibili.

Vediamo come nascono sequenze infinite di marcature raggiungibili. Supponiamo M, M’ raggiungibili e M’ [M>. Supponiamo che per ogni posto s sia M(s) M’(s) e M M’ (scriviamo M < M’) e che KN (s) = in tutti i posti dove M’(s) > M(s).

Allora ogni transizione abilitata in M è anche abilitata in M’ e ripetendo la catena di transizioni che ha portato da M a M’ otteniamo una nuova marcatura M” con M’ < M”.

Page 92: Reti di Petri

Iterando si ha una sequenza di marcature distinte Mi, i = 1,2, …, con la proprietà che

Mi(s)=M(s) se M’(s)=M(s), mentre

Mi+1(s)>Mi(s) se M’(s)>M(s).

La sequenza sarà rappresentata nel grafo da un nodo di copertura H

con H(s)=M(s) se M’(s)=M(s)

e H(s) = se il numero di token su s è crescente.

Grafo di copertura (2)

Page 93: Reti di Petri

Grafo di copertura (3)

Sia N una rete P/T con capacità infinite e sia G = G0, G1 , … la sequenza

di grafi che soddisfa le richieste seguenti:

1. G0 = ({MN}, )

2. Sia Gi = (H, P). Sia E H e sia t TN tale che

(a) t è E-abilitata

(b) nessun arco da E è t-iscritto, ossia E’ tale che (E,t,E’) P.

Allora definiamo la marcatura E~, per ogni s SN,

con E~(s) = se esiste un nodo E’ in H tale che E’ E + t e

E’(s) E(s) + t(s) ed esiste un cammino da E’ a E in Gi,

E~(s) = E(s) + t (s) altrimenti,

e sia Gi+1 = (H {E~}, P {(E,t, E~ )}).

Page 94: Reti di Petri

3. Se non è possibile costruire Gi+1 seguendo 2 allora si ha Gi+1 = Gi.

G è detta sequenza di copertura e G = ( Hi, Pi) è il grafo di copertura generato da G.

Si noti che nella costruzione la marcatura può essere già contenuta in H, essendo un nodo di Gi. In questo caso in Gi+1 è aggiunto un nuovo arco (E,t, E~, ), ma non un nuovo nodo.

Grafo di copertura (4)

Page 95: Reti di Petri

Grafo di copertura (5)Esempio. Si abbia la rete

La rete ha due grafi di copertura (gli indici sugli archi denotano l’ordine di generazione)

.

b

s2

s1

s3

d c

100

001

010 01w 0ww

001

100

010 0ww

b

1

a

7d

c d

4

3

b1

a

d 2

c

3

d

4

2

5

6

8

56

a

a

d c c

d

c

Page 96: Reti di Petri

Grafo di copertura (6)

Ogni marcatura raggiungibile è coperta da un nodo del grafo di copertura.

Lemma. Sia G un grafo di copertura di una rete P/T N. Per ogni sequenza MN [t1> M1 … Mn-1 [tn> Mn esiste un cammino

E0 t1E1 … En-1tnEn in G tale che MN = E0 e per ogni i = 1, …, n Mi Ei .

Sia N una rete P/T e E: SN N {}. Sia E un nodo di G.1. Sia (E)={s SN|E(s)=}

2. Per i N una marcatura M di N è una i-marcatura se e solo se s (E) M(s) i e s (E) M(s) = E(s)

3. Sia ME[MN> un insieme minimale tale che per ogni i N esiste una i-marcatura M di E in ME. Allora ME è chiamato insieme di copertura di E.

Page 97: Reti di Petri

Grafo di copertura (7)

Lemma.Sia G un grafo di copertura di una rete P/T N.Per ogni E di G esiste un insieme di copertura ME.

TeoremaOgni grafo di copertura di una rete P/T è finito.

Page 98: Reti di Petri

Grafo di copertura (8)

.s1

s2

s3.s1

s2

s3

100 001

10 01

Le due reti hanno lo stesso grafo di copertura. Non mostra che in N1 la transizione c può essere eseguita un numero qualsiasi di volte (indipendentemente da a).

c ca a

Page 99: Reti di Petri

Dimostrazione di proprietà con i grafi di copertura (1)

Teorema

Sia N una rete P/T, M: SN N {} una marcatura arbitraria e G un grafo di copertura di N.Una marcatura M’ [MN> con MM’ esiste se e solo se

1. per ogni s SN, M(s) = MN(s) = 2. esiste un nodo E in G tale che M E.

Prova. Se MN(s) allora per ogni M’ [MN> si ha M’ (s) .SiaM’ [MN>, dato che esiste un nodo di G tale che M’ E, allora anche anche M E.Facilmente si vede il viceversa.

Page 100: Reti di Petri

Dimostrazione di proprietà con i grafi di copertura (2)

Sia N una rete P/T, S SN . L’insieme di posti S è simultaneamente illimitato se per ogni i N esiste Mi [MN> tale che per ogni s S Mi (s) i.

TeoremaSia N una rete P/T, S SN e G un grafo di copertura di N. Allora S è simultaneamente illimitato se e solo se esiste un nodo E in G tale che ogni s S E(s) = .

Page 101: Reti di Petri

Dimostrazione di proprietà con i grafi di copertura (3)

Sia N una rete P/T, M: SN N {} una marcatura arbitraria e sia t TN . La transizione t è M-morta se per ogni M’ [MN> t non è M’-abilitata.

TeoremaSia N una rete P/T, t TN e G un grafo di copertura di N. Allora t èMN-morta se solo se non esiste un arco (E,t,E’) in G.

TeoremaSia N una rete P/T, t TN e G un grafo di copertura di N. Allora l’insieme [MN> di marcature raggiungibili è finito se e solo se nessun nodo di G ha una componente .

Page 102: Reti di Petri

Proprietà di “Liveness” (1)

In rappresentazioni di sistemi mediante reti, gli elementi attivi (processori, agenti, ...) sono rappresentati come transizioni, gli elementi passivi (buffer, memorie, ...) come posti e gli

elementi assegnabili come token.

Situazioni di blocco sono viste come transizioni che non possono piú

essere eseguite.

Queste reti non sono “vive”.

Sia N una rete P/T, sia t TN

1. t è viva se e solo se per ogni M [MN> esiste M’ [M> tale che t e’ M’-abilitata.

2. N è viva se e solo se per ogni t TN, t è viva.

Page 103: Reti di Petri

Proprietà di “Liveness” (2)

Non è vero che aggiungendo token alla marcatura iniziale di una rete viva si ottiene ancora una rete viva.

Questa rete è viva.

.

.

.

Page 104: Reti di Petri

Proprietà di “Liveness”

.

.

.

Page 105: Reti di Petri

Proprietà di “Liveness”

.

.

.

Page 106: Reti di Petri

Proprietà di “Liveness”

.

.

.

Page 107: Reti di Petri

Proprietà di “Liveness”

.

.

.

Page 108: Reti di Petri

Proprietà di “Liveness”

.

.

.

.

Non è vero che aggiungendo token alla marcatura iniziale di una rete viva si ottiene ancora una rete viva. Questa rete non è viva.

Page 109: Reti di Petri

.

.

..

Proprietà di “Liveness”

Page 110: Reti di Petri

Grafo di copertura (9)

E` stato dimostrato che esiste una successione di reti di Petri con dimensioni linearmente crescenti tali che i corrispondenti grafi di copertura crescono rispetto al numero dei nodi piú velocemente di una qualsiasi funzione ricorsiva primitiva. Si ha di conseguenza che prese due reti P/T N, N’ con SN = SN’ è decidibile, ma non in tempo o spazio ricorsivo primitivo se [MN> [MN> o se [MN> = [MN>.

Page 111: Reti di Petri

Problema della raggiungibilità

Teorema. Data rete rete P/T N e una marcatura arbitraria M è decidibile se M [MN>.

Page 112: Reti di Petri

Invarianti di rete (1)

Proprietà di una rete P/T possono essere studiate individuando insiemi di posti che non cambiano il loro conteggio di token durante lo sparo delle transizioni. Tali insiemi di posti sono chiamati S-invarianti e sono caratterizzati come soluzioni di sistemi di equazioni lineari calcolabili con metodi dell’algebra lineare.

Esempio.t1 s2 t2

s1

t3 s4 t4

s5

t5

s3

Page 113: Reti di Petri

Invarianti di rete (2)

Consideriamo una rete P/T N con peso degli archi 1. Vogliamo caratterizzare l’insieme dei posti S SN tale che non cambia il conteggio totale dei token quando le transizioni sparano. Se S è un tale insieme di posti e s S allora per ciascuna

transizione t s. che può essere abilitata ci deve essere un

posto s’ t. che è contenuto in S (intuitivamente un token fluisce lungo gli archi (s,t) e (t,s’) da s a s’). Analogamente per

ogni transizione t .s che può essere abilitata ci deve essere

un posto s’ .t tale che un token fluisce lungo (s’,t) e (t,s) da s’ a s. Cosí S può essere caratterizzato da un insieme F di archi che soddisfa le richieste seguenti: 1) quando un arco appartenente a F parte o termina in un posto s allora tutti gli archi da e a s appartengono a F 2) per ciascun arco di F che termina in qualche transizione t c’è esattamente un arco appartenente a F che parte in t. Nell’esempio il conteggio dei token è costante per {s1,s2,s4,s5} e per {s1, s3, s4}.

Page 114: Reti di Petri

Invarianti di rete (3)

Il metodo non funziona se ci sono pesi degli archi maggiori di 1. In questo caso se il conteggio su S SN non cambia

quando spara una transizione t TN allora s . tSW(s,t) = s

t . SW(t,s) che equivale a s.tS t(s) = - st.S t(s) e anche a

s.tS t(s) + s t.S t(s) = 0 e anche a

s (. t t.) S t(s) = 0 e a sS t(s) = 0. Se sostituiamo S con il

suo vettore caratteristico cS abbiamo sSN t(s) . cS(s) = 0 o anche t . cS = 0.

Se il conteggio su S SN non cambia sotto sparo di transizioni arbitrarie la condizione t . cS = 0 deve essere soddisfatta per tutte le transizioni ti TN e quindi deve valere N’. cS = 0 con N’ la trasposta di N. Viceversa ogni soluzione c di N’. x = 0 è vettore caratteristico di un insieme di posti con conteggio costante.

Page 115: Reti di Petri

Invarianti di rete (4)

Data una rete P/T N un vettore i: SN Z è un S-invariante di

N se N’. i = 0.

Lemma. Se i1, i2 sono S-invarianti di una rete N e m Z anche m . i1 e i1 + i2 sono S-invarianti di N.

Page 116: Reti di Petri

Invarianti di rete (5)

Esempio

t1 t2 t3 t4 t5 i1 i2 i3 i4 s1 -1 -1 1 1 1 2

s2 1 -1 1 1 1

s3 1 1 -1 1 1 1

s4 1 -1 1 1 2

s5 1 1 -1 1 1 1

Page 117: Reti di Petri

Invarianti di rete (6)

I vettori i1 e i2 sono vettori caratteristici e il fatto che siano S-invarianti è interpretato che gli insiemi di posti {s1, s3, s4} e {s1, s2, s4, s5} hanno un conteggio dei token costante.

Possiamo dare un’interpretazione anche alle soluzioni che non sono vettori caratteristici. Il vettore i3 ci dice che un token su s1 conta quanto un token su s2 e un token su s3. Similmente un token su s4 conta quanto un token su s3 e un token su s5.

I token su s1 e s4 hanno un peso doppio rispetto ai token su s2. S3e s5. Se consideriamo questi pesi abbiamo conteggi di token pesati che rimangono costanti durante gli spari della rete.

Page 118: Reti di Petri

Invarianti di rete (7)

Siano M1 e M2 due marcature della rete dell’esempio e sia t una transizione tale che M1 [t> M2. Allora

2M1(s1) + 2M1(s4) + M1(s2) + M1(s3) + M1(s5) = 2M2(s1) + 2M2(s4) + M2(s2) + M2(s3) + M2(s5)

Con l’invariante i3

M1 . i3 = M2 . i3

Gli insiemi di posti con conteggio costante dei token sono ottenuti da insiemi di archi che portano da un posto in .t a un posto in t. . Si ha il lemma seguente.

Lemma. Sia N una rete P/T con un S-invariante positivo i e sia S = {s SN | i(s) > 0}. Allora .S = S..

Page 119: Reti di Petri

Invarianti di rete (8)

Teorema. Sia N una rete P/T. Allora, per ciascun invariante i di N e ciascuna marcatura raggiungibile M [MN>, M . i =

MN . i.

Prova. Siano M1, M2 [MN> e tTN tale che M1[t>M2.

Allora M1 = M2 + t e t . i = 0 perché i è un invariante. Perciò M2 . i = (M1 + t ) . i = M1 . i.

L’inverso del teorema assume che ogni transizione possa sparare almeno una volta, e quindi è vero in particolare per reti vive.

Teorema. Sia N una rete P/T viva e sia i: SN Z un vettore di

posti tale che, per ogni M [MN>, M . i = MN . i. Allora I è un

S-invariante.

Page 120: Reti di Petri

Invarianti di rete (9)

Una rete P/T è coperta da S-invarianti se per ciascun posto s SN esiste un S-invariante positivo i di N con i(s) > 0.

Corollario. Se una rete P/T è coperta da S-invarianti esiste un invariante i con i(s) > 0 per ogni s SN .

Prova. Dal fatto che la somma degli invarianti è un invariante.

Una rete P/T è limitata se e solo se MN è finita ed esiste un n N tale che, per ogni M [MN> e s SN , n M(s).

Teorema. Sia N una rete P/T e MN sia finita. Se N è coperta da S-invarianti allora N è limitata.

Page 121: Reti di Petri

Verifica di proprietà con gli S-invarianti (1)

Esempio. Supponiamo che a n processi in un sistema operativo sia consentito l’accesso a un buffer in lettura e scrittura. Quando nessun processo scrive nel buffer fino a n processi possono leggere, ma l’accesso al buffer per scrivere è consentito a un processo fin quando nessun altro processo sta leggendo o scrivendo nel buffer.

s3t0

t2 t5

t3

s5

s4

s1

s2

t4 t1

k

k

Page 122: Reti di Petri

Verifica di proprietà con gli S-invarianti (2)

Ogni processo è in uno di cinque stati rappresentati dai posti s0: processi inattivi, s1: processi pronti a leggere, s2: processi che leggono, s3: processi pronti a scrivere, s4: processi che scrivono, s5: sincronizzazione. Nello stato iniziale tutti i processi sono inattivi, quindi in s0 contiene n token. Il posto s5 contiene k token, quanti sono i processi che possono leggere nel buffer concorrentemente. Quando siano state eventualmente effettuate fino a k letture fino a n processi possono scrivere nel buffer

Page 123: Reti di Petri

Verifica di proprietà con gli S-invarianti (3)

t0 t1 t2 t3 t4 t5 i1 i2 MN

s0 -1 1 -1 1 1 n

s1 1 -1 1

s2 1 -1 1 1

s3 1 -1 1

s4 1 -1 1 k

s5 -1 1 -k k 1 k

Page 124: Reti di Petri

Verifica di proprietà con gli S-invarianti (4)

Usando l’invariante i1 abbiamo per ciascuna marcatura M [MN>

4 i 0 M(si) = 4 i 0 MN (si) = n

Ossia il numero dei processi rimane costante e ogni processo è in uno degli stati s0, s1, s2, s3, s4.

Usando l’invariante i2 abbiamo per ciascuna marcatura M [MN>

M(s2) + k.M(s4) + M(s5) = MN (s2) + k.MN (s4) + MN(s5) = k

Quindi s4 contiene al piú un token sotto M, ossia un solo processo può scrivere. Quando s4 ha un token s2 e s5 sono vuoti, ossia nessun processo può leggere il buffer. Il posto s2 ha al più k token, ossia al più k processi leggono concorrentemente (questo avviene quando M(s4)=0.

Si può anche vedere che la rete è viva.