{{drapeau_anglais.jpg?80|}} ====== Middleware for Mobile Computing ====== ==== Description ==== Main Instructor : Jean-Yves Tigli Email: tigli@polytech.unice.fr Web : http://www.polytech.unice.fr/~tigli Instructors : Jean-Yves Tigli, Michel Riveill, Gaetan Rey , Stéphane Lavirotte, Jonathan Bardin and Didier Donsez (UJF - IMAG), Nicolas Ferry (TA), Vincent Hourdin (TA). Evaluation (one of the following) : * Writing a scientific paper on a research topic of the domain, * Writing a journalistic paper on a technological topic of the domain, * Designing and developing software for ubiquitous computing applications in the continuation of the practical works of this master course. Duration : This module is separated in two parts : * The first part : 8 half-days (8 weeks) is a main module for SI5 and IFI. In this first part, we adress the recent evolution of frameworks and middlewares to be extendable in response to the heterogeneity and interroperability problem. * The second part : 8 half-days (8 weeks) is a main module for SI5 and IFI but also for UbiNet master students. In this second part, we adress especially new research challenges in middleware for ubiquitous computing and the recent trends. ==== Summary ==== Ubiquitous computing names the third wave in computing, just now beginning. First were mainframes, each shared by lots of people. Now we are in the personal computing era, person and machine staring uneasily at each other across the desktop. Next comes ubiquitous computing, when technology recedes into the background of our lives. Alan Kay of Apple calls this “Third Paradigm” computing. Friedemann Mattern, explains this trend from four technological reasons: miniaturization of devices, new materials, progress in communication technologies and better sensors. Anyway, ubiquitous computing introduces new challenges in the software engineering domain leading to numerous innovations for middlewares. After introducing such challenges, we cut the course in two parts. The first part : 8 half-days (8 weeks) is a main module for SI5 and IFI. In this first part, we adress the recent evolution of frameworks and middlewares to be extendable in response to the heterogeneity and interroperability problem. * The second part : 8 half-days (8 weeks) is a main module for SI5 and IFI but also for UbiNet master students. In this second part, we adress especially new research challenges in middleware for ubiquitous computing and the recent trends. Finally, student personnal works are presented in a final public session. ==== Weekly Course Outline ==== ==== Related course in other universities : ==== * “Pervasive Computing Course” at MIT, Spring 2003 (http://www.cag.lcs.mit.edu/classes/6.898/) * “Mobile and Ubiquitous Computing”, Georgia Tech, Spring 2003 (http://www.cc.gatech.edu/classes/AY2003/cs7470_spring/) * “Mobile Computing Systems”, CMU, Fall 2003 (http://www-2.cs.cmu.edu/~15-821/) * “Mobile and Wireless Networks & Applications”, Stanford, Spring 2002 (http://www.stanford.edu/class/cs444n) ==== Related conferences and workshops : ==== * IEEE Pervasive Computing Magazine * UbiComp: International Conference on Ubiquitous Computing * PerCom: IEEE Conference on Pervasive Computing and Communications * Pervasive: International Conference on Pervasive Computing * MobiSys: International Conference on Mobile Systems, Applications, and Services * EUSAI: European Symposium on Ambient Intelligence * MobiCom: ACM Annual International Conference on Mobile Computing and Networking * MobiHoc: ACM International Symposium on Mobile Ad Hoc Networking and Computing * SenSys: The ACM Conference on Embedded Networked Sensor Systems ==== Course Materials ==== === Session 1 === == Course Slides == Course : {{:cours_1_iam01.pdf| Cours d'introduction middleware for mobile computers}} == Practical Course Documents == {{http://rainbow.polytech.unice.fr/~tigli/cours/TD_CNF_2_DLL_Native_SI5_IAM01.pdf|PC 2 Native DLL and .Net Compact Framework (Jean-Yves Tigli)}} == Other links == [[http://msdn.microsoft.com/en-us/library/aa288468(VS.71).aspx|Platform Invoke Tutorial]] [[http://msdn.microsoft.com/fr-fr/library/bb469896.aspx|Utilisation de P/Invoke pour appeler des API non gérées à partir de vos classes gérées]] Complete code : [[http://download.microsoft.com/download/8/2/d/82d5ca1d-7174-46f9-a526-b15a8c0b728c/pinvokesamples.msi|Click to download pinvokesamples.msi]] === Session 2 === == Course Slides JNI == Course : {{:cours_2_iam01_jni.pdf|Cours Java Native Interface}} == Practical Course Documents == {{:td_jni.pdf| Travaux pratiques Java Native Interface}} == Other links == === Session 3 J2ME === == Course Slides == Course : {{:cours_j2me_michel_riveill.pdf|Cours J2ME de Michel Riveill}} === Session 4 J2ME === == Practical Course Documents == [[http://rangiroa.polytech.unice.fr/riveill/enseignement/2009-10/j2me.html |Travaux pratiques J2ME ]] === Session 5 Compact .Net Framework === == Course Slides == Course : {{:cours_3_iam01_cnf.pdf| Cours sur les différences entre Compact .Net Framework et .Net Framework}} == Practical Course Documents == {{:td_compact_.net_framework.pdf|TD introduction au Compact .Net Framework}} {{:td_avance_compact_.net_framework.pdf|TD Compact .Net Framework avancé}} == Other links == {{:td_compact_.net_framework_cab.pdf|TD Génération de fichier de déploiement CAB}} === Session 6 Android === === Session 7 OSGi === == Course Slides == Cours Maven : http://membres-liglab.imag.fr/donsez/cours/maven.pdf Cours OSGi : http://membres-liglab.imag.fr/donsez/cours/osgi.pdf Felix OSGi : http://felix.apache.org/site/documentation.html iPOJO: http://felix.apache.org/site/ipojo-in-10-minutes.html