Ceci est une ancienne révision du document !
Middleware for Internet of Things
Sessions
« More than the sum of its devices, the Internet of Things links technologies together to create new services and opportunities. »
Session 1 : Introduction to Architecture and Middleware for Internet of Things
Lecturer : J.-Y. Tigli
Author : J.-Y. Tigli
- IoT Challenges
- IoT Application Architecture: From IoT to Cloud through Edge and Fog
- Middleware Challenges for IoT
- Middleware for Internet of Things Course curiculum
Materials :
Exercices and Practical Course
Session 2 : Network Infrastructure for IoT : ex. LPWA (Low Power Wide Area) networks
- Lecturer : Fabien Ferrero
- Prerequisites : c and c++ programming, python programming
Low Powered Network for the Internet of Things
Tutorial LoRa
Lab2: Lora wan register device
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 pdf
Session 3 : Event Driven Architecture and Middleware for IoT
- Lecturer: J.Y. Tigli
- 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
Event based Middleware and CEP : MQTT tutorial
Lab Tools :
References about MQTT messages format and protocol, see :
Session 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) Slides
Tutorial: Creating a Validated CEP node in a MQTT approach Text
Material:
- CLEM: the clem tools useful to design a synchronous road information component 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 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 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.
Session 5 : Service oriented Architecture and Middleware for IoT : Towards Web of Things (WoT) and Web Services for Devices (WSD)
Main Purpose of SOA (Service oriented Approach) :
In SOA, networked resources are made available as autonomous software services that can be accessed without knowledge of their underlying tech- nologies. Key feature of SOA is that services are inde- pendent entities, with well defined interfaces, which can be invoked in a standard way, without requiring the client to have knowledge about how the service actually performs its tasks.*
(*) 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, pdf file
Lecture and Lab :
From IoT to WoT/WSD - Tutorial HTTP/CoAP - WS/REST - WSD
Archives :
Synthesis
Middleware for IoT are deployed on heterogeneous IoT Plateform to provide a more homogeneous way to develop some distributed software applications. Most of the time, we distinguish four levels : IoT Devices, Edge, Fog, and Cloud.
Exercice : Find in the technical and scientific litterature some definitions and recent surveys on these concepts for IoT. Write a paper (Max 2 pages long) on this 4-levels point of view of distributed system that can then emerged like CyberPhysical Systems. For example you can argue :
- why differents patterns of communication are used in this 4-levels System,
- what are the famoust technologies for each levels
Session 6 : Web Service for Devices : Discovery, Availability Management and Dynamic software composition
Lecturers : S. Lavirotte & J.Y. Tigli
Material
Lab : Create your own UPnP device (with some C# programming)
Lab continue with Node-RED
- After creating you own UpnP device, try to use it with Node-RED. First, you need to install node-red-upnp-control-point and node-red-contrib-upnp. You can find them at the following address:
- With the samples in node-red-contrib-upnp package, try to discover the UPnP device
- Then, try to interact with them, send an action to a UPnP device and subscribe to changes on the device.
Lab : UPnP Manipulations without programming
-
- “Network Light” simulate an UPnP device.
- Device Spy Tool allow to interact with any UPnP device in your Local Network
- Device Sniffer allow to spy the UPnP protocols exchange
Exercice :
- Run a “Network Light” and interact with if thanks to the Device Spy Tool. How many services are available ?. What are both kinds of software communication patterns
- Find the description of the “Network Light” Device/Services. What is the format of this
description ? Can you then imagine how the Device Spy create an interface for each discovered device on the fly ?
- Thanks to Device Sniffer, you can observe the different messages between Clients (UPnP control point) and Servers (UPnP Devices). What are the messages corresponding to SSDP ? What is the HTTP-like protocol that carry this kind of message?
Session 7 : Advanced MIT : SWoT (Semantic Web of Things), middleware and semantic composition
Lecturer : G. Rocher, GFI Informatique
Related Works :
- SOFIA EU Project : 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
Session 8 : One day ETSI OneM2M Hackaton
Standards for M2M and the Internet of Things
Potential Review of students Papers before last version one Week after (DEADLINE).
Evaluation Rules :
- Evaluation of a Practical Course : Evaluation from the Tutorial of the Modeled Complex Event Processes using Synchronous languages approaches and model checking [Deadline 02/20/19]
- One or more MCQ during some sessions [02/05/19 and 02/12/19 or 02/19/19]
- Personnal Work : Writing of a 2 pages long paper like explain at the end of the Session5 Lab [Deadline 02/15/19]
Students 2019 :
Other Session : DevOps for IoT
Personnal Work : Write your own paper
Course Agenda :
Main Conferences and Journals
IoT-EPI - Reference architecture
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 about IOT EPI.