{{ :mucimg.jpg?nolink&300|}} {{:drapeau_anglais.jpg?nolink&50|}} ====== Middleware for Internet of Things ====== ---- ||| ||| ||| ||| ||| ||| ||| ||| ||| ||| ||| ||| //** << More than the sum of its devices, the Internet of Things links technologies together to create new services and opportunities. >> **// ===== Evaluation Rules : ===== - Lecture 4 : Tutorial evaluation of the Modeled Complex Event Processes using Synchronous languages approaches and model checking - During Lecture 6 : MCQ about all the courses and tutorials before - Final exam 02/07/17 : MCQ about all the courses and tutorials before and reading and comments on given technological and research paper about IoT. ===== Lectures : ===== ---- [[:cours:2016_2017_MIT_course_agenda| Calendrier 2016 2017 MIT]] ^ Jour ^ ^ mois ^type ^ intervenant ^ début ^fin ^ Contenu ^ |mardi |6 |Décembre |TD |J.Y. Tigli |08h00 |10h00 | Middleware for Internet of Things, a survey on the interoperability challenge and communications patterns| |mardi |6 |Décembre |TD |J.Y. Tigli |10h15 |12h15 |Middleware for Internet of Things, a survey on the interoperability challenge and communications patterns| |mardi |13 |Décembre |TD |L. Gomez |08h00 |10h00 | LPWA networks - Tutorial LoRa| |mardi |13 |Décembre |TD |L. |10h15 |12h15 |LPWA networks - Tutorial LoRa| |vendredi |16 |Décembre |TD |L. Gomez |08h00 |10h00 | LPWA networks - Tutorial LoRa| |vendredi |16 |Décembre |TD |L. |10h15 |12h15 |LPWA networks - Tutorial LoRa| |mardi |3 |Janvier |TD |J.Y. Tigli & G. Rocher|08h00 |10h00 |IoT : MQTT - OASIS standard / Tutorial MQTT| |mardi |3 |Janvier |TD |J.Y. Tigli & G. Rocher|10h15 |12h15 |IoT : MQTT - OASIS standard / Tutorial MQTT| |mardi |10 |Janvier |TD |I. Sarray & A. Ressouche|08h00 |10h00 |Synchronous language for formal validation - application to CEP (complex event processing)| |mardi |10 |Janvier |TD |I. Sarray & A. Ressouche|10h15 |12h15 |Synchronous language for formal validation - application to CEP (complex event processing)| |mardi |17 |Janvier |TD |J.Y. Tigli & S. Lavirotte|08h00 |10h00 |From IoT to WoT/WSD - Tutorial HTTP/CoAP - WS/REST - WSD| |mardi |17 |Janvier |TD |J.Y. Tigli & S. Lavirotte|10h15 |12h15 |From IoT to WoT/WSD - Tutorial HTTP/CoAP - WS/REST - WSD| |mardi |24 |Janvier |TD |S. Lavirotte & J.Y. Tigli|08h00 |10h00 |WSD and WSD composition in the cloud - tutorial Ubiquaria| |mardi |24 |Janvier |TD |S. Lavirotte & J.Y. Tigli|10h15 |12h15 |WSD and WSD composition in the cloud - tutorial Ubiquaria| |mardi |31 |Janvier |TD |J.Y. Tigli & G. Rocher|08h00 |10h00 |Advanced MIT : SWoT & Semantic Interoperability (G. Rocher) - Opportunistic Composition (J.Y. Tigli)| |mardi |31 |Janvier |TD |J.Y. Tigli & G. Rocher|10h15 |12h15 |Advanced MIT : SWoT & Semantic Interoperability (G. Rocher) - Opportunistic Composition (J.Y. Tigli)| |mardi |7 |Février |TD |J.Y. Tigli, I.Sarray, G. Rocher|09h00 |12h00 |Exam| ==== Lecture 1 : Introduction to Middleware for Internet of Things ==== ---- * Lecturer : J.-Y. Tigli * Author : J.-Y. Tigli Middleware for Internet of Things, a survey on the interoperability challenge and communications patterns Materials : {{:cours:2016_2017_iot_lecture_1_internet_of_things_introduction.pdf|Introduction to Internet of Things (IoT)}} {{:cours:2016_2017_iot_lecture_1_classical_middleware_and_communication_models.pdf|!classical Middleware and Communication Models}} * Résumé (french) : Les middleware pour l'IoT épousent des contraintes spécifiques que l'on ne retrouve pas dans les réseaux plus classiques qui permettent de supporter un développement sur des infrastructures occultant la distribution du logiciel (ex. over IP vers un Cloud et consommant Services World Wide). Ces contraintes sont liées à des technologies hétérogènes qui répondent à des exigences applicatives (ex. réseau large scale basse consommation pour la collecte de données de terrain, ex. . A l'instar des middleware classiques, les middleware for IoT s'appuient sur des patterns de communication. Ces patterns sont néanmoins sélectionnés fonction des caractéristiques du ou des réseaux sous-jacents. Nous pouvons alors distinguer à la fois des caractéristiques et contraintes réseaux et les middleware supporté selon. * Des réseaux Large Scale / Low Power sont principalement dédiés à la collecte d'information de terrain contenant un grand nombre de points de collecte de données. Ces réseaux représentent un enjeu majeur pour nombre de domaines traitant des données en volume (Big Data) issues de l'environnement physique (ex. Smart Cities, E-Health and Data ...). Les problématiques sont alors * La limitations de la bande passante et la fréquence d'acquisition * La consommation énergétique et l'endormissement-réveil des noeuds du réseau * L'envoie de données vers les noeuds sachant que les technologies mises en oeuvre sont avant tout dédiées à la collecte de données et non le pilotage de dispositifs de terrain. * Les protocoles imposés gérés par les Middleware induisent alors des patterns de communications (ex. eventing pour les réseaux Large Scale / Low Power ) * Des réseaux PAN et WLAN privilégient la mise en place d'autres patterns de communication permettant l'envoi de message vers des dispositifs physiques qui ne sont plus limités aux capteurs mais qui contiennent aussi des actionneurs et qui sont plus communément appelés "Objets Connectés" (ex. éclairages publics, feux tricolores, lampe de chevet, système d'alarme ...). Le problème de l'autonomie énergétique est alors un point dur et conduit souvent à des infrastructures réseaux hétérogènes panachant réseaux low power limités, * L'Interopérabilité rendues ainsi difficile par l'hétérogénéité des réseaux conduit à mettre en place des passerelles vers IP plus ou moins proche du dispositif de terrain. ==== Lecture 2 : LPWA networks - Tutorial LoRa ==== ---- * Lecturer : L. Gomez, SAP Research * Prerequisites : c and c++ programming, python programming **Low Powered Network for the Internet of Things** {{:cours:lowpowerednetworkfortheinternetofthings.pdf| Low Power Network for the internet of Things}} **Use LoRa network with the SAP Hana Cloud ** {{:cours:lpiot_td_files.zip|Source Code .c, .cpp and .py for tutorial}} ==== Lecture 3 : Practical session on Event based Middleware and CEP with MQTT ==== ---- * Lecturer: J.Y. Tigli and G. Rocher * Requirements : shell and C# programming (can be replace by C programming), windows PC with Visual Studio and Vmplayer with a linux virtual machine. ** IoT : MQTT - OASIS standard / Tutorial MQTT ** {{:cours:2016_2017_mit_mqtt_lecture_2_.pdf|Introduction to MQTT}} {{:cours:tutorial_mqtt_mit_2016_2017.pdf|Event based Middleware and CEP : MQTT tutorial}} For more details about MQTT messages format and protocol, see : [[http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf| MQTT Version 3.1.1 OASIS Standar 29 October 2014]] Other materials : * [[https://drive.google.com/drive/folders/0B1OVfVi766myZFpIcXNmc1VYaUU?usp=sharing|Zip file of the Vmplayer directory for a Linux Ubuntu Virtual Machine]] * [[http://www.clubic.com/telecharger-fiche15594-vmware-player.html|Vmplayer Workstation Download]] || || ==== Lecture 4 : Synchronous language for formal validation - application to CEP (complex event processing)==== ---- || * Lecturers : I. Sarray & A. Ressouche * Prerequisites : c programming, notions of logic and automata theory Lecture: Synchronous language for formal validation - application to CEP (complex event processing) {{http://www-sop.inria.fr/members/Annie.Ressouche/pdf/Lecture_MUC_UBINET_Verif_2016_2017.pdf|Slides}} Tutorial: Creating a Validated CEP node in a MQTT approach {{http://www-sop.inria.fr/members/Annie.Ressouche/pdf/Tutorial_MUC_UBINET_Verif_2016_2017.pdf|Text}} Material: - CLEM: the clem tools useful to design a synchronous road information component {{http://www-sop.inria.fr/members/Annie.Ressouche/zip/clem_software.tgz|Clem software}}. This archive contains **clem**, **blif_simul** and **galaxy** software for linux 64 bits and clem for linux 32 bits. For linux 32 bits, here are {{http://www.unice.fr/dgaffe/recherche/outils_blif.html|**blif_simul**}} and {{http://www.unice.fr/dgaffe/recherche/automaton_tools.html|**galaxy**}}. You should put them in a "bin" folder and add the path to this folder in the environment variable **PATH** of your linux system. - VERIFICATION: The {{http://www-sop.inria.fr/members/Annie.Ressouche/zip/clem_verif.tgz|Clem verification tools}} must be installed from xeve.tgz and NuSMV-2.6.0.tgz archives (see the tutorial for both xeve and NuSMV installation). You should also add the **xeve** and the **NuSMV** software to your "bin" folder. - C CODE: Some{{http://www-sop.inria.fr/members/Annie.Ressouche/zip/MQTT_c_code.tgz| C files }} to help the definition of the MQTT client which contains the CEP validated node defined in your tutorial. ==== Lecture 5 : Web of Things : for Physical Data or Physical Device ==== ---- || * Lecturers : J.-Y. Tigli & S. Lavirotte From IoT to WoT/WSD - Tutorial HTTP/CoAP - WS/REST - WSD {{:cours:2016_2017_iot_lecture_3_service_oriented_middleware_for_iot.-_rest_and_coap.pdf|Service oriented Middleware and IoT}} {{:cours:tutorial_rest_coap_mit_2016_2017.pdf|Tutorial on HTTP RESTFul and CoAP}} * Other References : {{:cours:coap_simple_service.zip| Zip file of a .Net C# solution with a simple CoAP client and server based on CoAP.Net library}} A Perspective on the Future of Middleware-based Software Engineering, Valérie Issarny, Mauro Caporuscio, Nikolaos Georgantas, Workshop on the Future of Software Engineering : FOSE 2007, 2007, Minneapolis, United States. pp.244-258, 2007, [[https://hal.inria.fr/inria-00415919/document|pdf file]] ==== Lecture 6 : WSD and WSD composition in the cloud - tutorial Ubiquaria ==== ---- * Lecturers : S. Lavirotte & J.Y. Tigli [[http://trolen.polytech.unice.fr/cours/mit/|Materials for the lecture and the practical course]] ==== Lecture 7 : Advanced MIT : SWoT & Semantic Interoperability (G. Rocher) ==== ---- ||| Lecturer : G. Rocher, GFI Informatique * {{:cours:swot.pdf| Slides of the Lecture on Semantic Web of Things }} * {{:cours:swot_tutorial.pdf| Tutorial on Semantic Web of Things }} * {{:cours:tutorial_files_owl_for_swot.zip|Package of files .owl for the tutorial}} ==== Lecture 8 : Final Exam ==== ---- ||| ===== Main Conferences and Journals ===== ---- [[http://ubicomp.org/ubicomp2014/|UbiComp Internation Conferences (also Pervasive Computing Conference and Internation Symposium on Wearable Computer]] [[http://www.middleware-conference.org/|Middleware Internation Conferences]] ===== Books ===== {{ :cours:wiley.jpg?direct&100|http://books.google.fr/books?id=bF_hfluZigsC&pg=PT58&lpg=PT58&dq=tigli+editeur+sedes+wesley&source=bl&ots=NQftqA4JpD&sig=ArzwCVPS2H26Wh-Q3kxBLmotBPI&hl=fr&sa=X&ei=UpClUpziJ-O-0QWSloH4CQ&ved=0CDIQ6AEwAA#v=onepage&q=tigli%20editeur%20sedes%20wesley&f=false }} {{ :cours:hermes.jpg?100|http://books.google.fr/books?id=bF_hfluZigsC&pg=PT58&lpg=PT58&dq=tigli+editeur+sedes+wesley&source=bl&ots=NQftqA4JpD&sig=ArzwCVPS2H26Wh-Q3kxBLmotBPI&hl=fr&sa=X&ei=UpClUpziJ-O-0QWSloH4CQ&ved=0CDIQ6AEwAA#v=onepage&q=tigli%20editeur%20sedes%20wesley&f=false }} [2013] Gaëlle Calvary, Thierry Delot, Florence Sèdes, **Jean-Yves Tigli**, editors. "Computer Science and Ambient Intelligence" 335 pages, ISTE Ltd and Wiley & Sons Inc, March 2013, ISBN 978-1-84821-437-8 [2012] Gaëlle Calvary, Thierry Delot, Florence Sèdes, **Jean-Yves Tigli**. "Informatique et Intelligence Ambiante : des Capteurs aux Applications (Traité Informatique et Systèmes d'Information, IC2)" Hermes Science, July 2012, ISBN 2-7462-2981-1 ===== Videos ===== == Illustrations of Service Continuity Challenge in Ambient Systems == For Mobility : [[http://www.ambientcomp.fr/|AmbientComp Project]], [[http://www.dailymotion.com/video/xqj9gm_ambientcomp-integrateur-gb-hd_tech|AmbientComp Project]] For Internet of Things : [[http://www.ubiflood.eu/|UbiFlood Project (Research Cooperation Programme with Asia)]], [[http://www.dailymotion.com/video/x10mnn4_ubiflood_tech|UbiFlood Project]] == Illustrations of UbiComp Middleware to facilitate Service Continuity Design in Ambient Systems == For Mobility : [[http://continuum.unice.fr/demo|Continuum Project (National Research Agency)]], [[http://continuum.unice.fr/demo|Continuum Project Videos]] ===== ARCHIVES ===== [[cours:mit_2015_2016|Middleware for Internet of Things (IFI/SI5/Unbinet) 2015 2016]] [[cours:mit_2016_2017|Middleware for Internet of Things (IFI/SI5/Unbinet) 2016 2017]] ===== EVOLUTIONS futures ===== [[cours:mit_2017_2018|Evolutions 2017 2018 ]]