Modellazione di processi: Le reti di Petri

Modellazione di processi: Le reti di Petri

 

Per modellare ed analizzare le attività di cui è composto un sistema, vi sono diversi strumenti a disposizione, come quello basato sulla teoria delle reti di Petri, introdotte nel 1962 da Carl Adam Petri, che presenta notevoli vantaggi. Si tratta, infatti, di una tecnica grafica e, in quanto tale, semplice da utilizzare. Nonostante ciò, si basa su un buon rigore formale, facendo sì che ogni processo sia definito in maniera chiara ed inequivocabile. Quindi le reti di Petri costringono ad utilizzare definizioni precise prevenendo ambiguità, incertezze e contraddizioni e, grazie alle forti basi matematiche, forniscono un formalismo che permette l’utilizzo di tecniche analitiche.
Le reti di Petri sono spesso utilizzate per modellare e gestire i flussi di lavoro che compongono un sistema e le sue proprietà comportamentali, come conflitti e concorrenza. Una rete di Petri è dunque un grafo orientato bipartito con due tipi di nodi, che prendono il nome di “posti” e “transizioni”, connessi da archi diretti. A tal proposito si veda la figura seguente.

Elementi di una rete di Petri
Elementi di una rete di Petri

 

Un arco può unire solamente nodi di tipo diverso, quindi posti con transizioni e viceversa. I posti sono rappresentati graficamente da cerchi e identificano delle condizioni, mentre le transizioni sono rappresentate da rettangoli e identificano eventi. La rete evolve passando attraverso una serie di stati, e lo stato è rappresentato graficamente collocando dei gettoni nei posti, chiamati “token”, rappresentati tramite dei punti di colore nero. Questi gettoni indicano lo stato di avanzamento delle operazioni descritte nei passi del processo. Ad ogni arco può essere associato un peso “w”, rappresentato da un numero intero positivo. Qualora la scrittura sia omessa, il peso è considerato unitario.

Modellazione di processi - Le reti di Petri

Nella rete di Petri, un concetto fondamentale è quello di “marcatura”, ovvero una funzione che assegna ad ogni posto della rete un numero intero di token. La configurazione iniziale della rete prende il nome di “marcatura iniziale”.

Quando una transazione è abilitata:

  • Consuma i token dal posto di input e li produce nel posto di output, secondo il peso dei rispettivi archi.
  • In tutti i posti in uscita dalla transizione si generano un numero di token pari al peso dell’arco che collega la transizione al posto.
  • L’istante in cui una transazione è abilitata prende il nome di “firing time”.

Come mostrato nella figura precedente, esistono due tipologie di transizioni:

  1. Transizioni immediate, rappresentate con un rettangolino di colore nero, caratterizzate da un “firing time” nullo. Con tale tipologia di transizioni si continuano a modellare gli eventi istantanei che caratterizzano il sistema rappresentato dalla rete di Petri.
  2. Transizioni temporizzate, rappresentate da rettangolini vuoti, caratterizzate da un “firing time” positivo. Con tale tipologia di transizioni si modellano i processi che caratterizzano il sistema rappresentato dalla rete di Petri.

La figura seguente presenta invece il metamodello della rete di Petri che abbiamo utilizzato nel nostro lavoro. Tale metamodello differisce da quello adottato in in quanto le transazioni temporali saranno trattate senza specificare l’intervallo in cui l’evento si verifica.
In questa analisi, i posti generalmente rappresentano:

  • Risorse, cioè macchine o impiegati; la presenza di token in tali posti indica la disponibilità della risorsa rappresentata.
  • Stato di un’operazione; la presenza di token in tali posti indica che l’operazione è in corso.

Al contrario, le transizioni generalmente rappresentano:

  • Attività, quando si utilizzano transizioni temporizzate.
  • Inizio o fine di attività, quando si utilizzano transizioni immediate.
Metamodello della rete di Petri
Metamodello della rete di Petri
Precedente Le funzioni dei sistemi informativi nel business per le aziende ICT Successivo Sviluppo del software: La metodologia Agile

Lascia un commento

*