Strutture elementari delle reti di Petri

Le reti di Petri possono rappresentare sistemi anche molto complessi, ma alla base esistono alcune strutture elementari che ne regolano il funzionamento.

I modelli fondamentali con cui si descrivono il flusso degli eventi e le possibili evoluzioni del sistema sono quattro: sequenza, concorrenza, sincronizzazione e conflitto.

Dalla combinazione di queste strutture nascono tutte le reti di Petri più articolate utilizzate in applicazioni reali.

La rete di Petri a struttura sequenziale

In una rete di Petri a struttura sequenziale gli eventi si succedono secondo un ordine predeterminato.

Pertanto, le transizioni scattano in base a una determinata sequenzialità.

Esempio

un esempio di struttura sequenziale

L'evento t2 si verifica solo dopo che l'evento t1 si è verificato.

L'evento t3 dopo l'evento t2.

La rete di Petri a struttura parallela

In una rete di Petri a struttura parallela gli eventi si succedono senza seguire un ordine prefissato.

E' anche detta rete a concorrenza strutturale.

Le transizioni scattano una dopo l'altra o contemporaneamente ma il flusso degli eventi non è predeterminato.

Questo richiede che gli eventi non siano in conflitto strutturale tra loro.

Nota. Se il parallelismo è vincolato a una transizione iniziale (detta parallel begin o par begin), le transizioni parallele che seguono (dette ramificazioni fork) sono contemporaneamente abiltate soltanto dopo lo scatto della transizione par begin.

Un esempio pratico

In questa rete l'evento t1 è la transizione par begin.

un esempio di struttura parallela

Dopo lo scatto della transizione t1 sono simultaneamente abilitate le transizioni t2 e t3 ( dette ramificazione fork ).

Il flusso successivo degli eventi non è comunque scritto.

Può scattare prima t2 e poi t3, o viceversa.

La rete di Petri a struttura sincronizzata

In una rete di Petri la sincronizzazione vincola l'abiltazione di un evento al verificarsi di altri eventi. E' anche detta operazione join.

In genere è abinata a una struttura parallela dove più processi sono eseguiti simultaneamente.

Una transizione, detta parallel end ( o par end ), scatta quando altre transizioni sono già scattate.

Un esempio pratico

In questa rete di Petri la transizione t3 è abilitata soltanto dopo lo scatto delle transizioni t1 e t2.

un esempio di sincronizzazione della rete di Petri ( par end )

Quindi, la transizione t3 è una transizione par end.

Se le transizioni t1 o t2 non sono già scattate, il flusso computazionale prima di t3 è sospeso.

La rete di Petri a conflitto strutturale

Una rete di Petri a conflitto strutturale è una struttura elementare che consente all'automa di fare una scelta tra eventi diversi e alternativi tra loro.

Un esempio pratico

In questa rete ci sono due transizioni (eventi) abilitate.

Soltanto un evento può verificarsi.

un esempio di rete a conflitto strutturale ( o scelta )

Quindi, se scatta la transizione t1, non scatta la transizione t2 e viceversa.

Nota. In questo semplice esempio ho considerato soltanto due scelte. Nulla vieta però di averne di più. Potrei configurarne tre, quattro o più. Il funzionamento è sempre lo stesso. Se scatta una transizione, si disabilitano le altre.

E così via.

Seguimi anche su YouTube  
 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Libri di approfondimento

Sistemi a eventi