6
4. Dispositivi
Tra le più comuni finalità nell’utilizzo di strumenti informatici vi è sicuramente
l’accesso ad un flusso informativo, allo scopo di poter elaborare in maniera più o
meno complessa le informazioni ricevute, oppure solamente per poterle consul-
tare. Il transito delle informazioni può avvenire nei due sensi: in ingresso, quan-
do le informazioni vengono ricevute passivamente dall’utente, oppure in uscita,
quando le informazioni vengono inviate dall’utente, dopo essere state, even-
tualmente, prodotte da questo (o dagli strumenti a sua disposizione).
Si intende qui con il termine dispositivo un qualsiasi strumento che consenta
all’utente di interagire con un flusso informativo.
4.1. Classificazione
Allo stato attuale, esistono numerose tipologie di dispositivi, caratterizzate da
un’ampia gamma di funzionalità, che rendono spesso difficile una classificazione
precisa. Dovendo comunque definire un’architettura per la descrizione di un
qualsiasi dispositivo, sono state individuate le seguenti categorie:
• personal computer: dispositivi ad uso personale, solitamente dotati di note-
voli risorse (intese come capacità di calcolo, di memoria volatile e di massa,
ma anche come funzionalità multimediali); negli ultimi anni stanno regi-
strando tassi di crescita positivi i personal computer portatili (chiamati sem-
plicemente portatili, o notebook), che forniscono prestazioni analoghe alle
versioni “da tavolo”, con in più la possibilità di essere trasportati facilmente
(hanno dimensioni inferiori ad un foglio in formato A4 e un peso intorno ai
due/tre chilogrammi), ma con il limite di un’autonomia di alimentazione ri-
dotta (in media sulle quattro ore);
• computer palmari (o PDA - Personal Digital Assistant): nati come una ver-
sione elettronica delle agendine tascabili, sono diventati con il tempo dei veri
e propri computer portatili in miniatura; offrono peso e dimensioni decisa-
mente ridotte (tipicamente inferiori al mezzo chilogrammo e formati “da ta-
schino”), ma funzionalità e risorse spesso limitate rispetto ad un portatile;
• telefoni cellulari “intelligenti” (o smartphone): evoluzione dei normali tele-
foni cellulari, dispongono di funzionalità tipiche di un PDA, unitamente alla
possibilità di effettuare telefonate; le risorse disponibili sono simili (o legger-
mente inferiori) a quelle di un PDA, tanto che la tendenza da parte dei pro-
duttori sembra essere una convergenza tra i due segmenti.
4.2. Mobilità e trasportabilità
Una caratteristica che contraddistingue le tre categorie di dispositivi di cui sopra
e che con il passare del tempo assume una sempre maggiore importanza è la
mobilità, intesa sia come possibilità di trasporto “personale” (anche un personal
computer di trenta chili può essere trasportabile, a patto di utilizzare un mezzo
DISPOSITIVI
ASTRAZIONI ARCHITETTURALI PER DISPOSITIVI MOBILI
7
di trasporto adeguato), sia come capacità di accesso a flussi informativi esterni
durante il movimento.
Occorre infatti distinguere tra il concetto di trasportabilità e mobilità: nel primo
caso, il dispositivo può essere spostato fisicamente, collegato successivamente ad
una rete, e utilizzato come suo punto di accesso fisso; nel secondo, il collegamen-
to alla rete può essere utilizzato durante lo spostamento.
Il concetto di mobilità introduce alcune funzionalità interessanti anche per il
progetto di tesi: la adattabilità del proprio dispositivo prevede in questo caso ul-
teriori parametri, tra cui:
• la posizione fisica dell’utente: i servizi location based si basano proprio sulla
conoscenza delle coordinate geografiche dell’utente, e hanno la capacità di
adattarsi al luogo in cui vengono richiesti (ad esempio per ottenere l’elenco
dei ristoranti nella zona, oppure una piantina stradale dettagliata);
• la tipologia di rete utilizzata: durante lo spostamento l’utente potrebbe avere
a disposizione più di una rete attraverso c ui collegarsi ad un servizio, ad e-
sempio potrebbe passare da una rete GPRS (con tariffazione a pacchetto) ad
una GSM (con tariffazione a tempo), oppure da GPRS a una rete locale Wi-Fi,
collegata ad una rete pubblica (quindi con costi inferiori e velocità maggiore).
4.3. Caratteristiche dei dispositivi esistenti
Verranno di seguito analizzate le principali caratteristiche hardware e software
dei dispositivi attualmente esistenti sul mercato, con particolare attenzione per i
computer palmari e gli smartphone, che presentano funzionalità spesso non
proposte nei personal computer. Le minori risorse di questi dispositivi danno
inoltre modo di verificare le funzioni di adattività introdotte dalle librerie i m-
plementate.
4.3.1. Hardware
Di seguito verranno elencate alcune delle più significative caratteristiche
hardware che distinguono un palmare o uno smartphone da un normale perso-
nal computer: i display, che nei PDA o negli smartphone sono solitamente inte-
grati e di ridotte dimensioni e le batterie, di dimensioni sempre più ridotte ma
dalla capacità in aumento.
Le principali tecnologie utilizzate per i display sono:
• LCD (Liquid Crystal Display): gli schermi a cristalli liquidi, o LCD, utilizzano
due diverse tecnologie: matrice passiva (DSTN – Dual Scan Twisted Nema-
tic), caratterizzata da bassi consumi e matrice attiva (TFT – Thin Film Transi-
stor), di maggiore qualità ma dal costo e dal consumo energetico elevato;
• OLED (Organic Light Emitting Diode) o polymer-OLED: i display OLED uti-
lizzano led organici, che impiega composti chimici che emettono luce a se-
DISPOSITIVI
ASTRAZIONI ARCHITETTURALI PER DISPOSITIVI MOBILI
8
conda del voltaggio applicato e che quindi non necessitano di retroillumina-
zione per essere visibili. Permettono di produrre display a colori di ridotte
dimensioni e m igliore illuminazione. Vengono attualmente impiegati nei
display secondari di a lcuni telefoni cellulari (generalmente i display esterni)
per via degli alti costi e consumi.
Per quanto riguarda le batterie, le tecnologie più diffuse sono:
• Batterie Ni-Cd (nichel-cadmio): sono le più robuste ed economiche, ma pre-
sentano inconvenienti quali l’effetto memoria: occorre scaricare completa-
mente la batteria prima di ricaricarla, per evitare di ridurne progressivamente
la durata; possono essere danneggiate dal surriscaldamento dovuto ad ecces-
siva carica; sono di difficile smaltimento per la presenza del cadmio;
• batterie Ni-Mh (nitrato di nichel): non presentano l’effetto memoria delle Ni -
Cd ma sopportano un numero di ricariche inferiore (circa 400 contro le 500
delle Ni-Cd); hanno una capacità superiore a parità di volume;
• batterie al litio: commercializzate dal 1990 dalla Sony, sfruttano la migrazio-
ne elettrica degli ioni di litio tra gli elettrodi; sono in commercio batterie con
tecnologie Li-Ion (ioni di litio) o l’analogo Li-Polymer (polimeri di litio); o f-
frono una durata ancora maggiore rispetto alle Ni-* e non presentano effetto
memoria; richiedono un sistema di protezione interno a causa dell’elevata re-
attività del Litio a contatto con altri elementi;
• Direct Methanol Fuel Cell (DMFC): tecnologia messa a punto da Toshiba, an-
cora in fase prototipale, utilizzerà il metanolo come combustibile, immagaz-
zinato in una cartuccia sostituibile. Consentiranno un’autonomia di circa cin-
que ore con una cartuccia. La pila a combustibile misura 275x75x40 millimetri
e pesa 900 grammi, di cui 72 per la cartuccia di 50 centilitri. E’ prevista la
commercializzazione nel 2004.
4.3.2. Software: sistemi operativi
Il fatto di disporre di risorse elaborative ridotte o di non utilizzare una tastiera ed
un mouse, periferiche ormai universalmente diffuse nei personal computer, ha
come conseguenza l’utilizzo da parte di palmari o cellulari “intelligenti” di s i-
stemi operativi e software applicativi specifici.
Riportiamo di seguito una rassegna dei principali sistemi operativi utilizzati at-
tualmente su telefoni cellulari e palmari.
4.3.2.1. SymbianOS
Sistema operativo per dispositivi mobili sviluppato dalla Symbian, società ingle-
se nata nel 1998 e controllata da Ericsson, Nokia, Panasonic, Motorola, Psion,
Samsung Electronics, Siemens e Sony Ericsson.
E’ utilizzato nei seguenti telefoni cellulari (tra parentesi la versione del sistema
operativo; elenco aggiornato ad agosto 2003):
• Sony Ericsson P800 (7.0)
DISPOSITIVI
ASTRAZIONI ARCHITETTURALI PER DISPOSITIVI MOBILI
9
• Fujitsu F2102V (6.1)
• Fujitsu F2051 (6.1)
• Nokia 7650 (6.1)
• Nokia 3650 (6.1)
• Nokia 9290 Communicator (6.0)
• Nokia 9210 Communicators (6.0)
• Samsung SGH-D700 - in arrivo (6.1)
• Siemens SX1 - in arrivo (6.1)
• Nokia 6600 – in arrivo (7.0)
• Nokia N-Gage – in arrivo (6.1)
L’ultima versione (7.0) supporta tutti gli ultimi standard nati per le applicazioni
mobili (inclusa la telefonia). In particolare:
• browser HTML e WAP;
• supporto per la messaggistica SMS, MMS, EMS, email e fax;
• supporto per dispositivi e formati multimediali;
• protocolli di comunicazione TCP/IP (IPv4 e IPv6) e WAP, e supporto per
standard PAN (IrDA, Bluetooth, USB);
• API per l’accesso a reti mobili a commutazione di circuito e pacchetto (GSM,
GPRS e EDGE, EGPRS, CDMA); SIM Application Toolkit e SMS; è possibile
sviluppare altri standard estendendo le API disponibili;
• sincronizzazione OTA (over-the-air) tramite SyncML DataSync; sincronizza-
zione con PC tramite collegamento Bluetooth, IrDA, USB, porta seriale;
• supporto per diverse periferiche di input (tastiera QWERTY, touch screen,
tastiera cellulare e altre);
• possibilità di sviluppare applicativi C++, Java, WAP e web.
Processori supportati:
• ARMv4: StrongARM SA1;
• ARMv4T: ARM710T, ARM720T, ARM920T, ARM922T, ARM925T;
• ARMv5T: XScale, ARM1020T;
• ARMv5TJ: ARM926EJ;
• Intel x86 (per l’emulatore).
4.3.2.2. Microsoft Powered Smartphone 2002
Sistema operativo integrato con la piattaforma hardware ( definita appunto
“Smartphone”), fornisce all’utente servizi e applicazioni analoghe a quelle dei
normali sistemi operativi Windows, tra cui:
DISPOSITIVI
ASTRAZIONI ARCHITETTURALI PER DISPOSITIVI MOBILI
10
• Pocket Outlook: PIM (Personal Information Management) e gestione posta
elettronica;
• Pocket Internet Explorer: browser Internet;
• MSN Messenger: applicativo di Instant Messaging;
• Windows Media Player: utilizzato per la riproduzione di file multimediali
(audio, video).
Sono inoltre disponibili applicativi per gestire la sincronizzazione tra telefono e
personal computer.
E’ possibile sviluppare applicativi in linguaggio C++ utilizzando lo Smartphone
2002 Software Development Kit (SDK) 1.0.
Requisiti:
Processore: ARM-based CPU (ARM 720, ARM 920)
Memoria: 24 MB minimi di flash ROM, 16 MB di DRAM
Hard Disk: slot SD
Display: risoluzione di 176 x 220, dot pitch di 0.20 mm, modalità portrait, toni di
grigio o 8/16 bit, non sono supportati display touch screen
Periferiche: è richiesta la carta SIM su dispositivi GSM
4.3.2.3. Microsoft Windows CE .Net
Successore di Windows CE 3.0, viene utilizzato per dispositivi mobili e fornisce il
supporto per una serie di nuove tecnologie, tra cui:
• Bluetooth;
• 802.1x / Zero Configuration: semplifica la gestione e il roaming tra reti
802.11; include il supporto di EAP (Extensible Authentication Protocol) per
migliorare la sicurezza;
• OBEX: supporto per l’OBject EXchange procotol, su Bluetooth e IrDA;
• MediaSense: fornisce alle applicazioni informazioni sullo stato di connessione
di rete;
• Real-time collaboration and communication (RTC/SIP):
• .NET Compact Framework: versione ridotta del .NET Framework (utilizzato
per l’esecuzione di applicazioni .NET);
• Windows Media 8: supporto per la riproduzione di formati multimediali;
• Direct 3D: supporto per applicazioni che prevedono l’utilizzo di grafica 3D.
Principali CPU supportate:
• ARM: ARM720T, ARM920T, ARM1020T, StrongARM, XScale;
• MIPS: MIPS II/32, MIPS16, MIPS IV/64;
• SHx: SH-3, SH-3 DSP, SH-4;
DISPOSITIVI
ASTRAZIONI ARCHITETTURALI PER DISPOSITIVI MOBILI
11
• X86: 486, 586, Geode, Pentium I/II/III/IV.
E’ possibile sviluppare applicativi per Windows CE .Net utilizzando la piatta-
forma .NET oppure l’ambiente di sviluppo Microsoft eMbedded Visual C++ 4.0.
4.3.2.4. Microsoft Powered Pocket PC 2002
Fornisce funzionalità analoghe a Windows CE .Net.
Definisce un’architettura hardware/software analoga a quella di Microsoft Po-
wered Smartphone 2002
4.3.2.5. PalmOS
Sistema operativo sviluppato da Palm Inc., viene utilizzato per equipaggiare
computer palmari, dispositivi di ridotte dimensioni (nell’ordine dei 10x7 centi-
metri) con display touch screen e generalmente privi di tastiera, sostituita da un
pad sensibile al tocco sul quale è possibile scrivere, utilizzando un software OCR.
Tradizionalmente ha requisiti di sistema inferiori rispetto ai sistemi operativi
Microsoft (Windows CE e PocketPC), sia come processore che come memoria
RAM (in genere 4 Mb per le versioni fino alla 4.1); tra le caratteristiche principali:
• supporto per display a colori, con risoluzioni fino a 320x320 pixel;
• supporto per le tecnologie wireless Bluetooth, 802.11, GSM, CDMA;
• supporto per tastiere integrate in formato QWERTY;
• supporto dei processori a 32 bit ARM e Intel XScale (fino alla 4.x solamente
Motorola 68k Dragonball);
• riproduzione di formati audio a 16 bit;
• implementazione di SSL a 128 bit, RC4, SHA-1 e RSA.
Per i dispositivi che non dispongono di tastiera integrata, sono disponibili il sof-
tware Graffiti, che riconosce i caratteri inseriti in una sezione dello schermo tra-
mite un apposito pennino, e una “tastiera virtuale”, attraverso cui inserire i c a-
ratteri singolarmente, selezionandoli direttamente utilizzando il display touch
screen.
L’introduzione del supporto per reti di telefonia cellulare permette di considera-
re alcuni palmari degli “smartphone”, analogamente ai cellulari dotati di
SymbianOS.
Le aziende che al momento producono palmari con sistema operativo PalmOS
sono:
• Garmin
• HanEra
DISPOSITIVI
ASTRAZIONI ARCHITETTURALI PER DISPOSITIVI MOBILI
12
• Handspring
• Kyocera
• Palm Inc.
• Sony
• Symbol Technologies
Palm rende disponibile un SDK C/C++ (Software Development Kit) e un emula-
tore. Sono disponibili ambienti di sviluppo per i maggiori linguaggi di pro-
grammazione (C/C++, Java, Visual Basic, Pascal).
4.3.3. Software: linguaggi e ambienti di sviluppo
Vengono di seguito presentati i principali linguaggi e ambienti di sviluppo, al
fine di verificare quali sono le funzionalità offerte dalle varie piattaforme.
4.3.3.1. Java (J2ME)
Java 2 Micro Edition (J2ME) è un insieme di API per la realizzazione di applica-
zioni in linguaggio Java per dispositivi embedded o con ridotte capacità di ela-
borazione, in particolar modo quelli dotati di interfacce di comunicazione wire-
less.
Ad alto livello l’architettura di J2ME è simile all’equivalente J2SE (Java2 Stan-
dard Edition) utilizzata per sviluppare applicazioni su personal computer o e-
quivalenti: a lato client vengono utilizzate le applicazioni MIDP (o MIDlet), che
forniscono l’interfaccia utente e l’accesso ai servizi. I MIDlet possono accedere ai
servizi dei componenti definiti da J2EE (Java2 Enterprise Edition), in particolare
ai Java Servlet, interfacce analoghe agli applicativi CGI (Common Gateway Inter-
face) accessibili dal web, i quali a loro volta accedono tramite gli Enterprise J a-
vaBeans alla business logic dell’applicazione.
A differenza di J2SE, J2ME non identifica né un unico software né una singola
specifica, ma un insieme di tecnologie che si differenziano a seconda del segmen-
to del mercato wireless a cui si riferiscono. J2ME definisce una serie di configu-
razioni e profili: una configurazione specifica le caratteristiche di una Java Vir-
tual Machine (JVM) e un set minimo di API di base, mentre un profilo indica nei
dettagli quali API verranno utilizzate per realizzare un applicativo completo.
Attualmente sono definite due configurazioni principali:
• CLDC (Connected, Limited Device Configuration): utilizzato per dispositivi
con connettività di rete non permanente e risorse limitate, quali pager, cellu-
lari o PDA. MIDP (Mobile Information Device Profile) è il primo profilo svi-
luppato basato su CLDC;