Mobile computing/2006-2007
Versione del 23 dic 2006 alle 16:43 di IuZ (discussione | contributi) (→Lezione di Giovedì 14 dicembre 2006)
Indice
- 1 News
- 2 Informazioni generali
- 3 Informazioni specifiche
- 4 Materiale didattico
- 5 Diario del corso
- 5.1 Lezione di Mercoledì 04 ottobre 2006
- 5.2 Lezione di Venerdì 06 ottobre 2006
- 5.3 Lezione di Mercoledì 11 ottobre 2006
- 5.4 Lezione di Venerdì 13 ottobre 2006
- 5.5 Lezione di Mercoledì 18 ottobre 2006
- 5.6 Lezione di Venerdì 20 ottobre 2006
- 5.7 Lezione di Mercoledì 25 ottobre 2006
- 5.8 Lezione di Venerdì 03 ottobre 2006
- 5.9 Lezione di Mercoledì 08 novembre 2006
- 5.10 Lezione di Venerdì 10 novembre 2006
- 5.11 Lezione di Mercoledì 15 novembre 2006
- 5.12 Lezione di Mercoledì 22 novembre 2006
- 5.13 Lezione di Venerdì 24 novembre 2006
- 5.14 Lezione di Mercoledì 29 novembre 2006
- 5.15 Lezione di Mercoledì 06 dicembre 2006
- 5.16 Lezione di Mercoledì 13 dicembre 2006
- 5.17 Lezione di Giovedì 14 dicembre 2006
- 5.18 Lezione di Mercoledì 20 dicembre 2006
- 5.19 Lezione di Venerdì 22 dicembre 2006
News
- Causa sovrapposizione del corso di Mobile Computing con quello di Fondamenti di Ricerca Operativa al Venerdì, si sta trovando un accordo con il professor Trubian per gli studenti della Laurea Magistrale (in ogni caso, gli orari delle lezioni di Mobile Computing rimarranno invariati).
Lezioni cancellate/spostate, cambi di aula
- Mercoledì 18 ottobre la lezione si svolgerà in aula Delta.
- Il giorno Venerdì 20 ottobre in Sala Lauree si terrà il seminario "System Support for Context-Aware Computing" (Prof. Becker). Sarà considerato come una lezione.
- La lezione di Venerdì 27 ottobre è sospesa.
- La lezione di Venerdì 17 novembre è sospesa.
Appelli
[...]
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
Lezione di Mercoledì 20 dicembre 2006
- Prova scritta
Lezione di Venerdì 22 dicembre 2006
- Presentazione progetto