Università di Firenze – Dipartimento di Sistemi e Informatica
Attività dell’Unità di Firenze attinenti a
modellazione, simulazione e analisi
di sistemi reattivi distribuiti nello spazio
G.Bucci, E.Vicario, F.Baldini, L.Sassoli
{bucci,vicario,fbaldini, sassoli}@dsi.unifi.it
Sistemi reattivi tempo dipendenti
•
La correttezza dipende requisiti non funzionali
 Tempificazione degli eventi
 Sequenzializzazione degli eventi
 Applicazioni di controllo industriale, Componenti di software
embedded, …
•
In molti contesti diventano rilevanti anche aspetti legati alla
spazialità
 Configurazione spaziale del sistema
 Vincoli di tipo spaziale
 Evoluzione dinamica del sistema
Esempio:
Sistemi di instradamento del traffico ferroviario
•
•
•
Regolazione degli scambi
Regolazione dei semafori
Distanziamento
Esempio:
Celle di assemblaggio AGV (Automatic Guided Vehicles)
•
•
•
Rispetto della sequenza e dei tempi delle lavorazioni
Collision avoidance: modellazione di sensori ed
elaborazione di dati da essi provenienti
Deadlock avoidance: controllo dell’instradamento per
evitare la congestione
Esempio:
Reti ad hoc
•
Sistemi di esplorazione con controllo remoto
 Controllo della distanza reciproca delle unità per il
mantenimento della connessione wireless col sistema di
controllo
Modellazione con Reti di Petri Tempificate
•
Time Petri Nets permettono la
specifica e la validazione di:
 Tempificazione
 Sequenzializzazione
•
E.g. sistemi di controllo industriale:
 Ogni lavorazione richiede un tempo

•
minimo (e massimo) per il completamento
Le lavorazioni devono essere svolte
secondo una sequenza
(e.g. catena di montaggio)
Problema: i modelli TPN non permettono di catturare le
caratteristiche spaziali del sistema
 Evoluzione della configurazione spaziale nel tempo (mobilità)
 Vincoli di spazialità legati alla configurazione dell’ambiente e alla
evoluzione dinamica
Visualizzazione in un ambiente virtuale della evoluzione
spaziale controllata da un modello TPN
•
•
La presenza di un gettone in un
posto indica uno stato di
operazione per un oggetto mobile
Il progresso di una transizione
modella la condizione di
esecuzione di una azione nello
spazio
(e.g. spostamento lungo un
percorso predefinito)
Esempio:
applicazione al controllo di instradamento del traffico
•
In fase di simulazione il modello TPN simula il software di
controllo del sistema
 Genera comandi per le unità mobili in accordo alla tempificazione e

alla sequenzializzazione espressa nel modello
Permette la visualizzazione della evoluzione dello stato del controllo
(Token Game) e della configurazione spaziale del sistema
(Animazione)
[5,5]
Muovi_treno1
-> stazione
[3,3]
Treno1_prosegui ->
prossima stazione
Stazione
[2,2]
[5,5]
Muovi_treno2
Muovi_treno2
Limiti nella modellazione
•
•
L’evoluzione del modello TPN non è condizionata dalla
configurazione spaziale e dalla velocità degli oggetti mobili
Esempio: cella di assemblaggio con due veicoli AGV
 I veicoli si muovono sul percorso assegnato per il tempo determinato

dalla transizione
Le collisioni tra veicoli non sono rilevate né gestite
[100,100]
[98,98]
[99,99]
Move Truck1
Truck1
[100,100]
[98,98]
[99,99]
Move Truck2
Limiti nella modellazione
•
La configurazione spaziale deve potere condizionare la evoluzione
dello stato logico
 La configurazione spaziale è parte dello stato del modello
 L’occorrenza di una condizione nella configurazione spaziale
costituisce un evento che modifica lo stato logico
[100,100]
[98,98]
[99,99]
Move Truck1
Truck1
[98,98]
[99,99]
[100,100]
Move Truck2
Estensione del modello TPN
•
Il modello deve includere informazioni spaziali e cinematiche
 Posizione degli oggetti mobili
 Percorso su cui sono instradati
 Velocità degli oggetti mobili
•
L’evoluzione del modello deve accoppiare l’evoluzione delle
componenti logica e spaziale dello stato
 Leggi cinematiche che aggiornano la posizione degli oggetti mobili in
base al progresso nell’esecuzione delle transizioni
 Condizionamento della evoluzione dello stato logico del modello alla
configurazione spaziale del sistema
Spatial TPN
oggetti, percorsi, velocità
•
•
Ogni transizione del modello può essere associata a un oggetto
mobile, un percorso su cui l’oggetto è instradato, e un valore di
velocità
La transizione opera come controllore per l’oggetto
 L’oggetto è instradato sul path associato
 L’oggetto si muove con il valore di velocità associato alla transizione
y
[100,100]
y2
Move Truck1, Path p1, Speed 10
Truck1
y1
Position
(x1,y1)
Path p1
[100,100]
Move Truck2, Path p2, Speed 10
Path p2
x1
x2
x
Spatial TPN:
Aggiornamento della configurazione spaziale
•
•
•
Aggiornamento della posizione degli oggetti mobili
Cambiamento del percorso di instradamento
Variazione della velocità
y
[98,98]
[99,99]
[100,100]
Move Truck1
Truck1: (x1+speed*2T,y1)
(x1,y1)
(x1+speed*T,y1)
T
y1
T
[100,100]
Path p1
Truck1
Move Truck2
Truck2: (x2,y2)
Path p2
x1
x1+speed*T
x1+speed*2T
x
Spatial TPN:
Guardie sulla configurazione spaziale
•
L’evoluzione dello stato logico del modello è condizionata dalla
configurazione spaziale attraverso vincoli sulla posizione relativa
degli oggetti mobili
 condizioni relative alla presenza di una unità mobile su un path e/o
entro una distanza
[100,100]
Move AGV1
Truck1:(x1,y1); Path p1; Speed 10
[100,100]
Truck1
Move AGV2
Sensing
Field
Truck1:(x1,y1); Path p1; Speed 10
Vincoli: forward sensing system
Modellazione, simulazione e analisi
nell’ambiente ORIS
Time Petri Nets
TPN Editor
TPN Animator
TPN Analyzer
3D Objects
3D Object
Assembler
3D Environments
3D Environment
Composer
3D Environment
Animator
Tool di modellazione
•
Editor TPN
 Interfaccia grafica per la creazione di modelli di Petri
 Permette la specifica di intervalli temporali per le transizioni
•
e la specifica delle condizioni iniziali
Estensione al caso di sistemi con caratteristiche spaziali
 Oggetti mobili
 Percorsi
 Caratteristiche cinematiche (velocità)
Tool di modellazione
•
3D Object Assembler
 Assemblaggio di oggetti virtuali 3D da librerie di componenti
 Implementazione basata su Java 3D
•
Attualmente il tool permette la modellazione di robot virtuali
 È possibile creare librerie per la creazione di oggetti 3D diversi
Tool di modellazione
•
Virtual Environments Composer
 Organizza su una scena gli oggetti creati con 3D Object Assembler
 Definizione dei percorsi e dei parametri specifici per gli oggetti
mobili
•
Possibile estensione del tool per la creazione di schemi di
visualizzazione diversi
(e.g. visualizzazione 2D di un quadro sinottico ferroviario)
Tool di Simulazione
• TPN Animator (Token game
tempificato)
 Mostra l’evoluzione del modello
TPN nel tempo
 Produce i comandi di animazione
per gli oggetti mobili
•
3D Environment Animator
 Ricostruisce gli ambienti virtuali
creati con il tool “Environment
Composer”
 Riceve i comandi da TPN
Animator e gestisce l’esecuzione
dei thread di animazione
Esempio:
simulazione di un sistema di instradamento ferroviario
•
[7,7]
Il modulo di presentazione può
essere adattato a contesti
applicativi diversi e a simulatori
diversi (2D e 3D)
T1 prosegui – b1
Vincolo: b1 libero
[5,5]
[5,5]
T1 prosegui – b2
Vincolo: b2 libero
T1 move-scambio, speed=2
[5,5]
Stazione
[5,5]
T2 move-stazione, speed=5 T2 prosegui, speed=5
Binario b1
Treno T2
Binario b2
Treno T1
Analisi dello spazio degli stati
•
•
•
Lo stato di un modello TPN dipende da:
 Marcamento
 Insieme dei time to fire delle transizioni in progresso
Nei modelli TPN estesi per la modellazione di sistemi con spazialità,
questo include anche lo stato degli oggetti mobili
 Posizione degli oggetti
 Percorso su cui attualmente sono instradati
Enumerazione dello spazio degli stati
 Grafo di raggiungibilità
 Informazioni sui comportamenti critici rispetto a vincoli di tempo reale o di

configurazione spaziale
Calcolo della probabilità degli stati
Esempio
cella di assemblaggio con automatic guided vehicles (AGV)
• Gestione del traffico
 Assenza di collisioni basato su “controllo in avanti”

(forward sensing control) sui veicoli mobili
Assenza di stalli
• Il comportamento del sistema
Unload Area
AGV2
Unload
Area AGV1
è difficilmente predicibile
 Il controllo è complesso
 Le tempificazioni delle

operazioni di manipolazione e degli
istanti di partenza dei
veicoli sono non deterministiche
Dipendenza da vincoli spaziali
Load Area
AGV1
Load Area
AGV2
AGV2
AGV1
Docking
Station
Modellazione con il tool ORIS
•
•
TPN Editor: modello di Petri
Virtual Environments Composer: arrangiamento iniziale e
traiettorie
ANALIZZATORE
Rilevazione di stalli
(situazioni in cui i veicoli non
possono procedere senza collidere)
Risultati sperimentali preliminari nell’analisi
• La simulazione dà solo parziale confidenza sul corretto funzionamento
del sistema e sulla assenza di stalli
• L’analisi esaustiva dello spazio degli stati del modello TPN esteso
permette di avere garanzie di correttezza:
 Rilevazione delle situazioni di stallo
 Identificazione degli sfasamenti critici tra gli istanti di partenza dei veicoli
0
Ritardo partenza di AGV1
risp. a
AGV2 di AGV1
Partenza
Numero di stati
generati
Numero di deadlock
rilevati
Sfasamenti
AGV1 [0,40]
AGV2 [0,0]
Partenza
434939
32
AGV1 [0,0]
AGV2 [0,40]
319695
Istante di partenza
di
AGV2
0
critici
40 sec
Ritardo partenza di AGV2
19
risp. a AGV1
istanti critici
40 sec
40 sec
Scarica

Problemi di modellazione, simulazione e analisi di sistemi reattivi