15
Tools di supporto alla configurazione e alla Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme moduli di software residenti su piattaforme standard (es. Personal Computer) in grado di: standard (es. Personal Computer) in grado di: interfacciarsi direttamente con schede interfacciarsi direttamente con schede microprocessore per la loro configurazione, microprocessore per la loro configurazione, generare la configurazione per le stesse ed generare la configurazione per le stesse ed aiutare l'utente nella manutenzione dell'impianto aiutare l'utente nella manutenzione dell'impianto Relatore accademico: Chiar.moProf. Rodolfo Zunino Relatore aziendale: Ing. Giacomo Donati Candidat o: Lorenzo Banderali Tesi di laurea magistrale in ingegneria Tesi di laurea magistrale in ingegneria elettronica elettronica

Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Embed Size (px)

Citation preview

Page 1: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Tools di supporto alla configurazione e alla manutenzione Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es. Personal Computer) in grado di: su piattaforme standard (es. Personal Computer) in grado di: interfacciarsi direttamente con schede microprocessore per la interfacciarsi direttamente con schede microprocessore per la loro configurazione, generare la configurazione per le stesse loro configurazione, generare la configurazione per le stesse

ed aiutare l'utente nella manutenzione dell'impiantoed aiutare l'utente nella manutenzione dell'impianto

Relatore accademico: Chiar.moProf. Rodolfo Zunino

Relatore aziendale: Ing. Giacomo Donati

Candidato: Lorenzo Banderali

Tesi di laurea magistrale in ingegneria elettronicaTesi di laurea magistrale in ingegneria elettronica

Page 2: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Sistemi in tempo reale

Sistemi in tempo reale (RTS): sistemi la cui correttezza dipende nonsolo dal risultato della computazione ma anche dal tempo in cui irisultati sono prodotti

Il sistema è multitasking e cianscun task è contraddistinto dai seguenti parametri:

Id Numero identificativo univoco del task

Name Nome del task

Arrival pattern Periodo del task

Type Tipo di task: periodico, aperiodico, undefined

Priority Priorità del task (un valore basso indica un task ad alta priorità)

Usage Tempo di utilizzo della risorsa

Deadline Limite di tempo massimo entro il quale il task deve essere portato a termine

Tabella delle tecniche

Page 3: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Obiettivo

Sviluppo di un sistema software in grado di:

• Analizzare se il sistema sarà schedulabile rispettando i vincoli temporali e

fornendo, in caso positivo, anche un margine indicativo di sicurezza.

• Cercare di rendere schedulabile il set di tasks, qualora non rispetti i vincoli

temporali, o migliorarne l’affidabilità.

• Mostrare in modo grafico i dati acquisiti dal dispositivo per verificare come

è avvenuta schedulazione.

• Generare un report facilmente esportabile e consultabile anche in

modo stand-alone e da qualsiasi piattaforma.

Page 4: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Scelta del linguaggio e dell’ambiente di sviluppo

C# è il nuovo linguaggio di programmazione di Microsoft, nato e concepito per diventare il principale strumento di sviluppo per la piattaforma .NET.

E’ un linguaggio di programmazione semplice ma efficace per la scrittura di applicazioni aziendali ed è un'evoluzione dei linguaggi C e C++.

Utilizza numerose caratteristiche di C++ nelle aree di istruzioni, espressioni e operatori

• Completo supporto dell'interoperabilità tramite i servizi COM+ 1.0 e .NET Framework con accesso basato completamente su libreria.

•Affidabilità grazie alle funzionalità di Garbage Collection e type-safety.

•Utilizza la libreria di runtime di .NET Framework.

Fonte: MSDN

Page 5: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Tipico scenario di utilizzo del software

SchedAnalyzer

Page 6: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Interfaccia

I dati possono essere importati ed esportati in 2 formati

• Formato “vtd” permette di interfacciarsi con i dispositivi (target CPU). Il

formato del file è binario.

• Formato “xml” garantisce la leggibilità da altre applicazioni e l’aggiunta di

nuove informazioni opzionali.

Interfacciamento tramite dll

L’operazione di lettura avviene in modo affidabile e fault tolerant

Page 7: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Visulizzazione & editazione

E’ possibile visualizzare, modificare cancellare ed aggiungere un nuovo task attraverso un form grafico.

• Controllo automatico della correttezza dei dati inseriti in base a

regole (valori negativi, duplicati per campi univoci, etc...).

• Possibilità di inserire commenti aggiuntivi per il set di tasks.

• Valori di default intelligenti per nuovi tasks.

• Ordinamento in base alle varie colonne (parametri dei tasks)

Page 8: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Analisi di schedulabilità

E’ possibile analizzare la schedulabilità del sistema ed individuare eventuali task critici al fine di ottimizzarli.

• Rispetto della deadline e margine da parte dei singoli tasks

• Report indicativo globale per l’intero sistema

Page 9: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Ottimizzazione

E’ possibile effettuare in modo automatico un ottimizzazione basata sulla modifica della priorità dei singoli task al fine di migliorare

l’affidabilità dell’intero sistema.

• Ottimizzazione tramite permutazione della priorità dei singoli tasks

• Ottimizzazione tramite criterio rate monotonic: priorità maggiore per i tasks che devono essere schedulati frequentemente

Page 10: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Ottimizzazione

L’ottimizzazione basata sulla permutazione delle priorità avviene analizzando tutti i casi possibili e valutandoli attraverso l’utilizzo di una

funzione di costo.

La funzione di costo è parametrizzata L’esplorazione può essere effettuata in parallelo tramite multithreading E’ possibile escludere dall’ottimizzazione uno o più tasks

L’esplorazione di tutti i possibili casi può richiedere molto tempo poiché

la crescita è di tipo fattoriale rispetto al numero di tasks da ottimizzare.

Page 11: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Visualizzazione degli eventi

E’ possibile visualizzare come è avvenuta realmente la schedulazione dei singoli task sul dispositivo (target CPU).

La finestra consente lo zoom, lo scorrimento orizzontale e verticale, il ridimensionamento, la visualizzazione delle deadline, dei “tic” ed è possibile ordinare i tasks.

Page 12: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Generazione del report

E’ possibile generare un report HTML che riporti la descrizione di tutti i tasks che caratterizzano il sistema, l’eventuale analisi e l’ottimizzazione

apportata.

Visualizzabile in modo stand-alone tramite comune web browser.

Compatibile con tutti i S.O.

Facilmente importabile anche attraverso altri applicativi (es World).

Consultabile via web.

Page 13: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Altre funzionalità

• Formato dei settaggi

dell’applicazione

• Splashscreen

• Guida interattiva

• Tray – icon

• Form di “About”

• Screenshot del contenuto presente nei forms

• Pacchetto di installazione e distribuzione

Page 14: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Risultati ottenuti

Le prove effettuate, una delle quali è riportata in tabella, evidenziano che è possibile migliorare l’affidabilità del sistema tramite una corretta

ottimizzazione.

Page 15: Tools di supporto alla configurazione e alla manutenzione degli apparati fail safe. Sviluppo di moduli di software residenti su piattaforme standard (es

Conclusioni

Il tool realizzato si è rivelato utile per l’analisi a priori e a posteriori dei

sistemi in tempo reale ed è attualmente utilizzato da A.S.F (Ansaldo

Segnalamento Ferroviario).

Ringrazio il personale di A.S.F per avermi coinvolto ed appassionato

nel lavoro