240 likes | 402 Views
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.
E N D
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] [2,2] [3,3] [5,5] Treno1_prosegui -> prossima stazione Muovi_treno1 -> stazione Muovi_treno2 Muovi_treno2 Stazione
Limiti nella modellazione Truck2 [100,100] [100,100] [99,99] [98,98] • 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 Move Truck1 Truck1 [100,100] [99,99] [98,98] Move Truck2
Limiti nella modellazione Truck2 [100,100] [99,99] [98,98] [100,100] [99,99] • 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 Move Truck1 Truck1 [100,100] [99,99] [98,98] [100,100] [99,99] 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 TPNoggetti, percorsi, velocità Truck2 Position (x2,y2) y [100,100] y2 • 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 Move Truck1, Path p1, Speed 10 Truck1 Position (x1,y1) y1 Path p1 [100,100] Move Truck2, Path p2, Speed 10 Path p2 x2 x1 x
Spatial TPN:Aggiornamento della configurazione spaziale • Aggiornamento della posizione degli oggetti mobili • Cambiamento del percorso di instradamento • Variazione della velocità y Truck2 [98,98] [99,99] [100,100] Move Truck1 Truck1: (x1+speed*2T,y1) Truck1: (x1,y1) Truck1: (x1+speed*T,y1) T T y1 [100,100] Path p1 Truck1 Move Truck2 Truck2: (x2,y2) Path p2 x1+speed*T x1 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 Truck2 Truck1:(x1,y1); Path p1; Speed 10 [100,100] Truck1 Move AGV2 Truck1:(x1,y1); Path p1; Speed 10 Sensing Field Vincoli: forward sensing system
Modellazione, simulazione e analisi nell’ambiente ORIS Time Petri Nets TPN Editor TPN Animator TPN Analyzer 3D Environments 3D Objects 3D Environment Composer 3D Object Assembler 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 simulatoridiversi (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] [5,5] T2 move-stazione, speed=5 T2 prosegui, speed=5 Stazione 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
Esempiocella 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 è 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 Unload Area AGV2 Unload Area AGV1 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 Ritardo partenza di AGV1 risp. a AGV2 40 sec Partenza di AGV1 0 Sfasamenti critici Partenza di AGV2 40 sec istanti critici 0 Ritardo partenza di AGV2 risp. a AGV1 istanti critici 40 sec