«X-IoT (read as cross-IoT) is a novel model-driven approach that uses a high level of abstraction to realise Cross-Platform IoT applications.»
One-size-fits-all is unfeasible for IoT platforms!
It is not possible to develop a unique solution for different IoT platforms.
Each platform has its specific requirements to fulfil to develop an IoT application.
Indeed, software portability between different platforms is not possible.
The X-IoT Approach:
The X-IoT approach is divided into 3 main phases: Modelling, Development, and Deployment.
Each phase has several steps to follow to realise a cross-platform IoT application.
X-IoT Video Guide:
For further application scenarios developed using X-IoT, you can click here.
Model Design:
Modelling of the IoT scenario in a technology-independent mode. It is possible to divide the PIM model into two interconnected diagrams: The IoT Scenario and the IoT Logic.
IoT Scenario:
The (b) and (c) models are interconnected, as shown in the structure attribute in (d)
IoT Logic:
The IoT Logic and IoT scenario diagrams are interconnected.
Model Refinement and Translation:
After the PIM model is complete, it is possible to choose which IoT platform to develop the application.
A Platform Library is loaded, and the additional information required is inserted inside the model.
In this way, a PSM is derived.
The X-IoT tool provides support for Thingsboard and Losant platforms. We are planning to provide support for further platforms!
The refinement process for a Device:
The IoT Logic and IoT scenario diagrams are interconnected.
The refinement process for the Logic:
In the same way, the IoT Logic nodes need to be refined.
Application Deployment:
After all the PSM elements are fulfilled, the model can be translated into code artefacts able to be deployed inside the IoT platform.
How to extend the approach:
On the following site, you can find more information about extending the approach, including new elements and supporting additional IoT platforms.
How to try the approach:
To test the entire approach, we provide a Virtual Machine. This virtual machine contains
- the X-IoT complete tool ready to run
- some examples to test the approach
- a step-by-step guide to generating IoT applications starting from the provided examples
- an already configured browser (Chrome) to visualise the generated applications inside different IoT Platforms
Publications
Flavio Corradini, Arianna Fedeli, Fabrizio Fornari, Andrea Polini and Barbara Re, X-IoT: a model-driven approach for cross-platform IoT applications development, {SAC} '22: The 37th ACM/SIGAPP Symposium on Applied Computing, 1448-1451, ACM, 2022 Corradini, F., Fedeli, A., Fornari, F., Polini, A., Re, B.: and Ruschioni L., X-IoT: a model-driven approach to support IoT application portability across IoT platforms, In: Springer Computing Journal, 1-25, (2023)