Un sistema di accesso in lettura e scrittura con le reti di Petri
Un processo di lettura e scrittura può essere descritto tramite le reti di Petri.
Esempio
In questo caso la rete di Petri è composta da due sottoreti. Una sottorete per l'accesso in lettura e un'altra per l'accesso in scrittura.
L'accesso in lettura
Un sistema consente l'accesso in lettura a due utenti che possono leggere contemporaneamente un documento.
Quando accede in lettura il primo utente scatta la transizione start read e il posto S si riduce di una marca.
La marca si sposta dal posto S al posto R.
Quando accede in lettura il secondo utente scatta di nuovo la transizione start read e il posto S si riduce ulteriormente di un'altra marca.
Ora nel posto S non ci sono più marche. Quindi, nessun utente può più accedere in lettura alla risorsa.
Quando un utente in lettura smette di leggere, scatta la transizione end read e una marca marca torna nel posto S.
L'accesso in scrittura
Quando accede in scrittura l'amministratore, scatta la transizione start write e tutte le marche sono contemporaneamente trasferite dal posto S al posto W.
Questo vuol dire che:
- l'amministratore può accedere in lettura soltanto quando nessun utente è in lettura, perché la transizione start write impiega tutte le marche del sistema
- se l'amministratore è in scrittura, nessun altro utente può accedere al sistema in lettura o in scrittura
Al termine della scrittura, scatta la transizione end write e tutte le marche tornano nel posto S.
Ora il documento è nuovamente disponibile in lettura e in scrittura.
E così via.