Analisys and Development of
Real Time Software
Giuseppe Lipari e Enrico Bini
Scuola Superiore S.Anna
Carlo Vitucci
Ericsson Italia
Applicazioni Real-time
Applicazioni reattive:

Interagiscono con l’ambiente in maniera
tempestiva

La risposta ad un evento deve avvenire
entro un tempo massimo predeterminato
(deadline)
evento
elaborazione
deadline
Applicazioni Real-time
Utente
Eventi:


Periodici
Aperiodici
Gli eventi sono
spesso asincroni


Programma
concorrente
Sistema operativo
real-time
>10 msec
1 msec
HW
Sviluppo di applicazioni RT
1. Progettazione dell’aspetto funzionale
2. Suddivisione in processi concorrenti
a. Comunicazione tra processi
b. Parametri (vincoli temporali, priorità)
3. Analisi temporale
4. Implementazione
1. Progetto delle funzionalità
Varie metodologie e tool


UML (es. Rational rose)
SDL (es. Telelogic)
Nessuna tratta gli aspetti temporali
esplicitamente
NOTA: la parola real-time è spesso
usata in maniera impropria
Prossimi sviluppi...
OMG sta definendo il profilo RT-UML


Permette l’annotazione di un progetto UML
con vincoli RT
Permetterà la verifica automatica dei vincoli
SDL potrà utilizzare UML come
notazione per parti della specifica
2. Scomposizione in processi
In gran parte fatta “manualmente”


Il progettista usa la sua esperienza
Non ci sono metodologie di supporto
Problemi:


Come distribuire le funzionalità
nei vari processi
Come assegnare le priorità
Supporto tramite tool
In SDL, generazione automatica del
codice secondo due modalità


Un unico processo
Più processi concorrenti
Nel secondo caso, non si può
intervenire facilmente sui
parametri
3. Analisi Real-time
Indica se i vincoli temporali
saranno rispettati
Meglio farla il prima possibile nel
ciclo di sviluppo


Per evidenziare potenziali problemi
Per calibrare le risorse da utilizzare
Serve un modo per esprimere i
vincoli temporali nella fase 1
Tool per l’analisi Real-Time
Tool commerciali


Tri-pacific
Timesys
Non facilmente integrabili con i tool
attualmente utilizzati in Ericsson

Prossimo futuro: RT-UML ?
Sommario
La progettazione di applicazioni realtime viene in parte fatta artigianalmente


Separazione della parte funzionale in
processi RT
Assegnamento delle priorità
Pochi strumenti di analisi e di
sintesi di supporto al progettista
per la parte real-time
Obiettivi della ricerca
Fornire una metodologia integrabile di
supporto all’analisi di applicazioni RT




Modello matematico dell’applicazione
Algoritmo per la scelta ottima dei parametri
(priorità ecc.)
Algoritmo per la garanzia dei vincoli
temporali
Integrazione della metodologia nel
processo di sviluppo
Work in Progress
Definizione di un modello matematico


“Modeling Event-driven Real-Time Applications
Using DAGs” E. Bini, G. Lipari, C. Vitucci, RealTime System Symposium, WIP session.
Viene proposto un modello basato su grafi per
modellare un’applicazione real-time
Next step

Algoritmo di ottimizzazione per ricavare le priorità
in maniera semi-automatica
Scarica

Slides 202 kb part 1