[email protected]www.mobilab.unina.it Napoli, Maggio-Giugno 07 Mobilab European Master on Critical Networked Systems Mobile Systems S. Russo Università degli Studi di Napoli Parthenope European Master on Critical Networked Systems Corso di Mobile Systems Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II Via Claudio 21, 80125 Napoli Docente: Prof. Stefano RUSSO Parte I: Introduzione ai sistemi di Mobile Computing Lezione 1: Introduzione al corso e definizioni di base [email protected]www.mobilab.unina.it Napoli, Maggio-Giugno 07 Mobilab European Master on Critical Networked Systems Mobile Systems S. Russo ::. Obiettivi del corso Fornire le conoscenze di base: sulle tipologie di sistemi mobili, sulle architetture dei sistemi mobili, sui middleware per sistemi mobili. Acquisire i principi metodologici per lo sviluppo di applicazioni su dispositivi mobili. Fornire competenze specifiche per lo sviluppo di software per sistemi mobili: Su diverse piattaforme, quali Symbian, Java, Wireless Sensor Networks, attraverso numerose attività pratiche di laboratorio.
23
Embed
per sistemi mobili: r lo sviluppo di software Fornire ... · Lezione 1: Introduzione al corso e definizioni di base [email protected] ... Applicazioni e streaming multimediale
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Obiettivi del corso
Fornire le conoscenze di base:sulle tipologie di sistemi mobili,sulle architetture dei sistemi mobili,sui middleware per sistemi mobili.
Acquisire i principi metodologici per lo sviluppo di applicazioni su dispositivi mobili.Fornire competenze specifiche per lo sviluppo di software per sistemi mobili:
Su diverse piattaforme, quali Symbian, Java, Wireless SensorNetworks,attraverso numerose attività pratiche di laboratorio.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Organizzazione del modulo
Il modulo è organizzato in 5 parti:Parte I: Introduzione ai sistemi di Mobile Computing.Parte II: Sviluppo di applicazioni su piattaforma Symbian.Parte III: Sviluppo di applicazioni Java Micro Edition.Parte IV: Sviluppo di applicazioni per le Wireless SensorNetworks.Parte V: Applicazioni e streaming multimediale in ambienti mobili.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Parte I: Introduzione ai sistemi di Mobile Computing
Ha lo scopo di fornire le nozioni e i principi metodologici su tematiche quali:
Tipologie di sistemi mobili;Middleware per sistemi mobili;Architetture dei sistemi mobili;Accesso ai servizi da sistemi mobili;Ciclo di Sviluppo e ambienti di sviluppo per sistemi mobili.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Parte II: Sviluppo di applicazioni su piattaforma Symbian
Il sistema operativo Symbian;Tecniche per lo sviluppo di applicazioni C++ su piattaforma Symbian;Esercitazioni pratiche sullo sviluppo di applicazioni C++ su Symbian mediante l’utilizzo di un IDE specifico per Symbian.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Parte III: Sviluppo di applicazioni Java Micro Edition
La Java 2 Micro Edition (J2ME) e le virtualmachine per dispositivi mobili;I profili per lo sviluppo (CDC e CLDC, MIDP e Midlet);Esercitazioni pratiche sullo sviluppo di applicazioni J2ME mediante l’utilizzo di un IDE.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Parte IV: Sviluppo di applicazioni per Wireless SensorNetworks
Wireless Sensor Networks: definizioni, architetture e applicazioni;Il sistema operativo TinyOS e il linguaggio NesC;Esercitazioni pratiche sullo sviluppo di applicazioni NesC mediante l’utilizzo di un IDE e di simulatori per PC.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Parte V: Applicazioni e streaming multimediale in ambienti mobili
Caratteristiche delle applicazioni di streamingmultimediale in ambienti mobili;Le API Java Media Framework (JMF);Esercitazioni pratiche sull’utilizzo di applicazioni JMF su dispostivi mobili.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Materiale didattico
Costituito principalmente dai lucidi del corso e dai listati dei programmi usati nelle esercitazioni.Di volta in volta saranno indicati libri di testo specifici, articoli, dispense didattiche o siti web di approfondimento delle tematiche trattate.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Definizione di sistema distribuito – 2/3
Una definizione “informale”:“Il mio programma gira su un sistema distribuito quando non funziona per colpa di una macchina di cui non ho mai sentito parlare”(L. Lamport)
Caratteristiche fondamentali di un sistema distribuito:• concorrenza dei componenti• componenti appartenenti a diversi dominiorganizzativi/amministrativi
• possibilità di guasti indipendenti dei componenti
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Definizione di sistema distribuito – 3/3Un sistema distribuito è un sistema i cui componenti, localizzati in computer connessi in rete, comunicano e coordinano le loro azioni solo attraverso scambio di messaggi (G. Coulouris et al.)
Caratteristiche fondamentali di un sistema distribuito:• concorrenza dei componenti• assenza di un clock globale
– sincronizzazione e interazione via scambio messaggi• possibilità di guasti indipendenti dei componenti
– nei nodi (crash, attacchi, …), – nel sottosistema di scambio messaggi (ritardi, perdita, attacchi, ...)
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Mobile Computing
Modello di elaborazione riferito ad un sistema distribuito in cui vi sia mobilità dell’hardware e presenza di tecnologie di comunicazione senza cavo.Sistema mobile: sistema distribuito in cui alcuni nodi attivi dell’elaborazione possono muoversi liberamente nello spazio fisico. Funzionamento “disconnesso”: In tali sistemi la comunicazione è garantita in maniera “intermittente” da tecnologie di comunicazione senza filo.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
Fattori di complessità:• Eterogeneità: varietà e differenza di reti (tecnologie e protocolli), sistemioperativi, hardware (dei server, dei client, …), linguaggi diprogrammazione, ...
middleware
• Apertura (openness): il livello di complessità col quale servizi e risorsecondivise possono essere resi accessibili a una varietà di clienti, o resi traessi interoperanti.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Progettazione dei sistemi distribuiti - 2/3
• Sicurezza (security):- confidenzialità (protezione dall’accesso da parte di utenti non autorizzati)
- integrità (protezione dall’alterazione o compromissione),
- disponibilità (protezione dall’interferenza con i mezzi di accesso allerisorse).
• Concorrenza: l’accesso a risorse e servizi condivisi deve essere consentitoin maniera virtualmente simultanea a più utenti• Trasparenza: Otto forme di trasparenza identificate nell’ISO Reference Model for Open Distributed Processing (RM-ODP) (vedere oltre)
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Trasparenza nei sistemi distribuiti - 1/2
Access transparency: uniformità di accesso alle risorse locali e remote.
Location transparency: accesso alle risorse senza conoscere la loro posizione fisica o sulla rete (es.: edificio o indirizzo IP).
Concurrency transparency: possibilità per le applicazioni dioperare concorrentemente sulle risorse condivise, senzainterferire.
Replication transparency: uso di più istanze di una risorsa(tipicamente, per aumentarne disponibilità, affidabilità e prestazioni), in maniera trasparente a utenti e programmatoriapplicativi.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Trasparenza nei sistemi distribuiti - 2/2
Failure transparency: possibilità di mascherare l’insorgere diguasti di componenti hardware o software (utenti e applicazionidevono poter completare le loro attività anche in caso di guasti).
Mobility transparency: possibilità di rilocare (far migrare) risorse e clienti durante il loro ciclo di vita, senza condizionare il comportamento di utenti e applicazioni.
Performance transparency: possibilità di riconfigurazione deisistemi per migliorarne le prestazioni al variare del carico.
Scaling transparency: possibilità di espansione di sistemi ed applicazioni, senza doverne cambiare la struttura o gli algoritmi.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi mobili: esempi di applicazione
Domotica (case intelligenti);Automazione di ufficio;Gestione di situazioni di emergenza (comunicazione in un sito disastrato);Gestione e coordinamento del traffico di veicoli;Guide turistiche su terminali intelligenti;Supporto agli agenti di commercio (ufficio mobile);Accesso in movimento ad Internet;Servizi sensibili alla locazione (ad es: localizzazione della stampante più vicina in un area sconosciuta, come un aeroporto);Intrattenimento (giochi di gruppo su sistema mobile).
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Dispositivo
Singola unità del sistema distribuito dotato di capacitàelaborativa; In base alle sue proprietà di mobilità spaziale si può classificare in:
Fisso: dispositivi generalmente potenti e alimentati dalla rete elettrica con grandi quantità di memoria e processori veloci;Mobile: tipicamente dotati di scarse capacità elaborative e problemi di alimentazione che inficiano la loro disponibilità nel tempo.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Connessione di rete
Tipologia del collegamento tra due o più dispositivi: Permanente: caratterizzata da un’elevata banda ed un basso Bit Error Rate (BER);Intermittente: caratterizzata da una modesta banda, spesso variabile, ed un BER influenzato fortemente da agenti esterni.
Le reti cablate sono caratterizzate da una connessione di rete permanente;Le reti wireless sono caratterizzate da una connessione di rete intermittente
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Specificità (embeddedness)
Livello di specializzazione del compito per cui viene progettato un dispositivo; Livello di integrazione raggiunto nel costruire il dispositivo che assolve il determinato compito. E’ possibile distinguere tra dispositivi:
General-purpose: un dispositivo è general-purpose quando non è progettato per rispondere a compiti specifici (palmare, smartphone, laptop, PC …);Special-purpose: un dispositivo è special-purpose quando èprogettato per rispondere a compiti specifici (microcontrollori, sensori, badges …).
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Contesto di esecuzione
Insieme delle informazioni che possano influenzare il comportamento di un’applicazione
Risorse interne (stato della batteria, disponibilità della CPU, disponibilità della memoria, dimensione del display);Risorse esterne (larghezza di banda, affidabilità e latenza del canale, prossimità degli altri dispositivi).
Il contesto di esecuzione può essere: Statico: le risorse interne ed esterne variano poco o mai;Dinamico: le risorse interne ed esterne sono soggette a frequenti cambiamenti.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Tradizionali (Traditional Computing)
Collezione di dispositivi fissi e general-purposeconnessi tra di loro attraverso una connessione permanente le cui applicazioni vivono in un contesto di esecuzione statico.
Nota: anche se “non mobili”, è utile guardare alla classificazione dei sistemi tradizionali secondo la tassonomia introdotta. Si rende in questo modo chiara la distinzione tra sistemi distribuiti tradizionali e mobili.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Nomadici (Nomadic Computing) (1/3)
Rappresentano un compromesso tra i sistemi totalmente fissi e totalmente mobili;Generalmente composti da un insieme di dispositivi mobili general purpose interconnessi in maniera intermittente ad un’infrastruttura core con nodi fissi general-purpose (collegati tra loro attraverso una connessione permanente). Data la natura del sistema, le applicazioni vivono in un contesto di esecuzione che può essere talvolta statico e talvolta dinamico.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Nomadici (Nomadic Computing) (3/3)
I dispositivi mobili sono interconnessi tra loro e alla rete core attraverso dei dispositivi intermedi, noti come Access Point (AP).Il cambio di AP da parte di un dispositivo mobile èun’operazione nota come “handoff”.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Ad-hoc (Mobile Ad-Hoc Networks) (1/2)
Sistemi in cui la rete dei si costituisce “spontaneamente”e in maniera wireless tra i dispositivi stessi, a causa dell’impossibilità o inutilità di affidarsi ad un’infrastruttura fissa.Costituiti da un insieme di dispositivi mobili, tipicamente general-purpose, connessi tra di loro attraverso un collegamento intermittente le cui applicazioni vivono in un contesto di esecuzione dinamico.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Ad-hoc (Mobile Ad-Hoc Networks) (2/2)
I dispositivi devono godere di proprietà di autoconfigurazione (ad esempio, nell’instradamento dei pacchetti), data l’assenza di un’infrastruttura fissa.Un dispositivo può comunicare direttamente solo con i suoi vicini (i nodi presenti nel raggio di comunicazione).Più “salti” (hops) tra nodi potrebbero essere richiesti per attraversare la rete.
A
B
C D
E“Il nodo A comunica con il nodo E attraverso i nodi B e D”
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Pervasive & Ubiquitous (1/2)
Con questi termini si intende la diffusione di dispositivi informatici intelligenti, facilmente accessibili e talvolta invisibili (integrati nell’ambiente), il cui uso semplifica lo svolgimento dei normali compiti di tutti i giorni. L’utente non ha bisogno di portare dispositivi con se, in quanto l’informazione potrà essere accessibile dappertutto e in qualsiasi momento.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Pervasive & Ubiquitous (2/2)
Costituiti da un insieme di dispositivi fissi e mobili, per la maggior parte special-purpose (sensori intelligenti, controllori di elettrodomestici, dispositivi agganciati alle cartelle cliniche,…) connessi tra loro attraverso collegamenti intermittenti, le cui applicazioni vivono in un contesto tipicamente dinamico. Le Wireless Sensor Network sono un esempio di sistema pervasive & ubiquitous.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Problematiche (2/3)
Adattamento: le applicazioni devono poter essere semplicemente estese a fronte di cambiamenti nei requisiti funzionali o adattate alle nuove tecnologie emergenti. Scalabilità: i sistemi mobili, specialmente i sistemi ubiquitous, sono caratterizzati dalla presenza di un gran numero di dispositivi. Le soluzioni devono essere pensate per introdurre un carico che cresca linearmente al crescere del numero di unità di elaborazione.Condivisione di risorse: l’accesso a dati condivisi sensibili richiede la gestione di transazioni e la garanzia dell’accesso in sicurezza.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Problematiche (3/3)
Tolleranza ai guasti: l’abilità di recuperare da condizioni di malfunzionamento senza pregiudicare il funzionamento dell’intero sistema. Nei sistemi mobili la problematica èinasprita dalla presenza di collegamenti inaffidabili.Gestione delle informazioni di contesto: la dinamicità del contesto richiede spesso alle applicazioni di reagire a variazioni dello stesso. Scarse capacità: Lo sviluppo deve portare in conto le ridotte capacità elaborative e di memoria dei dispositivi mobili rispetto ai dispositivi fissi. Inoltre, è necessario tenere presente il limitato tempo di vita del dispositivo, dovuto all’alimentazione a batterie.