12. Progettare Sistemi Real-Time - PowerPoint PPT Presentation

About This Presentation
Title:

12. Progettare Sistemi Real-Time

Description:

Title: Software Engineering Subject: Cap 1 Author: tino cortesi Last modified by: Tino Cortesi Created Date: 10/9/1997 2:26:57 PM Document presentation format – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 37
Provided by: tino49
Category:

less

Transcript and Presenter's Notes

Title: 12. Progettare Sistemi Real-Time


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
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
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
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
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
Architettura di un sistema real-time
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
Processi sensore/attuatore
9
Progettazione del sistema
  • Le decisioni di progettazione sono molto legate a
    requisiti non funzionali del sistema
  • Partiziona le funzionalità dellhardware e del
    software
  • Identifica gli stimoli che devono essere
    elaborati, le risposte corrispondenti, e i
    vincoli di tempo associati ad ogni stimolo
  • Aggrega i processi stimolo/risposta in processi
    concorrenti. Ad ogni classe di stimolo e risposta
    può essere associato un processo

10
Progettazione del sistema
  • Progetta gli algoritmi corrispondenti ad ogni
    classe stimolo/risposta, garantendo che
    rispondano ai requisiti di tempo
  • Progetta un sistema di scheduling che assicuri
    che i processi vengano attivati al momento
    opportuno
  • Integra il sistema con un real-time executive
    (RTE) o con il sistema operativo
  • 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
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
Macchina a stati finiti microonde
13
Stati del forno a microonde
14
Stimoli del forno a microonde
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
Thread piena potenza
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
Real-time Executive
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
Assegnare priorità ai processi
  • La gestione di alcuni stimoli può avere priorità
    su altre
  • Livelli di priorità legati alle interruzioni. La
    priorità più alta viene data ai processi che
    richiedono risposta veloce
  • Livelli di priorità legati al clock. Legati a
    processi periodici
  • Altre combinazioni

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
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
Gestione di processi con RTE
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
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
  • I sistemi di monitoraggio esaminano i sensori e
    ne riportano i risultati
  • I sistemi di controllo prendono i valori dei
    sensori e controllano gli attuatori hardware

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
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
Requisiti sui tempi di risposta
29
(No Transcript)
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
Sistema di controllo della temperatura
30
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
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
Monitoraggio del flusso di un reattore
35
Un buffer ad anello
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
Write a Comment
User Comments (0)
About PowerShow.com