====== Middleware for Internet of Things ====== {{ :mucimg.jpg?nolink&300|}} {{:drapeau_anglais.jpg?nolink&50|}} ---- ||| ||| ||| ||| ||| ||| ||| ||| ||| ||| ||| ||| //** << More than the sum of its devices, the Internet of Things links technologies together to create new services and opportunities. >> **// ====== Lectures and Personnal Works ====== ==== Lecture 1 : Introduction to Architecture and 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:2017_2018_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}} == Tools for Systematic Literature Reviews and Systematic Mapping Studies == Advanced Search Tools : [[https://dl.acm.org/advsearch.cfm|ACM Digital Library]] [[https://ieeexplore.ieee.org/search/searchresult.jsp|IEEE Xplore Digital Library]] [[https://www.scopus.com/search/form.uri?display=advanced|Scopus Advanced search ]] [[https://www.sciencedirect.com/search/advanced|ScienceDirect Advanced Search]] [[https://www.elsevier.com/search?query=pain|elsevier]] For Snowballing [[https://app.knovel.com/web/|knovel]] [[https://scholar.google.fr/|Google Scholar]] ==== Lecture 2 : Network Infrastructure for IoT : ex. LPWA (Low Power Wide Area) networks ==== ---- * Lecturer : L. Gomez, SAP Research (canceled) * 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}} ** Tutorial LoRa: Use LoRa network with the SAP Hana Cloud ** {{:cours:lpiot_td_files.zip|Source Code .c, .cpp and .py for tutorial}} ** Other references ** **Low Power Wide Area Networks: An Overview **, Usman Raza, Parag Kulkarni, and Mahesh Sooriyabandara, Toshiba Research Europe Limited, UK,Cornell University online Library, arXiv.org [[https://arxiv.org/pdf/1606.07360.pdf|pdf]] ==== Lecture 3 : Event Driven Architecture and Middleware for IoT ==== ---- * 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 : CEP (complex event processing) in Event Driven Architecture ==== ---- || == Model checking and formal approach for CEP == * 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_2017_2018.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_2017_2018.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_2017_2018.tgz|Clem software}}. This archive contains **clem**, **blif_simul** and **galaxy** software both for linux 64 bits and for linux 32 bits. 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. Moreover, a **NuSMV** executable file is in the archive to be used if it is running in your linux system. - 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. **Notice: It is mandatory to have Linux operating system.** ==== Lecture 5 : Service oriented Archtecture and Middleware for IoT : towards Web of Things (WoT) and Web Services for Devices (WSD) ==== ---- || {{ :cours:comparison_between_ip_and_iot_stacks.png?400|}} ** Lecturers : S. Lavirotte & J.-Y. Tigli ** == From IoT to WoT/WSD - Tutorial HTTP/CoAP - WS/REST - WSD == ||| {{:cours:2017_2018_iot_lecture_3_service_oriented_middleware_for_iot.-_rest_and_coap.pdf|Service oriented Middleware and IoT}} {{:cours:tutorial_rest_coap_mit_2017_2018.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 : WoT and WSD (Web Service for Device) middleware and software composition - tutorial Ubiquaria ==== ---- Lecturers : S. Lavirotte & J.Y. Tigli * {{:cours:2017-2018_lecture_6_wsd_composition.pdf|Slides of the Lecture on Web Service for Devices and Dynamic Composition}} * {{:cours:2017-2018_tutorial_6_wsd_upnp.pdf|Tutorial on Web Services for Devices (UPnP)}} * Tutorial Videos : [[https://www.youtube.com/watch?v=MnMaz5WYsb0|video1]] & [[https://www.youtube.com/watch?v=4UMJhMJMiUY|Video2]] * {{:cours:2017-2018_tutorial_6_wsd_composition.pdf|Tutorial on WSD Dyncmic Composition}} ==== Lecture 7 : Advanced MIT : SWoT (Semantic Web of Things), middleware and semantic composition (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}} ** Related Works : ** * ** SOFIA EU Project ** : [[http://www.win.tue.nl/~tozceleb/sofia/|System Architecture and Networking (SAN)]] 2009 - 2011 Smart Objects For Intelligent Applications (SOFIA) is funded through the European Artemis programme under the subprogramme SP3 Smart environments and scalable digital service. The mission of SOFIA project is to create a semantic interoperability platform which enables and maintains cross-industry interoperability which is a platform for new services. Concurrently the solution will foster innovation while maintaining value of existing legacy multi-vendor interoperability platform. * Industrial products from SOFIA : ** SMALL at Tecnalia ** * Industrial products from SOFIA : ** SOFIA 2 at Indra ** ==== Lecture 8 : Test and Review of students Papers ==== Review of students Papers before last version one Week after (DEADLINE). ---- ||| ===== Evaluation Calendar ====== * Tutorial on Synchronous Language and CEP (depends on lecturers, no before 25/02) * Final Evaluation : Exam Paper (Tuesday 27 Feb) * Without document * MCQ and open questions on all the courses of the module * Student Paper : (Sunday, 4 March) ===== Evaluation Rules : ===== - Evaluation of a Practical Course : Evaluation from the Tutorial of the Modeled Complex Event Processes using Synchronous languages approaches and model checking - During Lecture 30/1/18 * : one or more MCQ about all the courses and tutorials before - Other Evaluation during lecture 20/02/18 : MCQ about all the courses and tutorials before. - Personnal Work : Writing of a short survey paper about a technological or research topic in the field of IoT (*) optionnal ==== Personnal Work : Write your own paper ==== ---- [[cours:mit_2017_2018:personnal_paper_method|Method and Advice...]] [[cours:mit_2017_2018:student_papers_array |Student Papers Array]] ===== Course Agenda : ===== [[cours:calendar_MIT_17_18|Calendar 2017 2018]] ===== 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]] ==== IoT-EPI - Reference architecture ==== [[https://iot-epi.eu/|IoT-European Platforms Initiative]] The IoT-European Platforms Initiative (IoT-EPI) was formed to build a vibrant and sustainable IoT-ecosystem in Europe, maximising the opportunities for platform development, interoperability and information sharing. Seven leading research and innovation projects make their technology accessible to 3rd parties [[https://iot-epi.eu/about/|about IOT EPI]]. ==== Other References ==== [[http://www.oracle.com/us/solutions/machine-to-machine/iot-wp-2190408.pdf |Internet of Things: Role of Oracle Fusion Middleware, An Oracle White Paper April, 2014]] ===== 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]]