Well Being over Ethernet Reply

Guest Author: Andrew Patterson, Business Development Director for Mentor Graphics’ embedded software division (Thank you, Andrew!)

Mentor Embedded on the NXP Smarter World Truck 2017

Mentor Embedded on the NXP Smarter World Truck 2017

One of the larger commercial vehicles present at CES 2017 was the NXP® Smarter World Truck – an 18-wheeler parked right outside the Convention Center.  It contained over 100 demonstrations making use of NXP products showing some of the latest innovations in home-automation, medical, industrial and other fields.  Mentor Embedded, together with RTI, worked with NXP to set up a medical demonstration that showed data aggregation in real-time from medical sensors. By collecting medical data, and analyzing it in real time, either locally or in a back-office cloud, a much quicker and more accurate diagnosis of any medical condition can be possible.  Mentor Embedded’s aggregation gateway made use of the multicore NXP i.MX6, a well-established platform, running our own secure Mentor Embedded Linux®.  The technology we specifically wanted to highlight in this example was DDS (Data Distribution Service), implemented by RTI’s Connext® DDS Professional.  The DDS communication protocol, based on a physical Ethernet network, allows multiple sensor nodes to link to a hub or gateway, so it is appropriate for many medical and industrial applications where multi-node data needs to be collected securely and reliably.

Traditional patient monitoring systems have made use of client/server architectures, but these can be inflexible if reconfiguration changes are needed, and they don’t necessarily scale to a large number of clients in a large-scale medical or industrial installation. DDS uses a “publisher” and “subscriber” concept – it is easy to add new publishers and subscribers to the network without any other architecture changes, so the system is scalable.


In the publish-subscribe model there is no central data server – data flows directly from the patient monitor source to the gateway destination.  In our demo medical system, the data sources are individual sensors that put data onto the Ethernet network when the new readings are available.  Data is tagged for reading and accessed by any registered subscriber.  Once received by the subscriber gateway, the data can be uploaded to a cloud resource for further analysis and comparisons made with historical readings. Further trend analysis can be made over time.

The process for adding a new node to a publish-subscribe network is straightforward. A new data element announces itself to the network when it attaches, optionally describing the types and formats of the data it provides. Subscribers then identify themselves to the data source to complete the system reconfiguration.

Mentor Embedded and RTI medical applications demo where multi-node data needs to be collected securely and reliably

Mentor Embedded and RTI medical applications demo where multi-node data needs to be collected securely and reliably

DDS provides a range of communication data services to support a variety of application needs, ranging from guaranteed command and control, to real-time data transmission. For example, if it is required to send a “halt” command to a specific node, there is a data service type that guarantees error-free delivery, so sensor data transmission stops immediately. There are also time-sensitive modes, useful when there is time-sensitive data, which require minimum network latency.  Less time-critical data can make use of a “best effort” service, where transmission is scheduled as a lower priority than the time-sensitive communication.

Our demonstration setup is shown in the picture on the left in the NXP Smarter World Truck 2017. The NXP i.MX6 quad core system was linked to a 10” touch-screen display, showing patient graphs.  The Mentor Embedded Linux operating system included the RTI Connext DDS protocol stack, the necessary drivers for high-performance graphics, and the Ethernet network connections. Other options include a fastboot capability and wireless communication links for cloud-connectivity.  For more information please visit Mentor Embedded Linux.

To see when the NXP Smarter World Truck is coming near you, visit the schedule at iot.nxp.com/americas/schedule – it is being updated frequently, so keep a watch on it!

Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.

Automatic QoS Enforcement with DDS & Software Defined Networking Reply

Andrew King

Author: Andrew L. King Ph.D. Candidate, Department of Computer and Information Science, University of Pennsylvania

Good abstractions drive progress in computing. The first turing-complete computers such as the ENIAC exposed a register-level programming abstraction enabling programmers to reconfigure the machines for different tasks. In the 1950s – 1970s the maturation of compiled languages enabled programmers to more easily port software from one machine architecture to another. From 1980 to the late 1990s saw the development of modularity abstractions (e.g., object oriented programming) making it easier to distribute the development of large software across large teams.  Throughout the 2000s to the present we’ve seen the development of programming abstractions designed to make it easier to build distributed and concurrent software systems.  DDS is a perfect example and its success proves how useful and necessary good abstractions are.


I’d argue that good abstractions for programming the IIoT must capture timing behavior. For example, DDS lets the programmer specify the maximum interval between updates to a topic data-instance via the DEADLINE parameter. Unfortunately, so far, holistic abstractions for timing have been elusive. While DDS can automatically perform runtime checks to ensure that DataReaders and DataWriters have consistent  DEADLINE QoS settings,  it is still possible for the DEADLINE QoS to be violated if the underlying network fabric delays or drops an update. Indeed, Bringing timing fully into the programming abstraction is difficult because the timing behavior of a software system only emerges when you map the software onto a particular platform (i.e., processor, operating system, and networking fabric).

In the context of a critical distributed hard real-time system, the developer must devote significant effort provisioning and configuring the underlying network fabric to ensure the required timing behavior. The configuration process usually involves setting priorities or transmission schedules for each time critical flow. Sometimes, If the underlying network fabric will be shared by more than one logically independent application, traffic policers and/or special partitioning features are setup to keep the different applications isolated. These network configurations are usually static and setup offline: If you want to add a new node to the network (e.g., a sensor or actuator) you have to bring the system down, manually reconfigure the network, then bring the system back up. Wouldn’t it be much nicer if the programmer could simply specify the logical timing behavior for the system and then trust that the specification would always be satisfied?

DDS and recent advances in Software Defined Networking (SDN) now make it possible to fully lift timing properties for distributed systems into a programming abstraction. The MIDdleware Assurance Substrate (MIDAS) is a research prototype developed in the PRECISE Center at the University of Pennsylvania. MIDAS  uses the OpenFlow SDN protocol to capture the QoS specifications of DDS clients as they come online and then control  the packet switching behavior of the network fabric to ensure those specifications are always satisfied: Based on the captured QoS specifications, MIDAS will generate  new network configurations to support the QoS of the DDS dataflows.  MIDAS will then apply schedulability analysis to verify that the configurations will guarantee the specified QoS. Finally, If the requested QoS can be guaranteed MIDAS will push the new configuration onto the network transparently (The QoS of existing flows will not be disrupted by the reconfiguration process itself).

Technologies like DDS make the development and operation of distributed real-time systems easier, faster, and overall less costly. Adding technologies like MIDAS to the mix takes these benefits to the next level:

  • Reduce Development Time: Automation of network configuration removes a significant chunk of development effort allowing developers to focus more on creating functionality (and hence value for their customers).
  • Reduce Equipment Costs: Many common COTS ethernet switches now support OpenFlow and can be used with MIDAS to support hard real-time systems. Many deployed ethernet switches can be made OpenFlow capable with a simple firmware update.
  • Increased Flexibility and Adaptability: MIDAS lets you add and remove network nodes at runtime. All resource provisioning is dynamic and ensures that no QoS is disrupted during configuration.
  • Increased Reliability: MIDAS’ network configurations ensures traffic bursts won’t overload buffers in networking equipment which means packets will only be dropped if there is a hardware failure.

If you are interested in knowing more about MIDAS and how it works please read the associated technical paper* or contact me (Andrew King, kingand@cis.upenn.edu). I’d also like to invite you to watch the the following youtube video. It demonstrates a distributed hard real-time system built using RTI’s Connext DDS with real-time behavior enforced by MIDAS:

*The technical paper describes an earlier prototype which used a simple custom publish/subscribe middleware. The current prototype is designed to work with DDS but the fundamental technical details are unchanged.

“See” what is going on with your DDS System Reply




Matt Wilson is the Vice President for Tools and Technology at SimVentions. Mr. Wilson has been designing, building, and integrating complex system and related software based tools for over 20 years. His experience with Naval Combat Systems, Human Systems Integration, and Systems Engineering projects has been the knowledge base for the design and development of a wide variety of innovative and useful tools.


Have you ever had to figure out what is going on inside of your DDS-based system and had no idea how to begin? You have many data topics being published to and subscribed by a multitude of data readers and data writers across a vast array of processes. There are a img1wide variety of scenarios from mis-matched properties, out of date message definitions, missing connections, etc. How do you begin to “look at” this problem?

SimVentions has developed a tool called InformeDDS (Info for me – DDS) that uses network graphing technologies and DDS discovery data to “show you” what is going on in your network. InformeDDS’ ability to auto-discover DDS entities (participant, publisher/subscriber, data writer/reader, topic) and then automatically provide an interactive visual representation of connections between DDS entities and all relevant attributes allows you to quickly “see” what is happening without impacting your network.

img2 Using one of the preset (or personally customized) display filters helps reduce complicated networks to a meaningful subset to allow you to focus on key issues. Each of these filters can be built, copied, tailored, and improved through a simple user interface to highlight attributes unique to your own system. We call these filters “View Profiles” which provide you the ability to set your own visualization business rules or use the ones that come out of the box.

InformeDDS has proven to be a useful tool for software developers during testing and debugging and for performing integration testing on complex systems. It has helped us (SimVentions) debug and troubleshoot networking issues for our own customers and can be quickly learned to bring the same value to your integration and testing efforts. During a recent visit to one of our large systems integration partners, an on-site engineer commented “Now THAT is an integration tool” after using InformeDDS.img3

SimVentions is proud to be an RTI partner. To try out InformeDDS with the latest version of RTI Connext DDS (5.2.0) please use the RTI Launcher to download and install the tool.

We continue to improve the InformeDDS technology and look forward to hearing your feedback about this capability. There are many other features in the tool that we will introduce to you in future stories. Until then, download and try the free trial of this innovative and useful debug and integration tool for your DDS network today.

For more information, visit the following sites or leave a note in the comments section of this post!