X-IoT

«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:

Video Guide about the X-IoT approach. First, a theory introduction and then an example of the X-IoT tool usage for a meeting room scenario.

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:

(a) X-IoT Library notation for the IoT Scenario, (b) A smart Meeting Room example with all entities involved, (c) a detail of a Station 1 entity, and (d) Abstract information to insert in the PIM

The (b) and (c) models are interconnected, as shown in the structure attribute in (d)

IoT Logic:

(a) X-IoT Library notation for the IoT Logic, (b) The smart Meeting Room logic example, and (c) detail of an input node with a link to the corresponding device

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:

(a) The thingsboard.json Platform Library. A detail on a Device additional information required, (b) The developer fills in the information required, and (c) a detail of a derived code artefact for that 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.

(a) A device and a notification node are presented, (b) their PIM information, and (c) the PSM refinement process

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.

IoT application code artefacts for Thingsboard (a) and Losant (b) platforms are generated and imported.

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)