...

Note su contatti e confusione sulle reti di Petri - e

by user

on
Category: Documents
27

views

Report

Comments

Transcript

Note su contatti e confusione sulle reti di Petri - e
Chiarimenti su contatti e confusione nelle reti
elementari
Queste note intendono chiarire le nozioni di contatto e confusione nelle reti
di Petri (ma non è detto che ci riescano: eventualmente, segnalatemi la necessità
di ulteriori spiegazioni).
1
Contatti
Si parla di contatto in una rete elementare quando, in un caso raggiungibile,
c’è un evento per il quale tutte le precondizioni sono vere, ed è vera anche una
postcondizione.
Dal punto di vista della teoria, un contatto non costituisce un problema:
la regola di scatto stabilisce che l’evento non è abilitato, senza alcuna ambiguità. La questione è molto più interessante dal punto di vista modellistico.
Considerate il seguente frammento di una rete elementare.
p1
t1
p2
t2
p3
t3
Interpretiamo gli stati locali p1 , p2 e p3 come tratti di una strada, di lunghezza sufficiente per essere occupati da un’automobile, e diciamo che una marca
in pi significa la presenza di un’automobile nel tratto corrispondente. Gli eventi rappresentano il movimento da un tratto al successivo. Se, nella situazione
indicata nella figura, l’automobile più a sinistra si sposta da p1 a p2 (scatto
dell’evento t1 ) nella rete si produce un contatto.
Nel modello formale, quindi, l’auto in p2 non può proseguire, e i passeggeri
sopravvivono tranquillamente. Nella realtà, purtroppo, le cose vanno in modo
diverso.
Questo esempio mostra che, in alcuni casi, un contatto in una rete corrisponde a una situazione “pericolosa”, e giustifica l’interesse della nozione teorica. Ci
sono altre ragioni per cui può essere interessante studiare i contatti, ma non ce
ne occupiamo qui.
Si noti che, sul piano formale, è facile eliminare i contatti, senza influire sul
comportamento della rete, aggiungendo a ogni stato locale il suo complemento.
Esercizio: che cosa potrebbero rappresentare, nel modello della strada, gli
stati complementari di p1 , p2 e p3 ? Possiamo ritenere che, con la loro introduzione, i nostri amici a bordo delle due automobili possano viaggiare serenamente?
1
2
Confusione
Si parla di confusione quando, assegnati un caso iniziale e uno finale, non è
possibile stabilire oggettivamente se, nel passare dall’uno all’altro, è stato sciolto
un conflitto fra due o più eventi. Consideriamo due casi paradigmatici, illustrati
dai due frammenti di reti elementari qui sotto.
p1
N1
N2
t1
p2
s1
s2
t2
t3
e1
e2
e3
p4
p5
s3
s4
s5
Supponiamo di sapere che N1 ha raggiunto il caso finale {p2 , p4 }. Poiché
gli eventi t1 e t2 sono indipendenti, non è possibile stabilire quale dei due sia
scattato prima, in una particolare esecuzione; perciò, non si può stabilire se
l’esecuzione sia passata dal caso {p3 , p2 }, nel quale c’è un conflitto effettivo fra
t2 e t3 .
Considerazioni analoghe valgono per N2 con caso finale {s3 , s5 }.
Si noti che, in N1 , se il caso finale osservato fosse {p5 }, potremmo dedurre
che l’esecuzione ha attraversato il caso {p3 , p2 }.
La nozione di confusione è rilevante quando un possibile conflitto in una rete
è associato a una decisione nel sistema reale, e alla decisione è associata una
responsabilità attribuita a un elemento del sistema.
Einar Smith ha dimostrato che, in un sistema che deve garantire la mutua esclusione fra due sezioni critiche, si avranno necessariamente situazioni di
confusione.
2
Fly UP