Mobile computing/2006-2007
MFjxGE <a href="http://qyzbahgbiktz.com/">qyzbahgbiktz</a>, [url=http://ywspnazxkuks.com/]ywspnazxkuks[/url], [link=http://bsmjqswvobgg.com/]bsmjqswvobgg[/link], http://qeemwjenqwuu.com/
Indice
- 1 Informazioni generali
- 2 Informazioni specifiche
- 3 Materiale didattico
- 4 Diario del corso
- 4.1 Lezione di Mercoledì 04 ottobre 2006
- 4.2 Lezione di Venerdì 06 ottobre 2006
- 4.3 Lezione di Mercoledì 11 ottobre 2006
- 4.4 Lezione di Venerdì 13 ottobre 2006
- 4.5 Lezione di Mercoledì 18 ottobre 2006
- 4.6 Lezione di Venerdì 20 ottobre 2006
- 4.7 Lezione di Mercoledì 25 ottobre 2006
- 4.8 Lezione di Venerdì 03 ottobre 2006
- 4.9 Lezione di Mercoledì 08 novembre 2006
- 4.10 Lezione di Venerdì 10 novembre 2006
- 4.11 Lezione di Mercoledì 15 novembre 2006
- 4.12 Lezione di Mercoledì 22 novembre 2006
- 4.13 Lezione di Venerdì 24 novembre 2006
- 4.14 Lezione di Mercoledì 29 novembre 2006
- 4.15 Lezione di Mercoledì 06 dicembre 2006
- 4.16 Lezione di Mercoledì 13 dicembre 2006
- 4.17 Lezione di Giovedì 14 dicembre 2006
- 4.18 Lezione di Mercoledì 20 dicembre 2006
- 4.19 Lezione di Venerdì 22 dicembre 2006
Informazioni generali
Docenti
- Prof. Claudio Bettini
- Email: bettini [AT] dico [DOT] unimi [DOT] it
- Pagina personale sul DICo: http://homes.dico.unimi.it/~bettini/
- Collaborazione di Daniele Riboni
- riboni [AT] dico [DOT] unimi [DOT] it
Modalità d'esame
- L'esame consiste in un test scritto durante il corso sugli argomenti affrontati (o alternativamente in un orale durante gli appelli) e nella realizzazione, presentazione e discussione di un progetto (che richiede programmazione su dispositivo e lato server).
- Informazioni dettagliate sullo svolgimento del progetto si trovano sulla pagina del corso
Prerequisiti al corso
- Indicato principalmente per studenti della laurea magistrale. Ammessi anche gli iscritti al terzo anno della triennale
- Esami di Programmazione (Java preferibilmente) e Sistemi operativi verbalizzati
- Nozioni di Reti di calcolatori e di Basi di dati (almeno corsi seguiti)
Orari e luogo delle lezioni
- Mercoledì, 10:30-12:30 (Aula Beta, via Comelico)
- Venerdì, 14:30-16:30 (Aula Beta, via Comelico)
Tratto dal DICo: http://www.dico.unimi.it/occorrenza.php?z=0;id_occ=1190
In generale si farà un'ora e mezza continua e si uscirà prima.
Orario di ricevimento studenti
- Martedi 17.30 - 19.30
- Stanza P121
Informazioni specifiche
Sito del corso
- Sito del corso: http://webdid.usr.dico.unimi.it/mobicomp/
- In CCDI: http://www.ccdi.unimi.it/it/corsiDiStudio/F75/default/F49-15/F49-15.07.1/index.html
Forum del corso (non ufficiale)
Materiale didattico
Programma del corso
- Dal DICo, in inglese: http://www.dico.unimi.it/files/occorrenza/programma/programma475909.pdf
- Dal DICo, in italiano: http://www.dico.unimi.it/files/occorrenza/programma/programma277220.doc
Testi
- M. Mallick, Mobile and Wireless Design Essentials, Wiley Technology Publishing, 2003.
Altro materiale
- Lucidi presentati a lezione e disponibili sul sito del corso (per l'accesso serve login e password)
- Link utili presentati a lezione
- Seminari
Altri riferimenti
- D. Harkey, S. Appajodu, M. Larkin, Wireless Java Programming for Enterprise Applications, Wiley, 2002.
- J. Keogh, J2ME - The complete Reference, Mc Graw Hill, 2003.
- B. Forta, Sviluppo Wap con Wml e Wmlscript, Apogeo, 2001.
- M. Langham, C. Ziegeler, Cocoon: Building XML Applications, New Riders, 2002.
- XML handbook 2nd ed. (con CD-ROM), Paul Prescod, Charles F. Goldfarb prentice hall, 2000, ISBN: 0130147141
Diario del corso
Lezione di Mercoledì 04 ottobre 2006
(Cfr. slide "intro.pdf")
- Mobile Computing
- Traditional, Pervasive, Mobile, Ubiquitous
- Temi principali
- Difficoltà
- Applicazioni per dispositivi mobili
- Servizi
- Analisi tecniche e di mercato sul mobile computing
- Qualche sito di riferimento
Lezione di Venerdì 06 ottobre 2006
(Cfr. slide "dispositivi.pdf")
- Panoramica dei terminali e dei sistemi
- Caratteristiche tecniche di rilievo
- I/O
- Connettività
- Risorse di calcolo
- Autonomia
- Supporto applicazioni
- Supporto multimedia
- Caratteristiche tecniche di rilievo
- Classificazione dei dispositivi mobili
- Evoluzione
- Risorse online
- http://wireless.java.sun.com/device – compatibilità Java dei dispositivi
- http://www.microsoft.com/windowsmobile/devices - dispositivi Windows Mobile
- http://www.palmsource.com/products – dispositivi PalmOS
- http://www.symbian.com/phones – dispositivi SymbianOS
- http://www.linuxdevices.com/ - dispositivi Linux
- http://www.3g.co.uk – informazioni sui telefoni 3G
- http://www.tomtom.com – esempio di prodotti GPS
- http://www.arm.com - processori ARM
- http://www.intel.com/design/intelxscale/ - processori Intel Xscale
Lezione di Mercoledì 11 ottobre 2006
(Cfr. slide "SistemiOperativi.pdf")
- Sistemi operativi per dispositivi mobili
- MS Windows CE / Windows Mobile
- PalmOS
- SymbianOS
- LinuxOS
(Cfr. slide "ConLocale.pdf")
- Connettività locale
- IEEE 802.15
- IEEE 802.11a/b/g/n
- IEEE 802.16
- UWB (UltraWIdeBand)
Lezione di Venerdì 13 ottobre 2006
(Cfr. slide "ConGeografica.pdf", "articoloGSM.pdf" e "articoloGPRS.pdf")
- GSM
- GPRS
- EDGE
- UMTS
- Riferimenti
- http://www.3gpp.org - specifiche degli standard
- http://www.umts-forum.org - UMTS Forum
- http://www.iec.org/online/tutorials/umts - ottimo tutorial su UMTS
Lezione di Mercoledì 18 ottobre 2006
(Cfr. slide "wap.pdf")
- WAP
- Obiettivi
- Componenti
- Microbrowser
- http://www.yospace.com - esempio di simulatore WAP
- Funzionalità
- Applicazioni
- Struttura del protocollo
- WAP 2.0
- Riferimenti
- http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html - Open Mobile Alliance
- http://www.wapforum.org/faqs - WAP FAQ
- http://www.w3schools.com/wap/ - tutorial su WAP e WML
- http://webcab.de/wapua.htm WAP - user agents
- http://developer.openwave.com/docs/wappush_vs_sms.pdf - WAP Push
Lezione di Venerdì 20 ottobre 2006
(Cfr. slide "becker.pdf")
- Seminario "System Support for Context-Aware Computing" (Prof. Becker).
Lezione di Mercoledì 25 ottobre 2006
(Cfr. slide "architetture.pdf")
- Architetture applicative
- Thin Client
- Pro e contro
- Percorso di una richiesta
- Esempio di architettura applicativa per thin client
- Smart Client
- Pro e contro
- Application server e Wireless application server
- Alcuni SDK/IDE ed emulatori
- http://www.forum.nokia.com - Nokia Mobile Internet Toolkit
- http://developer.sonyericsson.com - Sony-Ericsson tools
- http://developer.openwave.com - OpenWave SDK
- http://www.motocoder.com - Motorola SDK
- http://www.winwap.org - WinWAP
- http://www.yospace.com - YoSpace
- http://www.asp.net/mobile - Microsoft Mobile Internet Toolkit
- Thin Client
Lezione di Venerdì 03 ottobre 2006
(Cfr. slide "generazione-dinamica.pdf")
- Generazione dinamica dei contenuti
- CGI
- Server API
- Soluzioni a più livelli
- PHP
- Esempi
- Link utili
- http://www.php.net/
- http://www.php.net/manual/it/ - Manuale in italiano
- http://www.php.net/manual/en/ - Manuale in inglese
- http://www.php.net/tut.php - Tutorial in inglese
- Servlet e JSP
- JSP Engine: Tomcat
- Riferimenti
- http://servlets.com/engines/
- http://java.sun.com/products/jsp/
- http://java.html.it/guide/leggi/23/guida-jsp/ - Guida JSP in italiano
- http://www.jspin.com/ - Esempi di codice
- Cenni di ASP e ASP .NET
- Tool per convertire da ASP in PHP
- Web Development frameworks
- Cocoon
- Turbine
- Expresso
- Blueshoes
- Framework per content management
- Lenya
- Mambo
Esercizi
- Se non si ha molta esperienza, installare un Server Web (Apache o IIS,...)
- Installare o abilitare un interprete PHP o ASP
- Fare qualche prova utilizzando WML
- Studiare/ripassare XML e XSL
Lezione di Mercoledì 08 novembre 2006
(Cfr. slide "xml.pdf")
- Introduzione a XML
- Sintassi
- Elementi e attributi
- Namespaces
- Validazione di documenti XML
- DTD
- XML Schema
- DOM
- SAX
- Qualche link utile
Lezione di Venerdì 10 novembre 2006
- Linguaggi di markup
- WML
- XHTML, XHTML Basic, XHTML-MP
- c-HTML, VoiceXML, SVG
- Generazione dinamica con PHP e MySQL
Lezione di Mercoledì 15 novembre 2006
- XSLT
- http://www.w3.org/TR/xslt
- XSLT processor: Sablotron
- Sintassi
- Funzioni
- XPath
- http://www.w3.org/TR/xpath
- Sintassi
- Funzioni
Lezione di Mercoledì 22 novembre 2006
- XSLT: concetti avanzati
- MySQL e XML con PHP 4 e 5
- Esempio
- Analisi del codice
Lezione di Venerdì 24 novembre 2006
- J2ME
- Architettura generale
- J2ME CLDC e MIDP
- Librerie CLDC - MIDP
- Esempi
- con J2ME Wireless Toolkit 2.2 - http://java.sun.com/products/sjwtoolkit/
- Ambienti di sviluppo
- Eclipse + EclipseMe - http://eclipseme.org/
- Eclipse + Antenna (tool ANT) - http://antenna.sourceforge.net/
- NetBeans + Mobile Plug-In - http://www.netbeans.org/kb/41/quickstartmobility.html
- Borland JBuilder Mobile
- IBM WebSphere Device Developer + Numerosi tool di sviluppo proprietari (Ericsson,Nokia,...) - http://www.billday.com/j2me/index.html#SDKs
- Riferimenti
- Sito delle specifiche SUN: http://java.sun.com/j2me
- Sito developer SUN: http://developer.sun.com/techtopics/mobility/
- Vartan Piroumian, "Wireless J2ME™ Platform Programming", Prentice Hall PTR, 2004
- Michael Juntao Yuan, "Enterprise J2ME: Developing Mobile Java Applications", Prentice Hall PTR, 2003
Lezione di Mercoledì 29 novembre 2006
- Installazione di un IDE per lo sviluppo di applicazioni J2ME
- IDE: Eclipse - http://www.eclipse.org
- Wireless Toolkit: Sun Wireless Toolkit della SUN - http://java.sun.com/products/sjwtoolkit/
- Plug-In per Eclipse: EclipseME - http://eclipseme.org/
- Configurazione parametri di deployment, packaging e debugging
- Esempi
- Un accenno alla configurazione CDC e al profilo Personal Profile
Lezione di Mercoledì 06 dicembre 2006
- Context awareness e localizzazione
- Componenti principali del contesto
- Problematiche
- Applicazioni Location-based
- ONSTAR service - http://www.onstar.com (General Motors)
- AutoGraph
- Shopper's eye
- Acquisizione di dati di posizione
- Categorizzazione di metodi di acquisizione
- Metodi computazionali
- Trilaterazione
- Triangolazione
- Resection
- Dead reckoning
- Localizzazione di o da parte di un oggetto vicino
- Metodi computazionali
- Le basi del GPS (Global Positioning System)
- Approcci ottimizzati del GPS
- Alcuni riferimenti
- Tecnologie di posizionamento
- E911
- E112
Lezione di Mercoledì 13 dicembre 2006
- Come rappresentare il contesto.
- Approcci non standard
- CC/PP
- UAProf
- CC/PP exchange protocol based on HTTP Extension Framework
- Architetture che supportano CC/PP
- DELI: A Delivery Context Library For CC/PP and UAProf
- Adottato da Apache
- API per cc/pp
- Jena2 - http://jena.sourceforge.net/
- FEDI - http://sourceforge.net/projects/fedi
- Cenni alle Ontologie
- OWL Web Ontology Language - http://www.w3.org/TR/owl-guide/
- Strumenti per lo sviluppo e il ragionamento automatico
- Protegè - http://protege.stanford.edu/
- Racer - http://www.racer-systems.com/
- Vantaggi rispetto a CC/PP
- Derivazione di dati di contesto
- Dati semplici
- Sensori per dati fisiologici
- Sensori ambientali ( ad es: SunSpot - http://sunspotworld.com/ )
- Dati composti
- Dati complessi
- Dati semplici
Lezione di Giovedì 14 dicembre 2006
- Architettura CARE (Context Aggregation and REasoning)
- http://webmind.dico.unimi.it/care/
- Sviluppato dal laboratorio DaKWE - http://dakwe.dico.unimi.it/
- Cocoon - http://cocoon.apache.org/
- Funzionamento
- Installazione
- Configurazione
Lezione di Mercoledì 20 dicembre 2006
- Prova scritta
Lezione di Venerdì 22 dicembre 2006
- Presentazione progetto