Progetto per il corso di sistemi in tempo reale

Documenti analoghi
Esercizi su automi temporizzati e Uppaal

Automazione. 4 Aprile 2016

Modelli e Metodi per l Automazione

Progetto e analisi di algoritmi

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.

Calcolo differenziale 2: Massimi e minimi. Studio di una funzione. (M.S.Bernabei & H. Thaler)

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

Automi Ibridi. Carla Piazza 1. Università di Udine 1 Dipartimento di Matematica ed Informatica

ẋ 1 = 2x 1 + (sen 2 (x 1 ) + 1)x 2 + 2u (1) y = x 1

Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Analisi Matematica Successioni e loro limiti

Prof. Milizia, Liceo Scientifico di Mesagne (BR) 1

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Matematica e Statistica per Scienze Ambientali

Informatica Teorica. Sezione Cremona + Como. Appello del 20 Luglio 2004

CIM Computer Integrated Manufacturing

CLASSE 3 ELETTRICO ESERCITAZIONI DI PLC

Esame di Sistemi ad Eventi Discreti

N.I413R UNI EN ISO 9001:2008

BILANCIAMENTO DI UNA LINEA DI MONTAGGIO MANUALE

Lezione 1 - Insiemi. Laboratorio di Programmazione M1 UD2 Matematica e Logica per la Programmazione

Esercizi di Programmazione Lineare - Dualità

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3.

ISTITUTO TECNICO COMMERCIALE DIONIGI PANEDDA Via Mameli, Olbia SS Tel Fax

Calcolo delle Probabilità 2

PROVE SCRITTE DI MATEMATICA APPLICATA, ANNO 2006/07

Analisi dei Processi Chimici e. Biotecnologici Anno Accademico

La dualità nella Programmazione Lineare

Laboratorio di Algoritmi

RiPresA Rilevazione presenze e gestione del personale

= x 2ex +3 ( sinx) = = 3+ 4 x 2ex 3 sinx

Statistica Metodologica

Luigi Piroddi

Dall idrostatica alla idrodinamica. Fisica con Elementi di Matematica 1

Calcolo della probabilità

Codi-Amo con Musica & Gioco

Calcolo differenziale 2: Massimi e minimi. Studio di una funzione. (M.S.Bernabei & H. Thaler)

Si consideri il seguente tableau ottimo di un problema di programmazione lineare

Prova Scritta di Ricerca Operativa

A.M.I.S. Srl Via Borgomasino, 71/ Torino Tel Fax

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività

Anno scolastico 2016 / Liceo Scientifico per le Scienze Applicate. Docente

Forza viscosa. Abbiamo visto che la forza di attrito in un fluido può essere modellizzata come: F A = kv legge di Stokes (1) F = kv 2 v v

Programmazione Dipartimento Area Scientifica T. Rossi A.S. 2015/2016

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica. Compressione dati

Calcolo differenziale 2: Massimi e minimi. Studio di una funzione. (M.S.Bernabei & H. Thaler)

Analisi Matematica 2 Ingegneria Gestionale Docenti: B. Rubino e R. Sampalmieri L Aquila, 21 marzo 2005

Calcolare x n = x x x (n volte)

PROGRAMMAZIONE DEL SINGOLO DOCENTE

Corso di Laurea in Ingegneria Gestionale - Sede di Fermo Anno Accademico 2009/2010 Matematica 2 Esercizi d esame

Una successione numerica è una funzione : che associa ad ogni numero naturale un numero reale :. In simboli:

METODI E MODELLI MATEMATICI PER LE APPLICAZIONI

ESERCIZI SULLE CATENE DI MARKOV. Docente titolare: Irene Crimaldi 18/11/2009 P =

AUTOMAZIONE INDUSTRIALE Prof. Luca Ferrarini

Schedulazione real-time di task PERIODICI

Laboratorio di Calcolo B 68

Ciclo do while in FORTRAN

per fisica: sistemi di unità di misura, conversioni ed equivalenze, velocità, accelerazione, forza, lavoro, potenza

Programmazione per competenze del corso Matematica, Quinto anno

Appunti tratti dal videocorso di Elettrotecnica 1 del prof. Graglia By ALeXio

Introduzione: informatica. 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco

ESERCITAZIONE CON EXCEL SULLE MATRICI

Funzioni lineari. Esercizi: Trova l espressione esplicita di una funzione lineare f:r R tale che la sua inversa sia f -1 (y)= 3y-4

Applicando lo stesso meccanismo al tipo puntatore, possiamo dichiarare un array di puntatori:

n n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita

FUNZIONI. }, oppure la

Corso di Matematica per le Scienze Sociali anno accademico 2001/02. Foglio di esercizi per casa numero 8 22 maggio Il concetto di derivata

1 RICHIAMI DALLA CLASSE QUARTA 2 FUNZIONI DI DUE VARIABILI 3 CALCOLO DI AREE, VOLUMI, LUNGHEZZE 4 I MODELLI DIFFERENZIALI

Esercitazione 11. Liste semplici

Problemi, algoritmi e oggetti

Cilindri Idraulici a staffa rotante

Scrivere il numero della risposta sopra alla corrispondente domanda. (voti: 2,0,-1, min=14 sulle prime 10) , C = [3 2 2], D =

FILTRAZIONE. Filtrazione a pressione costante. Filtrazione a portata costante

ISTITUTO LICEALE S. PIZZI PROGRAMMAZIONE DI MATEMATICA LICEO SCIENTIFICO

1) Che cos é la pressione? Qual è la sua unità di misura nel S.I.?

DISPOSITIVO DI COMANDO A 4 CANALI CON ATTUATORE MULTIFUNZIONE ART. 442ABT4R2

Cognome e Nome: Numero di Matricola: Spazio riservato alla correzione

Introduzione ai sistemi dinamici

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 15 giugno 2012

DESCRIZIONE 2 SOGGETTO

Variabili aleatorie: parte 1. 1 Definizione di variabile aleatoria e misurabilitá

CURRICOLO DI MATEMATICA CLASSE PRIMA

Risoluzione dei circuiti elettrici col metodo dei sistemi di equazioni

APPLICAZIONI DEL CONCETTO DI DERIVATA

Diagrammi a blocchi 1

1 - Estremo superiore ed estremo inferiore di insiemi

Scope, Memoria e Tabella dei Simboli

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

PROBLEMI DI GESTIONE

Corso di laurea in Informatica Calcolo Numerico Prof.ssa L. D Amore 12 Dicembre 2008 Esercizi di riepilogo tipo prova d esame

Prof. Milizia, Liceo Scientifico di Mesagne (BR) 1

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

Valutazione delle prestazioni

Valutazione delle prestazioni. Valutazione delle prestazioni. Tempo di risposta e throughput. Prestazioni e tempo di esecuzione

Introduzione ai Problemi di Flusso su Reti

Collaudo statico di un ADC

Compito del 14 giugno 2004

Lavoro ed energia. Lavoro di una forza Teorema dell energia cinetica Forze conservative Conservazione dell energia

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde

Transcript:

Progetto per il corso di sistemi in tempo reale Anno Accademico 2007-2008 Docente: Tiziano Villa tiziano.villa@univr.it Esercitatore: Davide Bresolin bresolin@sci.univr.it 7 Dicembre 2007 Esercizio 1: Uppaal Considerare il seguente sistema di automi temporizzati parzialmente specificato: Un matematico è una macchina per trasformare caffè in teoremi Paul Erdös, matematico ungherese Utilizzare Uppaal per completare il sistema specificando gli automi per la Macchina del caffè e per l Osservatore in modo che rispettino le seguenti specifiche. La Persona inserisce una moneta nella macchina, riceve un caffè e quindi scrive una pubblicazione scientifica. Tra le varie azioni della persona intercorre un certo ritardo. La Macchina del caffè impiega un certo tempo (non specificato) per preparare il caffè. Si richiede che l Osservatore riceva un flusso costante di pubblicazioni da parte della persona. In particolare, non possono passare più di 8 unità di tempo tra due pubblicazioni successive. Determinare il tempo massimo che la macchina può impiegare per preparare il caffè senza che si violino le specifiche. 1

Esercizio 2: HyTech e d/dt Considerare la seguente rete di automi che descrive un sistema cisterna/controllore. x = 15 chiusa ẋ = 2 ẏ = 0 x 0 apri y := 0 in apertura ẋ = 2 ẏ = 1 y 2 svuota x x min y = 2 y = 2 x = x max chiudi x = x min apri in chiusura ẋ = 5 2 ẏ = 1 y 2 chiudi y := 0 aperta ẋ = 5 2 ẏ = 0 riempi x x max (a) Implementare il sistema cisterna / controllore in HyTech e d/dt; (b) utilizzare HyTech per determinare per quali valori di x min e x max il livello dell acqua rimane all interno dell intervallo [5, 25]; (c) utilizzare d/dt per calcolare la regione raggiunta dal sistema, ponendo x min = 10 e x max = 20; Nota bene: d/dt non permette di definire sistemi composti da più automi. 2

Esercizio 3: PhaVer e Ariadne Considerare la seguente variazione del sistema dell esercizio precedente: x = 15 y = 0 chiusa ẋ = 0.1x ẏ = 0 x 10 x 10 y := 0 in apertura ẋ = 0.1x + 5y ẏ = 0.5 y 1 y 0 y := 0 y 1 y := 1 in chiusura ẋ = 0.1x + 5y ẏ = 0.5 y 0 x 20 y := 1 aperta ẋ = 0.1x + 5 ẏ = 0 x 20 (a) Implementare il sistema cisterna / controllore in PhaVer e Ariadne; (b) Calcolare la regione raggiunta e verificare se il livello dell acqua rimane tra 5 e 25. 3

Esercizio 4: Times Considerare un impianto industriale costituito da due nastri trasportatori, due braccia robotiche ed una pressa. Il Nastro trasportatore 1 sposta i pezzi da lavorare verso il Braccio 1, che li preleva e li sposta nella Pressa; la Pressa effettua la lavorazione del pezzo; il pezzo lavorato viene prelevato dal Braccio 2, che li deposita sul Nastro trasportatore 2. Il sistema è parzialmente specificato dai seguenti Task e dai seguenti template di automi temporizzati. Nome del task Tempo di esecuzione Scadenza Interfaccia CaricaNastro1 1 5 PiastraSuNastro1 := 1 Braccio1ANastro 3 10 PosBraccio1 := 1 Braccio1APressa 3 10 PosBraccio1 := 2 CaricaPressa 1 5 PressaCarica := 1 Vuoto CaricaNastro PiastraSuNastro == 1 go! x := 0 Nome del Template: Nastro Occupato piastra! PiastraSuNastro := 0, x := 0 Sposta x <= L Parametri: const L Variabili locali: clock x Variabili globali: int PiastraSuNastro urgent chan piastra urgent chan go x == L VaiAlNastro BraccioANastro PosBraccio == 1 piastra? PosBraccio == 2 carica? VaiAllaPressa BraccioAPressa Nome del Template: Braccio Variabili globali: int PosBraccio urgent chan piastra urgent chan carica 4

Vuota carica! x := 0 Caricamento CaricaPressa Nome del Template: Pressa Parametri: const T x == T PressaCarica := 0 Lavora x <= T PressaCarica == 1 go! x := 0 Variabili locali: clock x Variabili globali: int PressaCarica urgent chan carica urgent chan go Location_1 go? Nome del Template: Urgente Variabili globali: urgent chan go (a) Implementare il sistema in Times, aggiungendo i task e gli automi temporizzati mancanti e supponendo che: I nastri impieghino 12 unità di tempo per trasportare i pezzi La pressa impieghi 10 unità di tempo per la lavorazione (b) Effettuare l analisi di schedulabilità con le varie politiche disponibili: per quali politiche il sistema è schedulabile? (c) Verificare se il sistema rispetta le seguenti proprietà: Non va mai in deadlock: A[] not deadlock Ogni pezzo rimane sul nastro al massimo 15 unità di tempo: A[] not (Nas.x > 15) 5

Esercizio 5: Confronto tra programmi Il dominio applicativo dell esercizio è quello dei sistemi idraulici, costruiti a partire da tre componenti di base. La cisterna semplice l acqua esce dalla cisterna con = 1; v in se la cisterna è vuota, = 0; l entrata dell acqua nella cisterna dipende dagli altri componenti del sistema; il livello massimo dell acqua nella cisterna è 10; se il livello supera 10, la cisterna trabocca. La cisterna con pompa v in se la pompa è accesa, l acqua esce dalla cisterna con = 2; se la pompa è spenta, l acqua non esce; l attivazione/disattivazione della pompa dipende da due parametri x min e x max ; partenza e arresto della pompa sono istantanei; se la cisterna è vuota, = 0; l entrata dell acqua nella cisterna dipende dagli altri componenti del sistema; il livello massimo dell acqua nella cisterna è 10; se il livello supera 10, la cisterna trabocca. Il tubo v in ogni tubo ha una certa lunghezza l; se il tubo è pieno, v in = ; se il tubo è vuoto, = 0; il tubo deve riempirsi completamente prima che cominci ad uscire l acqua; l entrata dell acqua nel tubo dipende dagli altri componenti del sistema; Il sistema di partenza Considerare il seguente sistema costituito da una cisterna semplice, una cisterna con pompa ed un tubo: 6

il livello iniziale dell acqua è 7 in ogni cisterna; il tubo è lungo 2, ed inizialmente è vuoto; il livello massimo di ogni cisterna è 10; v p (a) Modellare il sistema mediante automi ibridi (b) Implementare il modello con HyTech, d/dt, Phaver e Ariadne (c) Determinare i valori per x min e x max tali che il sistema non trabocca mai (d) Complicare la dinamica ponendo = 0.2x e studiare il nuovo modello con d/dt, Phaver e Ariadne (e) Confrontare i risultati dei diversi programmi Complichiamo il sistema Il numero di cisterne può essere aumentato a piacere. La figura sottostante descrive, ad esempio, un sistema con 3 cisterne. v p (a) Modellare il sistema con un numero di cisterne pari a 3, 4, 5,... (b) Implementare i diversi modelli con HyTech, d/dt, Phaver e Ariadne (c) Confrontare i risultati dei diversi programmi: Per ogni programma, qual è il modello più complesso che si riesce a gestire? Quale programma si ferma prima? (d) Cosa succede se si complica la dinamica ponendo = 0.2x? 7

Relazione Scrivere una breve relazione analitica di 10-15 pagine (esclusi i listati) che comprenda, per ogni esercizio: Note 1. descrizione dell approccio utilizzato per risolverlo; 2. se necessario, la specifica delle parti mancanti del sistema; 3. discussione sulle eventuali scelte implementative; 4. i risultati prodotti dai software utilizzati; 5. un breve commento sui risultati. La relazione ed il codice completo degli esercizi vanno consegnati per e-mail al docente del corso ed all esercitatore. Per la relazione, non si accetteranno consegne via e-mail in formati diversi da PDF e Postscript. Il progetto può essere svolto da soli oppure in gruppi di al più due componenti. 8