La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 12. Progettare Sistemi Real-Time Progettare sistemi software il cui comportamento è condizionato da vincoli di tempo Mostreremo perché i sistemi real-time.

Presentazioni simili


Presentazione sul tema: "1 12. Progettare Sistemi Real-Time Progettare sistemi software il cui comportamento è condizionato da vincoli di tempo Mostreremo perché i sistemi real-time."— Transcript della presentazione:

1 1 12. Progettare Sistemi Real-Time Progettare sistemi software il cui comportamento è condizionato da vincoli di tempo Mostreremo perché i sistemi real-time sono progettati come insieme di processi concorrenti che cooperano Mostreremo lutilità dei modelli di stato nella progettazione di sistemi real-time Descriveremo la piattaforma di supporto richiesta da questi sistemi Introdurremo architetture generiche per alcuni tipi di sistemi real-time

2 2 Sistemi Real-time Sistemi che effettuano il monitoraggio o il controllo del loro ambiente Sono sempre associati a dispositivi hardware Sensori: Raccolgono dati dallambiente del sistema Attuatori: Modificano (in qualche modo) lambiente del sistema Il fattore tempo è critico: I sistemi real-time devono rispondere entro un tempo specificato

3 3 Hard/Soft Real-Time Systems Un sistema real-time è un sistema il cui corretto funzionamento dipende dai risultati prodotti dal sistema e dal tempo necessario per produrre tali risultati. Un sistema real-time soft è un sistema le cui operazioni subiscono un degrado se i risultati non sono prodotti nei tempi specificato Un sistema real-time hard è un sistema in cui le operazioni sono errate se i risultati non sono prodotti nei tempi specificati

4 4 Sistemi a Stimolo/Risposta Dato uno stimolo, il sistema deve produrre una risposta entro un tempo specificato Stimoli periodici: stimoli che si verificano a intervalli di tempo predicibili Ad esempio un sensore che rileva la temperatura dellambiente può essere consultato 10 volte al secondo Stimoli aperiodici: stimoli che si verificano a tempi non predicibili Per esempio, un black-out elettrico può causare uninterruzione che deve essere elaborata da un sistema di shut-down automatico.

5 5 Architettura di un sistema Real-Time Larchitettura del sistema deve permettere switch veloci tra i gestori degli stimoli I vincoli di tempo legati ai diversi stimoli possono essere diversi; un semplice loop sequenziale può non essere adeguato I sistemi real-time sono di solito progettati come processi cooperativi con una centralina che controlla questi processi

6 6 Architettura di un sistema real-time

7 7 Elementi del sistema Processi di controllo dei sensori Raccolgono informazioni dai sensori. Possono bufferizzare linformazione raccolta in risposta allo stimolo del sensore Processi che elaborano dati Sono responsabili dellelaborazione di dati raccolti e producono la risposta del sistema Processi di controllo degli attuatori Generano segnali di controllo per gli attuatori

8 8 Processi sensore/attuatore

9 9 Progettazione del sistema Le decisioni di progettazione sono molto legate a requisiti non funzionali del sistema 1. Partiziona le funzionalità dellhardware e del software 2. Identifica gli stimoli che devono essere elaborati, le risposte corrispondenti, e i vincoli di tempo associati ad ogni stimolo 3. Aggrega i processi stimolo/risposta in processi concorrenti. Ad ogni classe di stimolo e risposta può essere associato un processo

10 10 Progettazione del sistema 4. Progetta gli algoritmi corrispondenti ad ogni classe stimolo/risposta, garantendo che rispondano ai requisiti di tempo 5. Progetta un sistema di scheduling che assicuri che i processi vengano attivati al momento opportuno 6. Integra il sistema con un real-time executive (RTE) o con il sistema operativo 7. Esegui simulazioni e sperimentazioni per assicurare che i vincoli di tempo siano soddisfatti dal sistema I vincoli di tempo possono imporre luso di costrutti a basso livello o labbandono di progettazione OO per ragioni di efficienza

11 11 Modello macchina a stati finiti Leffetto di uno stimolo può essere modellato come passaggio da uno stato ad un altro, usando una modellizzazione con macchina a stati finiti I modelli FMS sono difficilmente strutturabili. Sistemi anche semplici possono avere un modello complesso Per gestire la complessità in un modello di macchina a stati finiti si possono usare diagrammi di thread che mostrano le sequenze legate ad ogni singolo evento

12 12 Macchina a stati finiti: microonde

13 13 Stati del forno a microonde

14 14 Stimoli del forno a microonde

15 15 Diagramma di thread Usati per strutturare e presentare linformazione del modello a stati finiti Mostra lelaborazione end-to-end di un particolare insieme di stimoli Per ogni combinazione di messaggi, bisogna produrre un diagramma dei threads. Questo rende impraticabile questo approccio in presenza di stimoli multipli

16 16 Thread piena potenza

17 17 Real-time executives Un Real-time executive è un sistema operativo specializzato che gestisce processi in sistemi real-time: allocazione di processori e di memoria Non include facilities come la gestione di files Componenti: Real Time Clock: offre informazioni per lo scheduling Gestore Interruzioni: gestisce richieste aperiodiche di servizi Scheduler: seleziona il prossimo processo da eseguire Resource manager: alloca risorse (processori e memoria) Dispatcher: determina linizio dellesecuzione dei processi

18 18 Real-time Executive

19 19 Componenti di un sistema non-stop Configuration manager Responsabile della riconfigurazione dinamica del sistema software e hardware. I moduli hardware devono essere sostituiti e deve essere fatto lupgrade di quelli software senza che il sistema si blocchi. Fault manager Responsabile dellindividuaizone di guasti hardware o software, e delle azioni conseguenti (ad es. attivare il gruppo di continuità) per assicurare che il sistema continui ad operare.

20 20 Assegnare priorità ai processi La gestione di alcuni stimoli può avere priorità su altre 1. Livelli di priorità legati alle interruzioni. La priorità più alta viene data ai processi che richiedono risposta veloce 2. Livelli di priorità legati al clock. Legati a processi periodici 3. Altre combinazioni

21 21 Gestione delle interruzioni Il controllo viene trasferito automaticamente a una locazione di memoria predeterminata Questa locazione contiene unistruzione per saltare alla routine corrispondente allinterrupt Ulteriori interruzioni sono disabilitate; linterrupt viene gestito e il controllo restituito al processo interrotto Le routines di servizio delle interruzioni devono essere semplici e veloci.

22 22 Gestione dei processi periodici Nella maggior parte dei sistemi real-time, ci sono diverse classi di processi periodici, ognuno con una diversa periodicità (il tempo tra unesecuzione e laltra), tempo di esecuzione scadenza (il tempo entro cui il processo deve essere completato) Il clock scatta periodicamente ed ogni scatto causa un interrupt che schedula il process manager per processi periodici Il process manager seleziona un processo che è pronto per essere eseguito

23 23 Gestione di processi con RTE

24 24 Switch di processi Lo scheduler sceglie il prossimo processo che deve essere eseguito. Questo dipende da una strategia di scheduling che deve tener conto del livello priorità dei singoli processi Il resource manager alloca memoria e un processore al processo che deve essere eseguito il dispatcher prende un processo dalla lista di quelli pronti per essere eseguiti, lo carica in un processore e ne inizia lesecuzione

25 25 Sistemi di monitoraggio e di controllo Sistemi che comprendono sensori che attuano periodicamente delle verifiche sul proprio ambiente e che attivano azioni in risposta ai valori dei sensori 1. I sistemi di monitoraggio esaminano i sensori e ne riportano i risultati 2. I sistemi di controllo prendono i valori dei sensori e controllano gli attuatori hardware

26 26 Sistema di allarme anti-intrusione Sensori Sensori dambiente, alle finestre, alle porte Azioni Quando un intruso viene segnalato, la polizia viene allertata immediatamente Si accendono le luci nelle stanze con sensori attivi Viene attivata una sirena Il sistema passa automaticamente al gruppo di continuità appena viene segnalato una caduta di tensione elettrica

27 27 Stimoli da elaborare Black-out elettrico Segnale aperiodico generato monitorando il circuito. Quando viene ricevuto il sistema deve attivare entro 50 ms. il gruppo di continuità Allarme dintrusione Stimolo generato dai sensori del sistema. La risposta è una chiamata alla polizia, laccensione delle luci e della sirena

28 28 Requisiti sui tempi di risposta

29 29

30 30 Sistemi di controllo Il sistema di allarme è soprattutto un sistema di monitoraggio. Colleziona dati dai sensori, ma non ha un controllo real-time degli attuatori I sistemi di controllo sono simili, ma in risposta ai valori dei sensori, i sistemi mandano segnali agli attuatori Esempio di sistemi di monitoraggio e controllo è un sistema che controlla la temperatura e accende o spegne la caldaia ed i termosifoni in un sistema di riscaldamento

31 31 Sistema di controllo della temperatura 30

32 32 Sistemi di acquisizione dati Raccolgono dati da sensori per essere successivamente elaborati e analizzati Il processo di raccolta dati e di elaborazione possono avere periodicità e deadlines diverse La raccolta dati può essere più veloce dellelaborazione (es. raccolta di informazioni su unesplosione) Le differenze di velocità possono essere trattate usando buffers circolari (o ad anello)

33 33 Raccolta dati di un reattore Il sistema raccoglie dati da sensori che monitorano il flusso di neutroni da un reattore nucleare Il flusso dei dati viene posto su un buffer per essere elaborato successivamente Il buffer ad anello è a sua volta implementato come un processo concorrente, così che la raccolta dati e lelaborazione possano essere sincronizzati

34 34 Monitoraggio del flusso di un reattore

35 35 Un buffer ad anello

36 36 Mutua esclusione Il produttore raccoglie dati e li aggiunge al buffer. Il consumatore elabora i dati dal buffer e rende disponibili i risultati I processi produttore e consumatore devono essere mutuamente esclusivi. Il buffer deve inibire il processo del produttore quando è pieno, e deve interrompere il processo del consumatore quando tenta di prendere informazione dal buffer vuoto


Scaricare ppt "1 12. Progettare Sistemi Real-Time Progettare sistemi software il cui comportamento è condizionato da vincoli di tempo Mostreremo perché i sistemi real-time."

Presentazioni simili


Annunci Google