Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Marcello Cinque
1
Libri per il corso
⚫ Libro di testo:
⚫ G. Buttazzo – Sistemi in Tempo Reale – Pitagora Editrice
2
Introduzione ai Sistemi in Tempo Reale
⚫ Caratteristiche desiderabili
⚫ Problematiche di progetto
⚫ Riferimenti
⚫ G. Buttazzo – Sistemi in Tempo Reale –
Pitagora Editrice (Cap. 1 – Par. 1.1-1.2)
3
Sistemi in Tempo Reale
⚫ I sistemi in tempo reale (o real-time) sono quei
sistemi di calcolo in cui la correttezza di
funzionamento non dipende solo dalla validità
dei risultati ma anche dal tempo in cui i risultati
sono prodotti.
4
Cosa significa tempo reale?
⚫ La caratteristica che distingue l’elaborazione in
tempo reale dagli altri tipi di elaborazione è il tempo
⚫ La parola tempo indica che la validità dei risultati prodotti
non dipende solo dalla correttezza delle elaborazioni ma
dal tempo in cui i risultati sono ottenuti;
⚫ La parola reale indica che la risposta del sistema agli
eventi esterni deve avvenire durante l’evolversi degli
eventi stessi, e quindi il tempo interno di sistema deve
essere misurato secondo un riferimento temporale uguale
a quello dell’ambiente in cui esso opera.
5
Applicazioni
⚫ L’interesse per i sistemi real-time è motivato dalla
loro crescente diffusione nella nostra società.
⚫ Settori applicativi sempre più numerosi:
⚫ Sistemi di controllo (di volo, di automobili,
di impianti chimici e nucleari, …)
⚫ Sistemi di controllo del traffico (aereo, ferroviario)
⚫ Sistemi di sorveglianza e monitoraggio ambientale
⚫ Automazione industriale e robotica
⚫ Missioni spaziali e sistemi militari
⚫ Sistemi di telecomunicazione e multimediali
⚫ …
6
Applicazioni
REQUISITI
7
Esempio: controllo digitale
r(t)
u(t) y(t)
C P
controller plant
y(t) u(t)
r(t)
t t
8
Esempio: controllo digitale
r(t) rk
A/D uk u(t) y(t)
control-law
computation D/A Actuator P
A/D
yk
digital controller
Sensor
y(t) u(t)
r(t)
t t
9
Esempi di microcontrollori
10
Schema della legge di controllo
set timer to interrupt periodically with period T;
at each timer interrupt, do:
do A/D conversion to get y;
compute control output u;
output u and do D/A conversion;
end do;
y(t) u(t)
r(t)
t t
12
Come scegliere il periodo di
campionamento T ?
⚫ Una buona regola empirica è quella di scegliere T
come un decimo del tempo di salita R:
T = R/10
⚫ Tempo di Salita (R): tempo necessario alla risposta y
dell’impianto per per portarsi dal 10% al 90% del valore di
regime r.
13
Come scegliere il periodo di
campionamento T ?
⚫ La situazione si complica nei sistemi multi-rate
⚫ sistemi composti da più sensori ed attuatori, per controllare
differenti grandezze contemporaneamente
⚫ es., velocità di rotazione e temperatura di un motore
⚫ In questo caso il controllore deve eseguire più
processi di controllo, ognuno con il suo periodo di
campionamento
⚫ … e ogni processo deve eseguire la propria legge di
controllo entro il proprio periodo …
Processo (o task): sequenza di istruzioni che, in assenza
di altre attività, viene eseguita dal processore in modo
continuativo fino al suo completamento.
Un processo è un programma in esecuzione.
14
Deadline
15
Hard e soft real-time
⚫ Processo hard real-time: la violazione della propria
deadline comporta un effetto catastrofico sul sistema
⚫ Acquisizione dati sensoriali; rilevamento di condizioni critiche;
pianificazione di azioni senso-motorie di sistemi che
interagiscono strettamente con l’ambiente, …
⚫ Processo soft real-time: la violazione della propria
deadline comporta un degrado delle prestazioni,
senza compromettere il corretto funzionamento del
sistema
⚫ Interprete dei comandi; visualizzazione di messaggi sul
monitor, attività grafiche, salvataggio dati, …
16
Applicazioni
VINCOLI TEMPORALI
17
Tempo reale e velocità
⚫ Spesso il concetto di tempo reale è erroneamente
associato alla velocità di reazione del sistema
⚫ In realtà, sebbene le prestazioni dei computer miglio-
rino continuamente, non è scontato considerare che i
vincoli temporali di un’applicazione siano verificati
⚫ Mentre l’obiettivo generale di un’elaborazione veloce è
quello di minimizzare il tempo medio di risposta di un
insieme di processi, l’obiettivo di un’elaborazione
real-time è quello di soddisfare i requisiti temporali
individuali di ciascun processo.
18
Tempo reale e velocità
⚫ Quando i processi hanno dei requisiti individuali che
devono essere rispettati, le prestazioni medie
assumono scarsa rilevanza rispetto al corretto
funzionamento del sistema
19
efficienza prevedibilità
VINCOLI TEMPORALI
20
Caratteristiche desiderabili dei
sistemi real time
⚫ Timeliness: i risultati devono essere corretti non solo
nei valori, ma anche nel dominio del tempo.
21
Caratteristiche desiderabili dei
sistemi real time
⚫ Monitorabilità: il sistema deve poter monitorare lo
stato di esecuzione dei processi al fine di segnalare
eventuali superamenti di deadline.
22
Problematiche di progetto e sviluppo
⚫ Spesso, i sistemi real time vengono progettati e
realizzati adottando tecniche empiriche
⚫ Gestione di eventi temporali attraverso grosse porzioni di
codice assembler
⚫ Realizzazione delle azioni di controllo in driver di basso livello
per la gestione delle periferiche di ingresso/uscita
⚫ Gestione diretta della priorità delle interruzioni
⚫ Sebbene il codice prodotto possa risultare efficiente,
esso comporta diversi svantaggi:
⚫ Programmazione laboriosa
⚫ Difficile comprensibilità e manutenibilità del codice
⚫ Difficile verifica dei vincoli temporali
23
Problematiche di progetto e sviluppo
25
Problematiche di progetto e sviluppo
26
Il ruolo dei sistemi operativi real time
⚫ I recenti sistemi real time si avvalgono sempre più
spesso di sistemi operativi real-time (RTOS), i quali
introducono meccanismi di nucleo predisposti a
gestire esplicitamente la variabile tempo, quali:
⚫ La schedulazione dei processi
⚫ La mutua esclusione e la sincronizzazione
⚫ La comunicazione a scambio di messaggi
⚫ La gestione delle interruzioni e della memoria
⚫ …
⚫ Ciò consente di realizzare software di controllo
⚫ con linguaggi di programmazione di alto livello
⚫ con maggiore robustezza rispetto al soddisfacimento dei
vincoli temporali
27
Real Time Operating Systems
VRTX
28
⚫ … chiaramente l’uso corretto di un RTOS è un buon
inizio, ma non è la soluzione a tutti i problemi
⚫ I sistemi critici vanno comunque progettati facendo
assunzioni pessimistiche, al fine di portare in conto
tutte le situazioni più gravose
Costante di Murphy
Le cose vengono danneggiate in proporzione al loro
valore.
Legge di Green
Se un sistema è stato concepito per tollerare un
insieme di guasti, ci sarà sempre un idiota abba-
stanza ingegnoso da causare un guasto non tollerato.
29