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
Scarica

Progetto ed implementazione di un Failure Data Collector per