Reti TB come reti ad alto livello?
Ma è davvero necessario sviluppare un’intera serie di nuove tecniche di analisi specifiche per le reti Time Basic, o è possibile riutilizzare almeno in parte metodologie già discusse?
Si potrebbe infatti immaginare di considerare le reti TB come un tipo particolare di reti ad Alto Livello (ER).
Come abbiamo già accennato, questo tipo di reti permettono infatti ai gettoni di avere un qualunque contenuto informativo e di definire le transizioni come una coppia predicato-azione: il predicato descrive la condizione di abilitazione della transizione in funzione dei valori dei gettoni nel preset, mentre l’azione determina che valore avranno i gettoni creati nel postset.
Volendo modellare il tempo come concetto derivato, ovvero non delineato esplicitamente ma che emerga comunque dal funzionamento della rete, si potrebbero quindi creare delle reti ad Alto Livello con le seguenti caratteristiche:
- contenuto informativo dei gettoni: un’unica variabile temporale chronos che contiene il timestamp della loro creazione;
- predicati delle transizioni: funzioni che controllano i timestamp dei gettoni nel preset e i propri tempi di scatto per determinare l’abilitazione o meno;
- azioni delle transizioni: generazione di gettoni dotati tutti dello stesso dato temporale, il quale è non minore dei timestamp di tutti i gettoni nella tupla abilitante.
Con queste accortezze è possibile riprodurre i timestamp e le regole di scatto di una rete TB. Come sappiamo bene, tuttavia, questo non basta per modellare il concetto di tempo: per avere un’espressività simile a quella delle reti Time Basic è infatti necessario anche il rispetto di una semantica temporale e, in particolare, di quella più stringente, ovvero la semantica temporale forte (STS).
Nelle reti ad Alto Livello bisognerà dunque far rispettare i cinque assiomi temporali perché la traduzione da reti TB a reti ER sia completa. Vediamo dunque come ciò potrebbe essere fatto:
-
gli assiomi A1 e A3 sono sufficientemente semplici da modellare all’interno dei predicati delle transizioni, rendendo così la semantica temporale debole rappresentabile nelle reti ad Alto Livello;
-
l’assioma A2 è già più complesso da realizzare, in quanto richiede che lo scatto di una transizione generi dei gettoni con un timestamp maggiore di quello di tutti gli altri gettoni nella rete (imponendo così che il tempo avanzi). Tuttavia tale limite può essere aggirato con l’aggiunta di un posto globale contenente il gettone dell’ultimo scatto e aggiunto al preset di ogni transizione: in questo modo il gettone nel posto globale rappresenterà il tempo corrente della rete e imporrà che i nuovi gettoni generati abbiano timestamp maggiore di esso. In questo modo una rete ER può realizzare anche la semantica temporale monotonica debole;
-
gli assiomi A4 e A5, invece, si rivelano estremamente problematici: essi richiedono infatti che ciascuna transizione conosca il massimo tempo di scatto di tutte le altre transizioni per “decidere” se poter scattare oppure no. I predicati delle transizioni dovrebbero cioè avere in input l’intero stato della rete: sebbene questa cosa sia teoricamente realizzabile con l’aggiunta di un posto globale in ingresso e uscita da ogni transizione in cui un gettone contenga come contenuto informativo l’intero stato della rete, nella pratica cio è irrealizzabile.
Come si vede, dunque, la necessità di modellare la semantica temporale forte fa sì che non si possa ridurre le reti TB a un caso particolare delle reti ER, perdendo così anche la possibilità di utilizzare le tecniche di analisi già sviluppate per esse.
Reti Time Petri ad Alto Livello (HLTPN)
Appurato che non è possibile tracciare un’equivalenza tra le reti TB e le reti ER viene dunque introdotto un modello ancora più completo, che racchiuda al suo interno sia gli aspetti funzionali delle reti ad Alto Livello sia gli aspetti temporali delle reti Time Basic: si tratta delle reti Time Petri ad Alto Livello (High-Level Time Petri Nets, HLTPN).
Come appare chiaro dalla figura, all’interno delle reti HLTPN gli aspetti funzionali possono dipendere da quelli temporali e viceversa, espandendo così incredibilmente le capacità rappresentative del modello. Si tratta di reti ovviamente molto complesse, anche se a dire il vero gran parte della complessità giunge dall’analisi della componente temporale: se riusciremo ad analizzare le reti temporizzate potremo riuscire ad analizzare anche le reti HLTPN.