Analisys and Development of Real Time Software Giuseppe

  • Slides: 13
Download presentation
Analisys and Development of Real Time Software Giuseppe Lipari e Enrico Bini Scuola Superiore

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: n Interagiscono con l’ambiente in maniera tempestiva n La risposta

Applicazioni Real-time Applicazioni reattive: n Interagiscono con l’ambiente in maniera tempestiva n La risposta ad un evento deve avvenire entro un tempo massimo predeterminato (deadline) evento elaborazione deadline

Applicazioni Real-time Eventi: n n Periodici Aperiodici Gli eventi sono spesso asincroni n n

Applicazioni Real-time Eventi: n n Periodici Aperiodici Gli eventi sono spesso asincroni n n Utente 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.

Sviluppo di applicazioni RT 1. Progettazione dell’aspetto funzionale 2. Suddivisione in processi concorrenti a. b. Comunicazione tra processi Parametri (vincoli temporali, priorità) 3. Analisi temporale 4. Implementazione

1. Progetto delle funzionalità Varie metodologie e tool n n UML (es. Rational rose)

1. Progetto delle funzionalità Varie metodologie e tool n n 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 n n Permette l’annotazione

Prossimi sviluppi. . . OMG sta definendo il profilo RT-UML n n 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” n n Il progettista usa

2. Scomposizione in processi In gran parte fatta “manualmente” n n Il progettista usa la sua esperienza Non ci sono metodologie di supporto Problemi: n n Come distribuire le funzionalità nei vari processi Come assegnare le priorità

Supporto tramite tool In SDL, generazione automatica del codice secondo due modalità n n

Supporto tramite tool In SDL, generazione automatica del codice secondo due modalità n n 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

3. Analisi Real-time Indica se i vincoli temporali saranno rispettati Meglio farla il prima possibile nel ciclo di sviluppo n n 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 n n Tri-pacific Timesys Non facilmente integrabili con

Tool per l’analisi Real-Time Tool commerciali n n Tri-pacific Timesys Non facilmente integrabili con i tool attualmente utilizzati in Ericsson n Prossimo futuro: RT-UML ?

Sommario La progettazione di applicazioni realtime viene in parte fatta artigianalmente n n Separazione

Sommario La progettazione di applicazioni realtime viene in parte fatta artigianalmente n n 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 n

Obiettivi della ricerca Fornire una metodologia integrabile di supporto all’analisi di applicazioni RT n n 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 n n “Modeling Event-driven Real-Time Applications

Work in Progress Definizione di un modello matematico n n “Modeling Event-driven Real-Time Applications Using DAGs” E. Bini, G. Lipari, C. Vitucci, Real. Time System Symposium, WIP session. Viene proposto un modello basato su grafi per modellare un’applicazione real-time Next step n Algoritmo di ottimizzazione per ricavare le priorità in maniera semi-automatica