Data eXchange Mediator Synthesizer
DeXMS introduces a solution for the automated synthesis of protocol mediators that support the interconnection of heterogeneous IoT devices. This systematic approach relies on the Data eXchange (DeX) connector model, which comprehensively abstracts and represents existing and potentially future IoT middleware protocols (MQTT, CoAP, etc). DeX allows IoT devices to seamlessly interconnect through lightweight mediators.
To enable the mediator synthesis per request, we have deployed a DeXMS service that accepts as input, a configuration file describing the heterogeneous IoT devices that must be interconnected, and provides as output the mediator’s Dockerfile. We guide developers to define configuration files using either an Eclipse plugin or a Web interface. Aiming to provide a placement of mediators to Edge nodes, we have introduced heuristics and an integer linear programming solution that takes as input: a set of Edge nodes, IoT devices, and networking semantics. Our proposed techniques achieve adaptive placement resulting in timely interactions between IoT devices for larger topologies of IoT spaces. A team of engineers at INRIA is developing DeXMS under my guidance.
Currently, we are extending Node-RED, a low-code programming tool that integrates together hardware devices, APIs and online services, to incorporate the automated synthesis of mediators (based on the defined and possibly heterogeneous data exchange flow) into the Node-RED palette manager. Additionally, a proposal to convert this to an Eclipse IoT project has already been submitted.
The DeXMS service is leveraged by the I3 system (the Intelligent IoT Integrator) led by USC, where mediators are generated to support the interconnection of services and IoT devices with the MQTT-based I3 message brokers. In addition, the DeX API is leveraged in the SemIoTic project to enable access to heterogeneous IoT devices deployed in smart spaces.
Useful links and references
- DeXMS is developed as part of the CHOReVOLUTION EU research project.