SlideShare a Scribd company logo
DDOOPPSSYY 
ggrroouupp 
PPrrooff.. DDrr.. RR.. KKrrööggeerr 
KKaaii BBeecckkmmaannnn 
MMaarrccuuss TThhoossss 
{{ffiirrsstt..ssuurrnnaammee}}@@hhss--rrmm..ddee 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
hhttttpp::////wwwwwwvvss..ccss..hhss--rrmm..ddee 
sDDS 
An adaptable DDS Solution 
for Wireless Sensor Networks 
Kai Beckmann 
Distributed Systems Lab 
RheinMain University of Applied Sciences 
RTI Connext Conference, London, 08.10.2014
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 22 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Personal Introduction 
● RheinMain University of Applied Sciences, Wiesbaden, 
Germany 
● Distributed Systems Lab (headed by Prof. Dr. Kröger) 
– Management of Distributed Applications 
– Embedded Systems, Industrial automation 
● 2010 M.Sc. in computer sciences 
● Research associate, Ph.D. student and assistant lecturer 
● Interests: 
● Application of distributed and embedded systems 
● Middleware (esp. OMG Data Distribution Service) 
● Wireless sensor networks 
● Application of model-driven software development in 
embedded systems 
● Model-based software testing
QoS? 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 33 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Motivation 
Wireless Sensor Networks 
Sensor-Actor-Networks 
Automation 
Often Data-Centric
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 44 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Problems with WSN 
● Requirements 
● Cheap 
● Limited resources 
● Low energy consumption 
● Heterogeneity 
● Hardware architectures 
● Network technologies / protocols / standards 
● Software / middleware 
● Interoperability 
● Proprietary products, different standards 
● No consolidation so far 
● Often IP as compromise 
● DDS an approach?
Wireless transport 
IEEE 802.15.4 
127 byte frame size 
8 bit uC 
8 kB RAM 
128 kB Flash 
Finite energy source 
32 bit ARM 
64 kB RAM 
4 GB Flash 
Wall-Socket 
dynamic node 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 55 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
DDS for WSN - problems 
● Need for customised DDS functionality 
32 bit ARM 
2 GB RAM 
*nix OS 
Temperatur sensor 
➔ publisher 
Switch sensor 
➔ publisher 
Movement sensor 
➔ publisher 
➔ router 
Controllable Socket 
➔ publisher 
➔ subscriber 
➔ router 
static link
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 66 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Our Approach: sDDS 
● sensornetwork DDS (sDDS) 
● Minimal individual customisable DDS solution 
● DDS API conform 
● Model-driven Software Development (MDSD) process 
● WSN-System / Structure 
● WSN-DDS-Application 
● WSN-Node 
● DDS middleware adaptation 
● Tailoring of functionality of modules to be deployed 
● Supporting heterogeneous middleware nodes 
● Exploit existing target facilities 
● SNPS protocol specialised for WSN environment
DSL 
DDS 
UML 
Profile 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 77 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
MDSD Tailoring Process 
HW 
Spec 
Deployment 
Topics 
QoS 
Application 
Requirements 
● DDS func. 
● QoS 
DSL 
DSML 
DSL 
DSL 
IDL 
PIM 
PSM 
Optimisation 
Templates 
Code
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 88 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
sDDS - Features 
● Extensible MDSD process 
● Eclipse environment (EMF, Xtext), with alternative 
lightweight python scripts 
● Proof-of-concept realisation 
● Many optimisations, customisations possible 
● Integration of other models, specifications 
● Platform independent, easy to port 
● Plain C 
● Abstract interfaces for system and network 
● Fast integration of new platforms (Contiki: 2 weeks only, by 
undergrad student) 
● Small footprint 
● 20 kB for static routing with 2 - 4 topics
● Reliable Transport 
● Dynamic Discovery 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 99 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Problem - Network 
● Heterogeneity 
● Different Subsets of DDS 
● Still need for cooperation 
● Special layer 1-3 protocols 
● Frame sizes 
● Routing 
● Energy consumption 
● Transmitting data 
expensive 
– Amount of data 
– Transceiver on/of 
● Natural Broadcast 
● Limited resources on 
nodes 
● Best Effort 
● Only Publish 
● Reliable Transport 
● Static link 
● Reliable Transport 
● Static link
system protocol 
Enterprise DDS RTPS 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1100 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Protocol SNPS 
● Sensor-Network Publish-Subscribe (SNPS) 
● Influenced by RTPS 
● Small footprint, small frame sizes, limited bandwidth 
● Aim: Low average protocol overhead 
● Data aggregation even for different receivers 
● Utilises radio network features 
WSN 
sDDS SNPS
MMeessssaaggee 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1111 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
SNPS - Structure 
VVeersrsioionn 
SSuubbMMssggCCoouunnt t 
1 
1 
1...* 
SSuubbMMeessssaaggee 
parameter: 4bit 
type: 4bit 
EExxtetennddeeddSSuubbMMeessssaaggee 
extType: 4bit 
type = extSubMsg_t 
SSuupppplelemmeenntStSuubbMMeessssaaggee 
● Small atomic information 
units 
● Submessage 
● Sequential processing 
● Self-description and 
implicit structure 
● Skipping unknown parts 
● Small protocol footprint 
● Different classes of sizes 
● From frequency of use 
● “Squeeze” as much 
information into a byte as 
possible
SSuubbMMeessssaaggee 
DDoommaainin 
TTooppicic DDaatata 
EExxtetennddeeddSSuubbMMeessssaaggee 
PPaayyloloaadd 
Handshaking 
Ack SSeeqqNNr r Ack NNaacckk 
Data Addressing 
EExxtTtTooppicic 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1122 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
SNPS – Data transmission 
● Addressing => Domain, Topic 
● Data => header for payload 
● Handshaking => Ack, Nack, SeqNr (different sizes) 
● Sequentially assembled state used for interpretation
Data 
reader 
Subscriber 
Data 
writer 
Publisher 
Global data space (domain α) 
Data 
writer 
Topic A 
Publisher 
Data 
reader 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1133 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Example – Data Transmission 
● SNPS protocol semantics limited to data transmission 
● Subscription etc. handled at DDS level 
– BuiltIn-Topics 
● Realisation is the task of the middleware 
Subscriber 
Topic B Topic C 
Domain 
participant 
Domain 
participant 
Domain 
participant 
Node1 Node2 Node3 
Data 
reader 
Data 
writer
Data 
reader 
Subscriber 
Data 
writer 
Global data space (domain α) 
Data 
writer 
Topic A 
Publisher 
Data 
reader 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1144 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Example – Data Transmission 
● Node 1 publishes data for topic A and B 
● Node 2 needs reliable transmission, node 3 does not 
● SNPS message of node 1: 
Publisher 
Subscriber 
Topic B Topic C 
Domain 
participant 
Domain 
participant 
Domain 
participant 
Node1 Node2 Node3 
Data 
reader 
Data 
writer 
Version No. of 
SubMsgs 
Domain 
α 
Topic 
A 
Data 
1 
Payload 
1 
Topic 
B 
Data 
2 
Payload 
2 SeqNr
Topic B Topic C 
Data 
reader 
Subscriber 
Data 
writer 
Publisher 
Domain 
participant 
Global data space (domain α) 
Data 
writer 
Topic A 
Publisher 
Data 
reader 
Subscriber 
Domain 
participant 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1155 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Example – Data Transmission 
● Node 3 needs only topic B 
● Skipping part related to topic A 
● Processing data of topic B, skipping SeqNr and done 
Domain 
participant 
Node1 Node2 Node3 
Data 
reader 
Data 
writer 
Version No. of 
SubMsgs 
Domain 
α 
Topic 
A 
Data 
1 
Payload 
1 
Topic 
B 
Data 
2 
Payload 
2 SeqNr
Data 
reader 
Subscriber 
Publisher 
Global data space (domain α) 
Data 
writer 
Topic A 
Publisher 
Data 
reader 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1166 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Example – Data Transmission 
● Node 2 needs only topic B as well 
● Node 2 processes data of topic B 
● Acknowledgement required 
Data 
writer 
Subscriber 
Topic B Topic C 
Domain 
participant 
Domain 
participant 
Domain 
participant 
Node1 Node2 Node3 
Data 
reader 
Data 
writer 
Version No. of 
SubMsgs 
Domain 
α 
Topic 
A 
Data 
1 
Payload 
1 
Topic 
B 
Data 
2 
Payload 
2 SeqNr
Topic B Topic C 
Data 
reader 
Subscriber 
Data 
writer 
Publisher 
Domain 
participant 
Global data space (domain α) 
Data 
writer 
Topic A 
Publisher 
Data 
reader 
Subscriber 
Domain 
participant 
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1177 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Example – Data Transmission 
● Node 2 publishes data for topic C 
● And an acknowledgement for topic B 
● Node 1 ignores topic C and processes the Ack 
Domain 
participant 
Node1 Node2 Node3 
Data 
reader 
Data 
writer 
Version No. of 
SubMsgs 
Domain 
α 
Topic 
C 
Data 
1 
Payload 
1 
Topic 
B ACK SeqNr
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1188 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
SNPS – Message Sizes 
Version No. of 
SubMsgs 
Domain 
α 
Topic 
A 
Data 
1 
Payload 
1 
Data 
2 
Payload 
2 
Topic 
B 
Data 
3 
Payload 
3 
Header 
Minimum Submessage Sequence 
Size: 5 + [payload] Bytes Same Topic: 
1 + [payload] Bytes 
Different Topic: 
2 + [payload] Bytes 
● Minimum: Header, Domain, Topic, Data 
● Data aggregation in one message adds little overhead 
● Assumption: 
● Switching transceiver on and off => base cost of energy 
● Protocol layer 1, 2 and 3 overhead is significant too 
● The overhead of the additional data is acceptable
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1199 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
sDDS - Status 
● Development system: Linux and UDP/IP 
● Target systems 
● TI SoC CC2430 
● Atmel Atmega128 platform 
● Transports 
● UDP/IP 
● 6LoWPAN (on Contiki OS) 
● ZigBee Layer 3 (TI zStack) 
● First concepts for CAN 
● Work in Progress -> limited support of DDS functionality 
● Used in an Ambient Assisted Living (AAL) research 
project and university courses
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 2200 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
sDDS - Future Work 
● Currently funded by small internal research project 
● Clean up, documentation, integration of functionality 
● Aim: Publish as Open Source within next year 
● Rework MDSD process 
● Functionality 
● Dynamic discovery 
● QoS 
● History on qualified nodes 
● Connect WSN to “normal” DDS 
● SNPS integration in RTI Connext DDS 
● Vertical integration 
● New application fields: Industry 4.0, IoT 
● Base for new research projects
08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 2211 DDOOPPSSYY 
ggrroouupp 
LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee 
DDiissttrriibbuutteedd SSyysstteemmss LLaabb 
Questions ?

More Related Content

PPTX
Approaches for Mitigating Discovery Problems in Larger Systems
PPTX
eProsima RPC over DDS - Connext Conf London October 2015
PDF
Introducing Vortex Lite
PPTX
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
PPTX
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
PDF
zenoh: zero overhead pub/sub store/query compute
PDF
Building Reactive Applications with DDS
PPTX
Fiware: Connecting to robots
Approaches for Mitigating Discovery Problems in Larger Systems
eProsima RPC over DDS - Connext Conf London October 2015
Introducing Vortex Lite
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS over Low Bandwidth Data Links - Connext Conf London October 2014
zenoh: zero overhead pub/sub store/query compute
Building Reactive Applications with DDS
Fiware: Connecting to robots

What's hot (20)

PDF
IRJET-Block-Level Message Encryption for Secure Large File to Avoid De-Duplic...
PDF
The DDS Security Standard
PPTX
Faster Content Distribution with Content Addressable NDN Repository
PPTX
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
PPTX
Part 5 : Sharing resources, security principles and protocols
PDF
Block-Level Message-Locked Encryption for Secure Large File De-duplication
PDF
MPEG DASH White Paper
PDF
DDS QoS Unleashed
PDF
Zenoh Tutorial
PDF
Reactive Data Centric Architectures with DDS
PPT
Web services and mobile architecture
PDF
DDS vs AMQP
PDF
Stream Processing with DDS and CEP
PPTX
口試投影片(詹智傑) Final
PPT
Distributed Hash Table
PDF
CS6601 DISTRIBUTED SYSTEMS
PPTX
06 coms 525 tcpip - dhcp and dns
PDF
Cloud Computing Concepts - Peer to peer systems- Napster - Gnutella
PPTX
Named Data Networking
IRJET-Block-Level Message Encryption for Secure Large File to Avoid De-Duplic...
The DDS Security Standard
Faster Content Distribution with Content Addressable NDN Repository
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
Part 5 : Sharing resources, security principles and protocols
Block-Level Message-Locked Encryption for Secure Large File De-duplication
MPEG DASH White Paper
DDS QoS Unleashed
Zenoh Tutorial
Reactive Data Centric Architectures with DDS
Web services and mobile architecture
DDS vs AMQP
Stream Processing with DDS and CEP
口試投影片(詹智傑) Final
Distributed Hash Table
CS6601 DISTRIBUTED SYSTEMS
06 coms 525 tcpip - dhcp and dns
Cloud Computing Concepts - Peer to peer systems- Napster - Gnutella
Named Data Networking
Ad

Viewers also liked (9)

PDF
Component Based DDS with C++11 and R2DDS
PDF
Demo of RTI DDS toolkit for LabVIEW
PPTX
DDS Over Low Bandwidth Data Links
PDF
PDF
Application of DDS on modular Hardware-in-the-loop test benches at Audi
PPTX
Experiencing the Live IIoT
PDF
The Industrial Internet of Things and RTI
Component Based DDS with C++11 and R2DDS
Demo of RTI DDS toolkit for LabVIEW
DDS Over Low Bandwidth Data Links
Application of DDS on modular Hardware-in-the-loop test benches at Audi
Experiencing the Live IIoT
The Industrial Internet of Things and RTI
Ad

Similar to sDDS: An Adaptable DDS Solution for Wireless Sensor Networks (20)

PDF
DOME 64-bit μDataCenter
PDF
MTCNA Intro to routerOS
PDF
MTCNA : Intro to RouterOS - Part 1
PDF
40 Powers of 10 - Simulating the Universe with the DiRAC HPC Facility
PPTX
Corralling Big Data at TACC
PPTX
High-performance 32G Fibre Channel Module on MDS 9700 Directors:
PDF
Linac Coherent Light Source (LCLS) Data Transfer Requirements
PDF
Introducing Vortex Lite
PDF
TLD Anycast DNS servers to ISPs
PDF
Introduction to Internet of Things
PDF
Internet Protocol Deep-Dive
PPTX
Public Seminar_Final 18112014
PPTX
Emerging Cloud Storage Trends for Enterprises
PDF
The Computing Continuum.pdf
PPT
Analysis of BSDL-based content adaptation for JPEG 2000 and HD Photo (JPEG XR)
PDF
Bruno Decraene - Improving network availability through the graceful shutdown...
PDF
Software Defined Network (SDN) using ASR9000 :: BRKSPG-2722 | San Diego 2015
PPTX
Cloud interconnection networks basic .pptx
PPTX
Red Hat Storage Day Boston - Supermicro Super Storage
PPTX
CNN Dataflow Implementation on FPGAs
DOME 64-bit μDataCenter
MTCNA Intro to routerOS
MTCNA : Intro to RouterOS - Part 1
40 Powers of 10 - Simulating the Universe with the DiRAC HPC Facility
Corralling Big Data at TACC
High-performance 32G Fibre Channel Module on MDS 9700 Directors:
Linac Coherent Light Source (LCLS) Data Transfer Requirements
Introducing Vortex Lite
TLD Anycast DNS servers to ISPs
Introduction to Internet of Things
Internet Protocol Deep-Dive
Public Seminar_Final 18112014
Emerging Cloud Storage Trends for Enterprises
The Computing Continuum.pdf
Analysis of BSDL-based content adaptation for JPEG 2000 and HD Photo (JPEG XR)
Bruno Decraene - Improving network availability through the graceful shutdown...
Software Defined Network (SDN) using ASR9000 :: BRKSPG-2722 | San Diego 2015
Cloud interconnection networks basic .pptx
Red Hat Storage Day Boston - Supermicro Super Storage
CNN Dataflow Implementation on FPGAs

More from Real-Time Innovations (RTI) (20)

PPTX
A Tour of RTI Applications
PDF
Precise, Predictive, and Connected: DDS and OPC UA – Real-Time Connectivity A...
PDF
The Inside Story: How the IIC’s Connectivity Framework Guides IIoT Connectivi...
PDF
Upgrade Your System’s Security - Making the Jump from Connext DDS Professiona...
PDF
The Inside Story: Leveraging the IIC's Industrial Internet Security Framework
PDF
ISO 26262 Approval of Automotive Software Components
PDF
The Low-Risk Path to Building Autonomous Car Architectures
PPTX
Introduction to RTI DDS
PDF
How to Design Distributed Robotic Control Systems
PDF
Fog Computing is the Future of the Industrial Internet of Things
PPTX
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
PPTX
Cyber Security for the Connected Car
PPTX
Space Rovers and Surgical Robots: System Architecture Lessons from Mars
PPTX
Advancing Active Safety for Next-Gen Automotive
PPTX
Learn About FACE Aligned Reference Platform: Built on COTS and DO-178C Certif...
PPTX
How the fusion of time sensitive networking, time-triggered ethernet and data...
PPTX
Secrets of Autonomous Car Design
PPTX
Cybersecurity Spotlight: Looking under the Hood at Data Breaches and Hardenin...
PPTX
Data Distribution Service Security and the Industrial Internet of Things
PDF
The Inside Story: GE Healthcare's Industrial Internet of Things (IoT) Archite...
A Tour of RTI Applications
Precise, Predictive, and Connected: DDS and OPC UA – Real-Time Connectivity A...
The Inside Story: How the IIC’s Connectivity Framework Guides IIoT Connectivi...
Upgrade Your System’s Security - Making the Jump from Connext DDS Professiona...
The Inside Story: Leveraging the IIC's Industrial Internet Security Framework
ISO 26262 Approval of Automotive Software Components
The Low-Risk Path to Building Autonomous Car Architectures
Introduction to RTI DDS
How to Design Distributed Robotic Control Systems
Fog Computing is the Future of the Industrial Internet of Things
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
Cyber Security for the Connected Car
Space Rovers and Surgical Robots: System Architecture Lessons from Mars
Advancing Active Safety for Next-Gen Automotive
Learn About FACE Aligned Reference Platform: Built on COTS and DO-178C Certif...
How the fusion of time sensitive networking, time-triggered ethernet and data...
Secrets of Autonomous Car Design
Cybersecurity Spotlight: Looking under the Hood at Data Breaches and Hardenin...
Data Distribution Service Security and the Industrial Internet of Things
The Inside Story: GE Healthcare's Industrial Internet of Things (IoT) Archite...

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Empathic Computing: Creating Shared Understanding
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Machine learning based COVID-19 study performance prediction
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
Dropbox Q2 2025 Financial Results & Investor Presentation
Empathic Computing: Creating Shared Understanding
The AUB Centre for AI in Media Proposal.docx
Understanding_Digital_Forensics_Presentation.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Machine learning based COVID-19 study performance prediction
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Digital-Transformation-Roadmap-for-Companies.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Building Integrated photovoltaic BIPV_UPV.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Reach Out and Touch Someone: Haptics and Empathic Computing
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

sDDS: An Adaptable DDS Solution for Wireless Sensor Networks

  • 1. DDOOPPSSYY ggrroouupp PPrrooff.. DDrr.. RR.. KKrrööggeerr KKaaii BBeecckkmmaannnn MMaarrccuuss TThhoossss {{ffiirrsstt..ssuurrnnaammee}}@@hhss--rrmm..ddee LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb hhttttpp::////wwwwwwvvss..ccss..hhss--rrmm..ddee sDDS An adaptable DDS Solution for Wireless Sensor Networks Kai Beckmann Distributed Systems Lab RheinMain University of Applied Sciences RTI Connext Conference, London, 08.10.2014
  • 2. 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 22 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Personal Introduction ● RheinMain University of Applied Sciences, Wiesbaden, Germany ● Distributed Systems Lab (headed by Prof. Dr. Kröger) – Management of Distributed Applications – Embedded Systems, Industrial automation ● 2010 M.Sc. in computer sciences ● Research associate, Ph.D. student and assistant lecturer ● Interests: ● Application of distributed and embedded systems ● Middleware (esp. OMG Data Distribution Service) ● Wireless sensor networks ● Application of model-driven software development in embedded systems ● Model-based software testing
  • 3. QoS? 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 33 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Motivation Wireless Sensor Networks Sensor-Actor-Networks Automation Often Data-Centric
  • 4. 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 44 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Problems with WSN ● Requirements ● Cheap ● Limited resources ● Low energy consumption ● Heterogeneity ● Hardware architectures ● Network technologies / protocols / standards ● Software / middleware ● Interoperability ● Proprietary products, different standards ● No consolidation so far ● Often IP as compromise ● DDS an approach?
  • 5. Wireless transport IEEE 802.15.4 127 byte frame size 8 bit uC 8 kB RAM 128 kB Flash Finite energy source 32 bit ARM 64 kB RAM 4 GB Flash Wall-Socket dynamic node 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 55 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb DDS for WSN - problems ● Need for customised DDS functionality 32 bit ARM 2 GB RAM *nix OS Temperatur sensor ➔ publisher Switch sensor ➔ publisher Movement sensor ➔ publisher ➔ router Controllable Socket ➔ publisher ➔ subscriber ➔ router static link
  • 6. 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 66 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Our Approach: sDDS ● sensornetwork DDS (sDDS) ● Minimal individual customisable DDS solution ● DDS API conform ● Model-driven Software Development (MDSD) process ● WSN-System / Structure ● WSN-DDS-Application ● WSN-Node ● DDS middleware adaptation ● Tailoring of functionality of modules to be deployed ● Supporting heterogeneous middleware nodes ● Exploit existing target facilities ● SNPS protocol specialised for WSN environment
  • 7. DSL DDS UML Profile 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 77 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb MDSD Tailoring Process HW Spec Deployment Topics QoS Application Requirements ● DDS func. ● QoS DSL DSML DSL DSL IDL PIM PSM Optimisation Templates Code
  • 8. 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 88 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb sDDS - Features ● Extensible MDSD process ● Eclipse environment (EMF, Xtext), with alternative lightweight python scripts ● Proof-of-concept realisation ● Many optimisations, customisations possible ● Integration of other models, specifications ● Platform independent, easy to port ● Plain C ● Abstract interfaces for system and network ● Fast integration of new platforms (Contiki: 2 weeks only, by undergrad student) ● Small footprint ● 20 kB for static routing with 2 - 4 topics
  • 9. ● Reliable Transport ● Dynamic Discovery 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 99 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Problem - Network ● Heterogeneity ● Different Subsets of DDS ● Still need for cooperation ● Special layer 1-3 protocols ● Frame sizes ● Routing ● Energy consumption ● Transmitting data expensive – Amount of data – Transceiver on/of ● Natural Broadcast ● Limited resources on nodes ● Best Effort ● Only Publish ● Reliable Transport ● Static link ● Reliable Transport ● Static link
  • 10. system protocol Enterprise DDS RTPS 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1100 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Protocol SNPS ● Sensor-Network Publish-Subscribe (SNPS) ● Influenced by RTPS ● Small footprint, small frame sizes, limited bandwidth ● Aim: Low average protocol overhead ● Data aggregation even for different receivers ● Utilises radio network features WSN sDDS SNPS
  • 11. MMeessssaaggee 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1111 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb SNPS - Structure VVeersrsioionn SSuubbMMssggCCoouunnt t 1 1 1...* SSuubbMMeessssaaggee parameter: 4bit type: 4bit EExxtetennddeeddSSuubbMMeessssaaggee extType: 4bit type = extSubMsg_t SSuupppplelemmeenntStSuubbMMeessssaaggee ● Small atomic information units ● Submessage ● Sequential processing ● Self-description and implicit structure ● Skipping unknown parts ● Small protocol footprint ● Different classes of sizes ● From frequency of use ● “Squeeze” as much information into a byte as possible
  • 12. SSuubbMMeessssaaggee DDoommaainin TTooppicic DDaatata EExxtetennddeeddSSuubbMMeessssaaggee PPaayyloloaadd Handshaking Ack SSeeqqNNr r Ack NNaacckk Data Addressing EExxtTtTooppicic 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1122 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb SNPS – Data transmission ● Addressing => Domain, Topic ● Data => header for payload ● Handshaking => Ack, Nack, SeqNr (different sizes) ● Sequentially assembled state used for interpretation
  • 13. Data reader Subscriber Data writer Publisher Global data space (domain α) Data writer Topic A Publisher Data reader 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1133 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Example – Data Transmission ● SNPS protocol semantics limited to data transmission ● Subscription etc. handled at DDS level – BuiltIn-Topics ● Realisation is the task of the middleware Subscriber Topic B Topic C Domain participant Domain participant Domain participant Node1 Node2 Node3 Data reader Data writer
  • 14. Data reader Subscriber Data writer Global data space (domain α) Data writer Topic A Publisher Data reader 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1144 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Example – Data Transmission ● Node 1 publishes data for topic A and B ● Node 2 needs reliable transmission, node 3 does not ● SNPS message of node 1: Publisher Subscriber Topic B Topic C Domain participant Domain participant Domain participant Node1 Node2 Node3 Data reader Data writer Version No. of SubMsgs Domain α Topic A Data 1 Payload 1 Topic B Data 2 Payload 2 SeqNr
  • 15. Topic B Topic C Data reader Subscriber Data writer Publisher Domain participant Global data space (domain α) Data writer Topic A Publisher Data reader Subscriber Domain participant 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1155 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Example – Data Transmission ● Node 3 needs only topic B ● Skipping part related to topic A ● Processing data of topic B, skipping SeqNr and done Domain participant Node1 Node2 Node3 Data reader Data writer Version No. of SubMsgs Domain α Topic A Data 1 Payload 1 Topic B Data 2 Payload 2 SeqNr
  • 16. Data reader Subscriber Publisher Global data space (domain α) Data writer Topic A Publisher Data reader 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1166 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Example – Data Transmission ● Node 2 needs only topic B as well ● Node 2 processes data of topic B ● Acknowledgement required Data writer Subscriber Topic B Topic C Domain participant Domain participant Domain participant Node1 Node2 Node3 Data reader Data writer Version No. of SubMsgs Domain α Topic A Data 1 Payload 1 Topic B Data 2 Payload 2 SeqNr
  • 17. Topic B Topic C Data reader Subscriber Data writer Publisher Domain participant Global data space (domain α) Data writer Topic A Publisher Data reader Subscriber Domain participant 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1177 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Example – Data Transmission ● Node 2 publishes data for topic C ● And an acknowledgement for topic B ● Node 1 ignores topic C and processes the Ack Domain participant Node1 Node2 Node3 Data reader Data writer Version No. of SubMsgs Domain α Topic C Data 1 Payload 1 Topic B ACK SeqNr
  • 18. 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1188 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb SNPS – Message Sizes Version No. of SubMsgs Domain α Topic A Data 1 Payload 1 Data 2 Payload 2 Topic B Data 3 Payload 3 Header Minimum Submessage Sequence Size: 5 + [payload] Bytes Same Topic: 1 + [payload] Bytes Different Topic: 2 + [payload] Bytes ● Minimum: Header, Domain, Topic, Data ● Data aggregation in one message adds little overhead ● Assumption: ● Switching transceiver on and off => base cost of energy ● Protocol layer 1, 2 and 3 overhead is significant too ● The overhead of the additional data is acceptable
  • 19. 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 1199 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb sDDS - Status ● Development system: Linux and UDP/IP ● Target systems ● TI SoC CC2430 ● Atmel Atmega128 platform ● Transports ● UDP/IP ● 6LoWPAN (on Contiki OS) ● ZigBee Layer 3 (TI zStack) ● First concepts for CAN ● Work in Progress -> limited support of DDS functionality ● Used in an Ambient Assisted Living (AAL) research project and university courses
  • 20. 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 2200 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb sDDS - Future Work ● Currently funded by small internal research project ● Clean up, documentation, integration of functionality ● Aim: Publish as Open Source within next year ● Rework MDSD process ● Functionality ● Dynamic discovery ● QoS ● History on qualified nodes ● Connect WSN to “normal” DDS ● SNPS integration in RTI Connext DDS ● Vertical integration ● New application fields: Industry 4.0, IoT ● Base for new research projects
  • 21. 08.10.2014, RRTTII CCoonnnneexxtt CCoonnffeerreennccee KKaaii BBeecckkmmaannnn 2211 DDOOPPSSYY ggrroouupp LLaabboorr ffüürr VVeerrtteeiillttee SSyysstteemmee DDiissttrriibbuutteedd SSyysstteemmss LLaabb Questions ?