openDSME logo

Open-Source Implementation of the
IEEE 802.15.4 DSME Link Layer

KUVS award

Winner of the GI KuVS Communication Software Award 2017

What is openDSME?

openDSME is an open source implementation of IEEE 802.15.4 DSME. It is designed be portable for various platforms, including simulation environments and hardware platforms. It is developed at the Institute of Telematics at Hamburg University of Technology. Feel free to contact us if you are interested in using our software or just have a look at the provided repositories.

What is IEEE 802.15.4 DSME?

The IEEE 802.15.4 standard with its widespread usage in wireless sensor and actuator networks was recently extended by several techniques that allow reliable data transmission for critical applications, such as industrial plants. This includes the Deterministic and Synchronous Multi-channel Extension (DSME) that allows for distributed assignment of time slots on multiple channels.

Publications

Maximilian Köstler, Florian Kauer, Tobias Lübkert and Volker Turau. Towards an Open Source Implementation of the IEEE 802.15.4 DSME Link Layer. In Proceedings of the 15. GI/ITG KuVS Fachgespräch Sensornetze, University of Applied Sciences Augsburg, Dept. of Computer Science, September 2016. Augsburg, Germany.
@InProceedings{Telematik_FGSN_openDSME, author = {Maximilian Köstler and Florian Kauer and Tobias Lübkert and Volker Turau}, editor = {Juergen Scholz and Alexander von Bodisco}, title = {Towards an Open Source Implementation of the IEEE 802.15.4 DSME Link Layer}, booktitle = {Proceedings of the 15. GI/ITG KuVS Fachgespräch Sensornetze}, pages = , publisher = {University of Applied Sciences Augsburg, Dept. of Computer Science}, day = {22-23}, month = sep, year = 2016, location = {Augsburg, Germany}, }
Abstract: Reliable wireless solutions for large-scale automation are a major challenge today. The IEEE 802.15.4 standard forms the basis for many open and proprietary implementations. To reflect current state-of-the-art techniques, the IEEE has amended standard 802.15.4 with new MAC-layers such as TSCH, which resembles WirelessHART, and the Deterministic and Synchronous Multi-Channel Extension (DSME). This paper introduces openDSME, our implementation of IEEE 802.15.4 DSME. DSME aims at preventing packet collisions through slot reservation in networks where conventional CSMA/CA is not reliable enough. In this document, we will outline core features of DSME and openDSME, and present details of our implementation. Additionally, current research efforts on connected topics will be highlighted.
Florian Kauer, Maximilian Köstler, Tobias Lübkert and Volker Turau. Formal Analysis and Verification of the IEEE 802.15.4 DSME Slot Allocation. In Proceedings of the 19th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems, November 2016, pp. 140-147. Malta.
@InProceedings{Telematik_MSWIM_Formal_DSME, author = {Florian Kauer and Maximilian Köstler and Tobias Lübkert and Volker Turau}, title = {Formal Analysis and Verification of the IEEE 802.15.4 DSME Slot Allocation}, booktitle = {Proceedings of the 19th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems}, pages = {140-147}, month = nov, year = 2016, location = {Malta}, }
Abstract: Providing dependability is still a major issue for wireless mesh networks, which restrains their application in industrial contexts. The widespread CSMA/CA medium access can provide high throughput and low latency, but can not prevent packet loss due to collisions, especially in very large and dense networks. Time slotted medium access techniques together with a distributed slot management, as proposed by the Distributed Synchronous Multi-channel Extension (DSME) of the IEEE 802.15.4 standard, are promising to provide low packet loss, high scalability and bounded end-to-end delays. However, our implementation, openDSME, exposed some weaknesses. While the allocated slots allow for reliable data transmission, the slot management itself is conducted via CSMA/CA and is thus vulnerable to packet loss, eventually leading to an inconsistent slot allocation. This paper uses the UPPAAL framework for formal analysis and verification of the slot management process. The analysis identifies weaknesses of the slot allocation process under communication and node failures. However, it is shown that inconsistencies are eventually resolved and improvements to the procedure are proposed that reduce the negative impact of failed slot allocation procedures significantly.
Florian Kauer, Maximilian Köstler, Tobias Lübkert and Volker Turau. OpenDSME - A Portable Framework for Reliable Wireless Sensor and Actuator Networks (Demonstration). In Proceedings of the 3rd International Conference on Networked Systems (NetSys 2017), March 2017. Göttingen, Germany.
@InProceedings{Telematik_Netsys_2017, author = {Florian Kauer and Maximilian Köstler and Tobias Lübkert and Volker Turau}, title = {OpenDSME - A Portable Framework for Reliable Wireless Sensor and Actuator Networks (Demonstration)}, booktitle = {Proceedings of the 3rd International Conference on Networked Systems (NetSys 2017)}, day = {13-16}, month = mar, year = 2017, location = {Göttingen, Germany}, }
Abstract: The Deterministic and Synchronous Multi-Channel Extension (DSME) of the IEEE 802.15.4 standard provides a data link layer for time division multiple access in wireless mesh networks. The authors present openDSME, a portable implementation for hardware and simulators which promises reliable message transfer suitable for applications in demanding industrial environments. A demonstration has been developed to illustrate the performance of openDSME in a simulated network and to show its benefits over CSMA/CA.
Maximilian Köstler and Florian Kauer. A Remote Interface for Live Interaction with OMNeT++ Simulations. In Proceedings of the 4th OMNeT++ Community Summit 2017, September 2017. Bremen, Germany.
@InProceedings{Telematik_OMNETPP_2017, author = {Maximilian Köstler and Florian Kauer}, title = {A Remote Interface for Live Interaction with OMNeT++ Simulations}, booktitle = {Proceedings of the 4th OMNeT++ Community Summit 2017}, number = {arXiv:1709.02822}, day = {07-08}, month = sep, year = 2017, location = {Bremen, Germany}, }
Abstract: Discrete event simulators, such as OMNeT++, provide fast and convenient methods for the assessment of algorithms and protocols, especially in the context of wired and wireless networks. Usually, simulation parameters such as topology and traffic patterns are predefined to observe the behaviour reproducibly. However, for learning about the dynamic behaviour of a system, a live interaction that allows changing parameters on the fly is very helpful. This is especially interesting for providing interactive demonstrations at conferences and fairs. In this paper, we present a remote interface to OMNeT++ simulations that can be used to control the simulations while visualising real-time data merged from multiple OMNeT++ instances. We explain the software architecture behind our framework and how it can be used to build demonstrations on the foundation of OMNeT++.

openDSME Video Tutorials

Main repository of openDSME

The repository of the core module can be found at github.com/openDSME/openDSME. Probably, you will never have to check out this repository directly, because it is integrated as a submodule in the other repositories.

OMNeT++ / INET Coverity Scan Build Status

For conducting simulations, openDSME can run in the OMNeT++ simulation environment using the INET framework. The adaptation logic to run openDSME inside of INET is implemented in this repository. For development we use a fork that includes minor additions to the integration branch of the INET framework.

Contiki OS

For hardware deployments, openDSME is supported in our fork of the Contiki OS for the ARM based M3 Open Node used by the FIT IoT-lab. To use it, check out our fork of the IoT-LAB repository.

CometOS

Furthermore, openDSME is supported by the CometOS environment also supporting the M3 Open Node and the ATmega256RFR2. CometOS is, however, currently not updated to the newest version of openDSME.