MobiLab MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 1 Progetto ed implementazione di un Failure Data Collector per Sistemi Operativi Symbian Relatore: Prof. Domenico Cotroneo Correlatore: Ing. Marcello Cinque www.mobilab.unina.it Candidato: Paolo Ascione (41/3595) [email protected] MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 2 Evoluzione dei dispositivi mobili Smartphone : un dispositivo mobile programmabile e general-purpose, dalle elevate capacità elaborative e dalla capacità di memorizzare dati. Combina le caratteristiche di un telefono cellulare e quelle di un PDA. www.mobilab.unina.it [email protected] MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian 3 SmartPhone(1) www.mobilab.unina.it Paolo Ascione 41/3595 • Integra voce, dati, immagini e tecnologie di comunicazione wireless come bluetooth; • Sistema operativo completamente ‘aperto’ che garantisce un’ elevata capacità di personalizzazione; • Possibilità di eseguire applicazioni business-critical, ad es. m-commerce, m-trading e ticket-booking; • 9,6 milioni di SmartPhone venduti nel 2005 con un incremento del 170% rispetto al 2004 • Il sistema operativo Symbian si erge a leader indiscusso del mercato, essendo presente su oltre l’80% degli SmartPhone commercializzati. [email protected] MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 4 SmartPhone(2) La crescita di complessità dei moderni dispositivi mobili promuove un crescente interesse sulle problematiche di affidabilità, dovuto a due fattori: • la necessità di “cavalcare” l’onda del mercato (produrre nuovi dispositivi in breve tempo); • Diffusione di nuovi servizi e applicazioni business-critical; Sono pochi gli studi sull’affidabilità dei dispositivi mobili e sulle metodologie necessarie per incrementare gli aspetti di robustezza ed affidabilità. Il presente lavoro di tesi si inserisce in un progetto di ricerca che verte sullo studio e l’analisi dell’affidabilità dei Sistemi Mobili. www.mobilab.unina.it [email protected] MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 Obiettivi del lavoro di Tesi • Approfondire la struttura del Kernel ed il modello di concorrenza dei thread (le informazioni su Symbian OS sono poche e frammentate); • Esaminare i principali patterns di programmazione del Symbian; • Definire un modello dei fallimenti dei dispositivi mobili; • Progettare ed Implementare delle tecniche per la rilevazione dei fallimenti; • Raccogliere ed analizzare i dati prodotti dal Logger. www.mobilab.unina.it [email protected] 5 MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Introduzione a Symbian OS Nasce nel 1998 dalla fusione di Nokia, Motorola, Ericsson e Psion con l’obiettivo di costruire un sistema operativo che potesse adattarsi a qualunque dispositivo, dai cellulari ai palmari. Oggi, le più importanti aziende del settore mobile hanno acquisito la licenza di Symbian OS. www.mobilab.unina.it [email protected] Paolo Ascione 41/3595 6 MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 Struttura del Kernel di Symbian OS •Struttura a Micro-Kernel •adotta un unico meccanismo di comunicazione mediante scambio di messaggi e lo impone a tutti i processi. •Tutte le funzionalità del sistema operativo sono integrate attraverso processi di livello utente ed un protocollo basato sul modello Client/Server gestisce la comunicazione tra tutti i componenti di sistema. www.mobilab.unina.it [email protected] 7 MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 Modello di Programmazione: Pattern MVC Ogni applicazione Symbian adotta il pattern Model View Controller. Ogni applicazione è composta da 4 classi: www.mobilab.unina.it • Application Class; • Document Class; • AppUI Class; • AppView Class; [email protected] 8 MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 Modello di Programmazione:Active Objects(1) Symbian è un sistema Event-Driven e la gestione degli eventi fa ricorso agli Active Objects:consentono di instaurare un meccanismo di multi-tasking non-preemptive nel contesto di esecuzione di un singolo thread. L’applicazione in figura esegue tre richieste asincrone servendosi di altrettanti AOs ed i server, a loro volta, utilizzano gli AOs per gestire molteplici richieste. www.mobilab.unina.it [email protected] 9 MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 Modello di Programmazione:Active Objects(2) Gli AOs girano nello stesso thread: ciò migliora le prestazioni poiché non esiste l’overhead legato al context switch. • IssueReq(): permette di richiedere un servizio in maniera asincrona; • DoCancel(): cancella una richiesta precedentemente inoltrata; • RunL(): viene invocata dallo scheduler per processare il completamento del servizio. • RunError(): viene invocata dallo scheduler per gestire le eccezioni. www.mobilab.unina.it [email protected] 10 MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 11 Modello dei Fallimenti L’applicazione rileva i fallimenti nella forma di eccezioni sollevate dal sistema operativo e dalle applicazioni, cercando, inoltre, di scoprirne le cause. Freeze: il telefono si blocca e bisogna rimuovere la batteria. Reboot: procedura di ripristino successiva ad un malfunzionamento. Input Failure: i soft keys non vengono processati. Output errati: volume diverso da quello impostato. Instabilità: le applicazioni si avviano senza intervento esterno dell’utente. www.mobilab.unina.it [email protected] MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 12 L’architettura realizzata: SymDep Log Database Log Engine: Registra tutte le attività del telefono cellulare. Power Manager: Fornisce informazioni Log Engine sullo stato di carica della batteria. Run App Detector: memorizza tutte le applicazioni attive nel cellulare. HeartBeat: Rileva i freeze ed i reboot del cellulare. Panic Detector: È il componente più importante dell’architettura. Raccoglie e memoriza tutti i panic sollevati dal sistema operativo e dalle applicazioni. www.mobilab.unina.it Running Applic. Detector Panic Detector HeartBeat [email protected] Power Manager Modello Implementativo di SymDep MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 13 I 5 componenti sono eseguiti concorrentemente nel contesto di un thread …utilizzo di 5 Active Object Thread www.mobilab.unina.it [email protected] MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 14 Rilevazione dei freeze L’applicazione tenta di individuare i freeze monitorando la modalità di spegnimento del telefono cellulare. www.mobilab.unina.it [email protected] MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian 15 Rilevazione dei reboot A-S è l’intervallo di tempo tra uno Spegnimento ed una successiva Accensione del telefono. Valutando l’ampiezza temporale si può discriminare tra un reboot ed un corretto spegnimento del cellulare. www.mobilab.unina.it Paolo Ascione 41/3595 [email protected] MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 Misure di Interferenza Obiettivi: Determinare un range di variabilità per la frequenza di scrittura dell’HeartBeat. TestBed: Nokia 6630. Metodologia: Misurare i ritardi di scrittura del sistema sottoposto a differenti workload. Risultati: un intervallo di 3 secondi tra due scritture successive rappresenta un trade-off accettabile per i ritardi di scrittura introdotti dall’HeartBeat. www.mobilab.unina.it [email protected] 16 MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 17 Risultati preliminari Logger in esecuzione su 14 cellulari di modelli diversi (periodo di osservazione di 1 mese). 19/10/2005 12:12:17 Category: KERN-EXEC Panic Type: 3 19/10/2005 12:12:09 Autolock SymDep 19/10/2005 12:12:15 19/10/2005 12:15:52 19/10/2005 12:12:09 Autolock SymDep 19/10/2005 12:12:22 19/10/2005 12:12:15 www.mobilab.unina.it SysAp ScreenSaver Telefono Menu Messaggi Short message FREEZE Days 0 Hours 0 Mins 3 Secs 30 SysAp ScreenSaver Telefono Menu Messaggi SysAp ScreenSaver SymDep Short message [email protected] MobiLab Progetto ed implementazione di un Failure Data Collector per sistemi operativi Symbian Paolo Ascione 41/3595 Conclusioni e Sviluppi futuri • Il logger implementato è solo un prototipo minimale e l’analisi dei dati prodotti in un lungo arco di tempo potrà fornire utili indicazioni per eventuali modifiche da apportare all’applicazione. • Come step successivi: • dovranno essere definite le tecniche per la rilevazione di Input failure ed Output errati. •Costruire algoritmi per l’analisi automatica dei dati prodotti dal logger. www.mobilab.unina.it [email protected] 18