Il 0% ha trovato utile questo documento (0 voti)
14 visualizzazioni34 pagine

Lezione R1: Introduzione Ai Sistemi Real-Time

La lezione introduce i sistemi real-time, evidenziando la loro interazione con i sistemi embedded e la necessità di rispettare vincoli temporali rigorosi. Viene fornita una definizione di sistema real-time e si discutono le differenze tra hard e soft real-time, con esempi pratici come il controllo degli air-bag e il sistema Patriot. La progettazione di software per sistemi embedded è cruciale, specialmente in applicazioni safety-critical, dove la teoria della schedulazione real-time gioca un ruolo fondamentale.

Caricato da

twinangel20
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
14 visualizzazioni34 pagine

Lezione R1: Introduzione Ai Sistemi Real-Time

La lezione introduce i sistemi real-time, evidenziando la loro interazione con i sistemi embedded e la necessità di rispettare vincoli temporali rigorosi. Viene fornita una definizione di sistema real-time e si discutono le differenze tra hard e soft real-time, con esempi pratici come il controllo degli air-bag e il sistema Patriot. La progettazione di software per sistemi embedded è cruciale, specialmente in applicazioni safety-critical, dove la teoria della schedulazione real-time gioca un ruolo fondamentale.

Caricato da

twinangel20
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Introduzione ai

sistemi real-time
Marco Cesati

Lezione R1
Introduzione ai sistemi real-time
Schema della lezione

Sistemi embedded
come RT

Un caso reale

Tipiche applicazioni
RT
Sistemi embedded e real-time
Definizione di real-time

Hard e soft real-time

25 settembre 2020

Marco Cesati
Dipartimento di Ingegneria Civile e Ingegneria Informatica
Università degli Studi di Roma Tor Vergata
SERT’20 R1.1
Introduzione ai
Di cosa parliamo in questa lezione? sistemi real-time
Marco Cesati

Questa è una lezione introduttiva sui sistemi real-time.


In particolare: Schema della lezione

Sistemi embedded
come RT

Un caso reale
1 discuteremo del rapporto tra sistemi embedded e sistemi
Tipiche applicazioni
real-time RT

Definizione di real-time
2 descriveremo alcuni esempi tipici di sistemi real-time
Hard e soft real-time
3 daremo una definizione formale di cosa si intende per
sistema real-time e di quali sono i suoi componenti
fondamentali
4 discuteremo sulla distinzione tra sistemi soft real-time e
sistemi hard real-time

SERT’20 R1.2
Introduzione ai
Sistemi real-time sistemi real-time
Marco Cesati
Definizione informale di sistema real-time: è un sistema
progettato per operare entro parametri temporali ben definiti

In pratica, un sistema real-time opera correttamente solo se


per ogni configurazione degli ingressi (input) viene prodotto la
Schema della lezione
giusta uscita rispettando vincoli temporali ben determinati Sistemi embedded
come RT

Perché in questo corso parliamo sia di sistemi embedded che Un caso reale

di sistemi real-time? Tipiche applicazioni


RT

Definizione di real-time
1 La maggior parte dei sistemi embedded è anche real-time, Hard e soft real-time
e viceversa
2 Nella progettazione di un sistema embedded non si può
trascurare quale sistema operativo e applicazione verrà
eseguita
3 La tipologia di sistema operativo real-time è un fattore
critico da considerare in tutte le applicazioni safety-critical
4 La teoria della schedulazione real-time studia cosa è
possibile ottenere avendo a disposizione risorse hardware
limitate
SERT’20 R1.3
Introduzione ai
Sistemi embedded come sistemi real-time sistemi real-time
Marco Cesati
I sistemi embedded interagiscono in modo significativo
con l’ambiente in cui sono “immersi”
Nella maggior parte dei casi hanno il compito di reagire
“rapidamente” a segnali provenienti dall’ambiente
Schema della lezione
Esempio: consideriamo il sistema embedded che controlla il
Sistemi embedded
rilascio degli air-bag di una automobile in conseguenza ad una come RT

collisione: Un caso reale

Tipiche applicazioni
RT
Se il sistema embedded rilascia l’air-bag in ritardo,
Definizione di real-time
l’essere umano subisce l’urto della collisione, poi viene
Hard e soft real-time
colpito con violenza dal cuscino in espansione
Se il sistema embedded rilascia l’air-bag in anticipo,
l’essere umano è ancora lontano dal cuscino ed il suo
movimento non viene frenato; poiché il cuscino si affloscia
subito, l’essere umano subisce l’urto della collisione

Il sistema embedded che controlla l’air-bag deve operare con


vincoli temporali estremamente rigorosi, altrimenti l’air-bag è
non solo inutile ma anche pericoloso
SERT’20 R1.4
Introduzione ai
Organizzazione del software nei sistemi embedded sistemi real-time
Marco Cesati

La progettazione dei sistemi embedded deve tenere in


considerazione aspetti quali la rapidità di sviluppo,
l’economia di scala, la manutenibilità, ecc.
Schema della lezione
Di conseguenza, non è possibile sviluppare l’hardware Sistemi embedded
senza considerare anche il progetto del software come RT

Un caso reale

Ad esempio, in un sistema embedded di fascia alta e con Tipiche applicazioni


RT
caratteristiche real-time si deve stabilire fin da subito quale Definizione di real-time
sistema operativo real-time dovrà essere utilizzato Hard e soft real-time

Anche nei sistemi embedded in cui non è utile inserire un


sistema operativo completo è necessario stabilire fin
dall’inizio l’organizzazione del software di controllo

Se il sistema embedded è safety-critical, la scelta


dell’organizzazione del software svolge un ruolo cruciale
nella possibilità di certificare il sistema per l’uso a cui è
destinato

SERT’20 R1.5
Introduzione ai
Teoria della schedulazione real-time sistemi real-time
Marco Cesati
Informalmente, molti risultati teorici della teoria della
schedulazione real-time assicurano il rispetto dei vincoli
temporali di un insieme di processi se l’utilizzo totale del
dispositivo di calcolo è inferiore ad una certa soglia
Dato un sistema real-time che deve assicurare Schema della lezione

Sistemi embedded
l’esecuzione nei tempi previsti di un insieme di funzioni, come RT
aumentare le risorse di calcolo a disposizione in genere Un caso reale

facilita l’effettivo rispetto dei vincoli temporali Tipiche applicazioni


RT

Lo sviluppo tecnologico delle piattaforme di calcolo ad uso Definizione di real-time

generale continua ad accrescere la potenza di calcolo Hard e soft real-time

disponibile per il progettista del sistema


Anche i sistemi embedded hanno un rapido sviluppo
tecnologico, ma altri aspetti oltre alla potenza di calcolo
possono predominare (consumo, costo, dimensione, . . . )

Nei sistemi embedded la potenza di calcolo è generalmente


ridotta, perciò il problema di cosa è possibile garantire
rispettando predeterminati vincoli temporali è fondamentale
SERT’20 R1.6
Introduzione ai
Una brutta storia sistemi real-time
Marco Cesati

Durante la prima Guerra del Golfo, il 25 febbraio 1991, un


missile iracheno Scud è lanciato verso l’Arabia Saudita
Il radar di un sistema missile anti-missile Patriot rileva la Schema della lezione
minaccia Sistemi embedded
come RT

Il computer integrato nel sistema Patriot calcola la Un caso reale

Tipiche applicazioni
traiettoria e deduce la posizione futura dell’oggetto in un RT
certo istante futuro Definizione di real-time

Hard e soft real-time


In quell’istante però il radar non rileva il missile nella
posizione corrispondente alla traiettoria calcolata, quindi il
sistema classifica il segnale come un “falso allarme”
Qualche minuto più tardi il missile colpisce la città di
Dhahran causando 28 vittime e danni ingenti

Quale è stato il motivo del fallimento del sistema Patriot?

SERT’20 R1.7
Introduzione ai
sistemi real-time
Marco Cesati

Schema della lezione

Sistemi embedded
come RT

Un caso reale

Tipiche applicazioni
RT

Definizione di real-time

Hard e soft real-time

SERT’20 R1.8
Introduzione ai
Una brutta storia (2) sistemi real-time
Marco Cesati

Il motivo dell’incidente: un bug nel sistema operativo del


computer del Patriot causava un ritardo sistematico
nell’aggiornamento dell’orologio di sistema
(57 microsecondi al minuto)
Schema della lezione

Il giorno dell’incidente, l’ultimo reboot del sistema Patriot Sistemi embedded


come RT
era stato fatto circa 100 ore prima Un caso reale

Di conseguenza, l’orologio di sistema aveva accumulato Tipiche applicazioni


RT
un ritardo di 343 millisecondi Definizione di real-time

Hard e soft real-time


Alla velocità di crociera del missile Scud, il ritardo
dell’orologio ha comportato un errore nel predire la
posizione del missile di 687 metri
Per la cronaca, gli israeliani avevano scoperto il bug
l’11 febbraio, ma:
il 25 febbraio non era ancora disponibile un aggiornamento
del software
Ai comandanti delle batterie di Patriot era stato detto di “fare
il reboot”, senza indicare però con quale frequenza. . .
SERT’20 R1.9
Introduzione ai
Una brutta storia (3) sistemi real-time
Marco Cesati

Perché i test del sistema Patriot non hanno scoperto il bug?

Perché il sistema non è stato mai provato nella specifica


condizione in cui si è verificato l’incidente (funzionamento
Schema della lezione
ininterrotto da oltre 100 ore)
Sistemi embedded
come RT

Molto spesso, risorse preziose e vite umane sono affidate Un caso reale

Tipiche applicazioni
al corretto funzionamento di sistemi informatici RT

In molti di questi casi uno dei fattori cruciali è il tempo: Definizione di real-time

Hard e soft real-time


parliamo di sistemi real-time
Non possiamo affidarci esclusivamente ai test di
funzionamento per escludere la presenza di gravi difetti in
questi sistemi informatici

Quando affidiamo le nostre vite ad un sistema, vogliamo


essere certi che il sistema è progettato e implementato
correttamente
SERT’20 R1.10
Introduzione ai
Cosa sono i sistemi real-time? sistemi real-time
Marco Cesati

I sistemi real-time sono sistemi progettati per operare entro


parametri temporali ben definiti

Tale definizione è poco rigorosa: più avanti in questa lezione Schema della lezione

Sistemi embedded
cercheremo di fornire una definizione migliore come RT

Un caso reale

È utile comunque avere innanzi tutto una idea di quali siano gli Tipiche applicazioni
RT
ambiti applicativi principali in cui vengono utilizzati i sistemi
Definizione di real-time
real-time Hard e soft real-time

Sistemi di controllo digitale


Sistemi di controllo ad alto livello
Processamento di segnali
Basi di dati temporali
Applicazioni multimediali

SERT’20 R1.11
Introduzione ai
Sistemi di controllo digitale sistemi real-time
Marco Cesati
Un gran numero di sistemi real-time sono integrati in sensori
ed attuatori e operano come sistemi di controllo digitale

Tipicamente, un sistema di controllo digitale esegue un ciclo


senza fine in cui: Schema della lezione

Sistemi embedded
Legge i dati forniti da alcuni sensori, generalmente come RT

Un caso reale
convertendo i segnali dal formato analogico a quello
Tipiche applicazioni
digitale RT

Definizione di real-time
Confronta lo stato del sistema sotto esame confrontandolo Hard e soft real-time
con uno stato obiettivo da raggiungere o mantenere e,
tramite una opportuna legge di controllo, determina i
segnali di uscita (output)
Converte l’output in segnali da fornire ad opportuni
attuatori per manipolare lo stato del sistema,
generalmente convertendo dal formato digitale a quello
analogico

Questo meccanismo è noto come feedback control loop


SERT’20 R1.12
Introduzione ai
Sistemi di controllo digitale (2) sistemi real-time
Marco Cesati
È possibile distinguere tra:
Sistemi a frequenza di campionamento unica: le iterazioni
del feedback control loop si ripetono con frequenza
costante
Schema della lezione
Sistemi multi-frequenza: differenti parti del sistema sono Sistemi embedded
come RT
analizzate a frequenze diverse, spesso armoniche tra loro
Un caso reale

Tipiche applicazioni
In generale i sistemi con feedback control loop funzionano RT

bene se: Definizione di real-time

Hard e soft real-time

1 I dati forniti dai sensori sono ragionevolmente accurati


2 I dati forniti dai sensori forniscono un quadro completo
dello stato del sistema
3 La dinamica del sistema è conosciuta con sufficiente
approssimazione

Se queste ipotesi non sono pienamente verificate, i sistemi di


controllo digitale devono implementare logiche di controllo
molto più complesse
SERT’20 R1.13
Introduzione ai
Esempio: schema di un “flight controller” per elicottero sistemi real-time
Marco Cesati

In ogni iterazione di un ciclo ripetuta ogni 1/180 secondo


vengono eseguiti i seguenti task:

T1 ) Valida i dati dei sensori per selezionare i dati da acquisire; Schema della lezione
in caso di guasti, riconfigura il sistema Sistemi embedded
come RT

T2 ) Esegui una delle seguenti funzioni “avioniche” (ciascuna Un caso reale

con frequenza 30 Hz): Tipiche applicazioni


RT

campiona i controlli del pilota Definizione di real-time

esegui normalizzazione di dati e trasformazione di Hard e soft real-time

coordinate
aggiorna la posizione del velivolo

T3 ) In alternativa a T2 , esegui una delle seguenti funzioni “di


controllo” (ciascuna con frequenza 30 Hz):
calcolo della legge di controllo “esterna” per pitch
calcolo della legge di controllo “esterna” per roll
calcolo della legge di controllo “esterna” per yaw e
movimento
SERT’20 R1.14
Introduzione ai
Esempio: schema di un “flight controller” per elicottero (2) sistemi real-time
Marco Cesati

T4 ) Esegui una delle seguenti funzioni “di controllo” (ciascuna


con freq. 90 Hz), utilizzando i risultati di T2 e T3 :
calcolo della legge di controllo “interna” per pitch
Schema della lezione
calcolo delle leggi di controllo “interne” per roll e per il
Sistemi embedded
movimento come RT

Un caso reale
T5 ) Esegue il calcolo della legge di controllo “interna” per yaw Tipiche applicazioni
RT
usando i risultati prodotti da T4
Definizione di real-time

T6 ) Fornisce i segnali di output agli attuatori Hard e soft real-time

T7 ) Esegue test interni di consistenza

Perché esistono leggi di controllo “interne” ed “esterne”?

Le leggi di controllo “interne” sono computazionalmente


leggere ma danno risultati approssimati, quelle “esterne”
danno risultati esatti ma sono computazionalmente più pesanti
SERT’20 R1.15
Introduzione ai
Roll, pitch e yaw sistemi real-time
Marco Cesati

Schema della lezione

Sistemi embedded
come RT

Un caso reale

Tipiche applicazioni
RT

Definizione di real-time

Hard e soft real-time

SERT’20 R1.16
Introduzione ai
Roll, pitch e yaw sistemi real-time
Marco Cesati

Schema della lezione

Sistemi embedded
come RT

Un caso reale

Tipiche applicazioni
RT

Definizione di real-time

Hard e soft real-time

SERT’20 R1.17
Introduzione ai
Roll, pitch e yaw sistemi real-time
Marco Cesati

Schema della lezione

Sistemi embedded
come RT

Un caso reale

Tipiche applicazioni
RT

Definizione di real-time

Hard e soft real-time

SERT’20 R1.18
Introduzione ai
Esempio: schema di un “flight controller” per elicottero (3) sistemi real-time
Marco Cesati

Job Freq. I I I I I I
√1 √2 √3 √4 √5 √6
Validazione sensori 180 Hz √
Controlli pilota 30 Hz √
Elaborazione dati 30 Hz √ Schema della lezione
Aggiornam. posizione 30 Hz √ Sistemi embedded
Pitch esterno 30 Hz √
come RT

Roll esterno 30 Hz √
Un caso reale

Tipiche applicazioni
Yaw+movim. esterno 30 Hz √ √ √ RT

Pitch interno 90 Hz √ √ √ Definizione di real-time

Roll+movim. interno 90 Hz √ √ √ √ √ √
Hard e soft real-time

Yaw interno 180 Hz √ √ √ √ √ √


Output attuatori 180 Hz √ √ √ √ √ √
Self-test 180 Hz

Ogni “job” ha una propria frequenza di esecuzione


All’interno di ciascuna iterazione vengono eseguiti
esattamente sei “job”
SERT’20 R1.19
Introduzione ai
Sistemi di controllo ad alto livello sistemi real-time
Marco Cesati
In genere i sistemi complessi sono controllati da gerarchie di
sistemi di controllo

Ad esempio, in una sala di terapia intensiva di un ospedale


potremmo trovare, procedendo dal basso verso l’alto:
Schema della lezione

Sistemi embedded
Sistemi di controllo digitale per l’impianto di controllo del come RT

battito cardiaco, della respirazione, e degli altri parametri Un caso reale

vitali di ciascun paziente Tipiche applicazioni


RT

Definizione di real-time
Sistemi di controllo digitale per gli impianti che
Hard e soft real-time
somministrano ossigeno, medicinali, ecc.
Un sistema di controllo generale per ciascun letto, che
fornisce il quadro clinico di ciascun paziente
Un sistema di controllo dell’intera sala che attiva allarmi
per il personale sanitario nel caso il quadro clinico di un
qualunque paziente cambi bruscamente

I sistemi di controllo di livello più basso sono sistemi embedded


mentre quelli di livello più alto sono computer general-purpose
SERT’20 R1.20
Introduzione ai
Processamento di segnali sistemi real-time
Marco Cesati
La maggior parte delle applicazioni che processano segnali
hanno requisiti temporali più o meno stringenti: l’elaborazione
deve avvenire entro tempi prestabiliti (da qualche millisecondo
a qualche secondo), altrimenti non è più di alcuna utilità
Ad esempio, si consideri un sistema radar: Schema della lezione

Sistemi embedded
Una antenna viene puntata in una certa direzione ed come RT

emette una breve impulso elettromagnetico Un caso reale

L’antenna viene posta in ricezione ed ascolta eventuali Tipiche applicazioni


RT
segnali di eco riflessi da un ostacolo a distanza Definizione di real-time
Il segnale ricevuto viene elaborato per filtrare il rumore Hard e soft real-time

d’ambiente e misurare il ritardo dell’eco (distanza) e la sua


frequenza (spostamento Doppler ossia velocità relativa)
Il dato ottenuto viene confrontato con quelli ottenuti in
precedenza in modo da associare l’oggetto come un
nuovo rilevamento, oppure un rilevamento precedente in
movimento lungo una data traiettoria

Tutto ciò deve essere compiuto in tempo reale prima di


muovere l’antenna e ricominciare con un altro settore di spazio
SERT’20 R1.21
Introduzione ai
Basi di dati temporali sistemi real-time
Marco Cesati

Con il termine “basi di dati temporali” si fa riferimento a varie


tipologie di sistemi informativi in cui la valenza ed il significato
dei dati memorizzati è direttamente correlato al fattore “tempo”
Schema della lezione

Mentre in una base di dati tradizionale un dato non aggiornato Sistemi embedded
come RT
rimane valido indefinitivamente, in una base di dati temporale Un caso reale
un dato non aggiornato o non fornito in tempo utile non ha più Tipiche applicazioni
valore o significato RT

Definizione di real-time

Hard e soft real-time


Tipici esempi:

Controllo del traffico aereo


Controllo di missione di un velivolo

Controllo di un satellite
Controllo del mercato finanziario

SERT’20 R1.22
Introduzione ai
Applicazioni multimediali sistemi real-time
Marco Cesati

Una classe di sistemi real-time molto vasta è quella delle


applicazioni multimediali che processano flussi audio/video
Schema della lezione

Sistemi embedded
come RT
I flussi senza compressione sono enormi ed ingestibili, perciò Un caso reale
le applicazioni devono comprimere e decomprimere i flussi Tipiche applicazioni
secondo standard sofisticati RT

Definizione di real-time

Hard e soft real-time

L’elaborazione di ciascun frame deve avvenire in tempo utile!

Ad esempio, lo spettatore nota con fastidio uno sfasamento tra


i movimenti della bocca e la voce maggiore di 160 millisecondi

SERT’20 R1.23
Introduzione ai
Definizione di sistema real-time sistemi real-time
Marco Cesati

Un sistema è una associazione (mapping) tra un insieme di


ingressi (input) ed un insieme di uscite (output)

In informatica generalmente gli ingressi sono costituiti dai dati


Schema della lezione
forniti ad un insieme di programmi per calcolatore, e le uscite
Sistemi embedded
sono i risultati prodotti da tali programmi come RT

Un caso reale
La correttezza logica di una applicazione informatica è definita
Tipiche applicazioni
come la capacità di produrre in modo deterministico le uscite RT

corrette in funzione di ogni possibile configurazione di ingressi Definizione di real-time

Hard e soft real-time

Un sistema real-time è un sistema la cui correttezza logica


dipende non solo dal risultato fornito come uscita ma anche
dall’istante temporale in cui tale risultato è reso disponibile

Applicazione real-time: un programma (od un insieme di


programmi) aventi vincoli temporali ben definiti
Sistema real-time: l’insieme di dispositivi hardware e
software che rendono possibile la corretta esecuzione di
una applicazione real-time
SERT’20 R1.24
Introduzione ai
Tassonomia dei sistemi real-time sistemi real-time
Marco Cesati
1 Puramente ciclici: ogni task nel sistema viene eseguito
periodicamente; non esistono variazioni significative
nell’uso di risorse nel tempo. La maggior parte dei sistemi
di controllo digitali appartiene a questa categoria.
2 Perlopiù ciclici: la maggior parte dei task nel sistema viene Schema della lezione

Sistemi embedded
eseguita periodicamente, ma esistono eventi esterni come come RT

guasti o comandi da operatore da gestire quando Un caso reale

necessario. Esempio: sistemi avionici. Tipiche applicazioni


RT
3 Asincroni ma grosso modo predicibili: La maggior parte Definizione di real-time

dei task non sono periodici, ma le loro frequenze di Hard e soft real-time

esecuzione ricadono entro limiti prefissati o opportune


statistiche. Fanno parte di questa categoria le applicazioni
multimediali e l’elaborazione dei segnali radar.
4 Asincroni e impredicibili: Esistono casi di applicazioni che
devono reagire ad eventi asincroni tramite task molto
onerosi dal punto di vista computazionale. Un esempio è
un sistema esperto che debba analizzare uno scenario e
prendere una decisione in conseguenza di un evento
straordinario.
SERT’20 R1.25
Introduzione ai
Job e task sistemi real-time
Marco Cesati

Un job è una unità di lavoro che può essere schedulata ed


eseguita da un sistema real-time

Esempi di job: Schema della lezione

Sistemi embedded
come RT
un processo eseguito da una CPU
Un caso reale
la spedizione di un messaggio tramite un canale di Tipiche applicazioni
comunicazione RT

Definizione di real-time
la lettura di un file da un dispositivo di memoria di massa
Hard e soft real-time

Un task è un insieme di job tra loro correlati che insieme


realizzano una determinata funzione del sistema

Esempio di task:
job che acquisisce valori da alcuni sensori
job che converte tali valori in formato appropriato
job che aggiorna con tali valori opportune strutture di dati
SERT’20 R1.26
Introduzione ai
Processori e risorse sistemi real-time
Marco Cesati

Un processore è una componente attiva del sistema real-time


in grado di “eseguire” un job

Esempi di processori: Schema della lezione

una CPU (i job sono i processi eseguiti) Sistemi embedded


come RT
un canale di rete (i job sono i messaggi spediti) Un caso reale
un disco rigido (i job sono i file acceduti) Tipiche applicazioni
RT

Definizione di real-time
Una risorsa è una componente passiva del sistema real-time la
Hard e soft real-time
cui disponibilità è necessaria per eseguire alcuni job

Qual è la reale differenza tra processori e risorse?


Un processore è dotato di una intrinseca velocità: più è
rapido, maggiore è il numero di job che può eseguire nello
stesso tempo
Una risorsa non può incidere sulla velocità d’esecuzione
dei job: un esempio di risorsa è un semaforo che protegge
una struttura di dati condivisa SERT’20 R1.27
Introduzione ai
Vincoli temporali dei job sistemi real-time
Marco Cesati

L’istante di rilascio (release time) di un job è l’istante di tempo


in cui il job diventa disponibile per l’esecuzione

L’istante di rilascio di un job non coincide necessariamente con Schema della lezione

l’istante in cui esso inizia ad essere eseguito! Sistemi embedded


come RT

Un caso reale

Tipiche applicazioni
La scadenza (deadline) di un job è l’istante temporale entro cui RT

il job deve aver completato l’esecuzione Definizione di real-time

Hard e soft real-time

Spesso è conveniente ragionare in termini di tempo di risposta


di un job, ovvero l’intervallo di tempo trascorso tra il suo
release time e l’istante in cui esso completa l’esecuzione

La scadenza relativa (relative deadline) di un job è il massimo


tempo di risposta ammesso per esso

scadenza (assoluta) = istante di rilascio + scadenza relativa


SERT’20 R1.28
Introduzione ai
Sistemi hard e soft real-time sistemi real-time
Marco Cesati

Si fa spesso riferimento in letteratura ad una distinzione tra


applicazioni e sistemi hard real-time e soft real-time

Qual è la differenza tra i due termini? Schema della lezione

Sistemi embedded
In pratica, non esiste una definizione universale per il come RT

Un caso reale
significato di questi termini
Tipiche applicazioni
RT

Esistono invece molte definizioni differenti e contraddittorie, la Definizione di real-time

maggior parte basate alternativamente su: Hard e soft real-time

quanto è tollerabile violare i vincoli temporali di un job


quanto è utile completare il job anche dopo la scadenza
imposta

quanto è statisticamente frequente la violazione dei vincoli


temporali di un job

SERT’20 R1.29
Introduzione ai
Tollerabilità della violazione dei vincoli temporali sistemi real-time
Marco Cesati
Una diffusa definizione di applicazione hard real-time è quella
per cui un fallimento nel rispettare i vincoli temporali di qualche
job è un “guasto fatale” dagli effetti potenzialmente disastrosi
L’applicazione che controlla i freni di un treno è hard real-time:
Schema della lezione
il conducente aziona il comando del freno perché il treno
Sistemi embedded
incontra un semaforo rosso: deve essere eseguito un job come RT

che arresta il treno entro un certo tempo Un caso reale

violare il vincolo temporale di questo job è un guasto Tipiche applicazioni


RT
fatale: il treno potrebbe non fermarsi prima di arrivare ad Definizione di real-time
una tratta di binario già occupata Hard e soft real-time

il mancato rispetto del vincolo temporale è assimilabile al


guasto meccanico dell’impianto frenante del treno
Nei casi in cui la violazione di un vincolo temporale è
indesiderabile ma non è assimilabile ad un guasto fatale si
parla di applicazione soft real-time
Qual è il limite di questa definizione?
Quanto grave deve essere un guasto per definirsi “fatale”?
Ciascuno ha una propria opinione sulla gravità dei fallimenti
SERT’20 R1.30
Introduzione ai
Utilità del job in ritardo sistemi real-time
Marco Cesati
In base a questa definizione, la distinzione tra hard real-time e
soft real-time dipende quantitativamente dall’utilità del risultato
prodotto dal job in funzione del suo ritardo

Si definisce tardività (tardiness) di un job il ritardo con cui esso Schema della lezione

completa l’esecuzione rispetto alla sua scadenza Sistemi embedded


come RT

Un caso reale

L’utilità del risultato di un job soft real-time decresce Tipiche applicazioni


RT
gradualmente in funzione della sua tardività, mentre l’utilità del Definizione di real-time
risultato di un job hard real-time si abbatte bruscamente non Hard e soft real-time
appena la tardività cresce e può addirittura diventare negativa
Cosa si intende per “utilità negativa”?
Significa che completare il job dopo la sua scadenza è
controproducente (esempio: job di sgancio di una bomba)
Qual è il limite di questa definizione?
Anche in questa definizione l’assegnazione della funzione di
utilità ai job è arbitraria e frutto di opinioni personali
SERT’20 R1.31
Introduzione ai
Vincoli temporali deterministici o probabilistici sistemi real-time
Marco Cesati
In base a questo tipo di definizione, se un job non deve mai
violare i propri vincoli temporali, si parla di hard real-time

Viceversa, se un job può occasionalmente violare i vincoli


temporali, ma la probabilità che ciò accada è accettabilmente
Schema della lezione
bassa, si parla di soft real-time Sistemi embedded
come RT

Ad esempio, le specifiche di un certo job soft real-time Un caso reale

potrebbero richiedere che esso completi la sua esecuzione Tipiche applicazioni


RT
entro un minuto il 99.999% delle volte, ossia con probabilità di Definizione di real-time
superare ciascuna deadline inferiore a 10−5 Hard e soft real-time

Qual è il limite di questa definizione?

Benché si asserisca che nel caso hard real-time un vincolo


temporale non deve mai essere violato, in pratica ciò non può
essere garantito in modo deterministico: esiste sempre una
probabilità, per quanto piccola, che il sistema si guasti

Poiché non si considerano le conseguenze dei fallimenti, tutti i


sistemi potrebbero essere definiti soft real-time
SERT’20 R1.32
Introduzione ai
Definizione operativa di hard e soft real-time sistemi real-time
Marco Cesati

Il vincolo temporale di un job è hard real-time, e di


conseguenza anche il job ed il sistema che lo include lo sono,
se è richiesta una validazione che i vincoli temporali sono Schema della lezione
sempre soddisfatti Sistemi embedded
come RT

Un caso reale

Tipiche applicazioni
La validazione è una dimostrazione formale, svolta tramite una RT

procedura efficiente e dimostrabilmente corretta, oppure è una Definizione di real-time

Hard e soft real-time


evidenza sperimentale prodotta da adeguate ed esaustive
attività di simulazione e test

Il vincolo temporale di un job è soft real-time se non è richiesta


una procedura di validazione, oppure se è sufficiente una
dimostrazione che il job non fallisce entro precisi limiti statistici

SERT’20 R1.33
Introduzione ai
Definizione operativa di hard e soft real-time (2) sistemi real-time
Marco Cesati
Dal punto di vista di un libro di teoria la “definizione operativa”
è adeguata, per altri versi è anch’essa insoddisfacente
“Il sistema è hard real-time se deve essere validato. . . ma in
quali condizioni il sistema deve essere validato?”
Schema della lezione

Per il progettista la “definizione operativa” può essere inutile! Sistemi embedded


come RT

Un caso reale

Concettualmente, in fase di sviluppo di un sistema real-time: Tipiche applicazioni


RT

si effettua una analisi dei rischi (ambiente di esecuzione, Definizione di real-time

safety e security, implicazioni in caso di guasto, . . . ) Hard e soft real-time

la classificazione dei rischi individuati diventa il modello di


riferimento per valutare significato e gravità dei fallimenti
i meccanismi di riduzione dei rischi portano alla definizione
di vincoli temporali che il sistema deve soddisfare
il rispetto dei vincoli temporali è quindi la condizione per
minimizzare i rischi, e tale rispetto è tanto più importante
quanto maggiore è la gravità del rischio associato
Non esiste una metrica universale di “gravità del rischio”, ma
esiste una metrica particolare per ogni singolo progetto SERT’20 R1.34

Potrebbero piacerti anche