27 February - 1 March 2018 // Nuremberg, Germany

Conferences and supporting programme

back to day overview
Session 01 II - Functional Safety II

A Multi-Platform Modern C++ Framework for Safety-Critical Embedded Software Vortragssprache Englisch

The choice of a programming language and its idioms have a critical impact on reliability, safety and efficiency of the embedded software under development. In the automotive and robotics domains the C programming language as well as model-driven tools are well established for safety-critical software. However, automated driving and innovative robotics applications are both examples for the emerging complexity of safety-critical software. Both domains contribute to the increasing popularity of modern approaches among the established ones to increase flexibility, such as Modern C++ with the ISO-standards C++11 and C++14. This programming language provides paradigms for holistic views on the system and embedded software under development. C++ facilitates time- and cost-effective development of high-qualitiy software for features such as communication protocols and control functions. Despite its popularity, using Modern C++ for safety-critical software leaves room for discussion, if and how it will be applicable in detail. This paper discusses experiences in applying Modern C++ as efficiently and as effectively as possible for developing safety-critical software. A multi-platform and simple-to-use framework for safety-critical software in Modern C++ is developed and applied to a concrete industrial application in the area of human-robot collaboration. On the one side, Modern C++ is used to realize the speed control of the collaborative robotic system, which includes a proximity sensor system that measures distances between the robot and humans. On the other side, safety mechanisms are realized with Modern C++ in order to monitor system entities and communication channels for failures. In case of real-time violations or failures, the safety-control software in Modern C++ must ensure safety-stops in order to prevent humans from hazards and resulting injuries. In concrete terms, this paper discusses in which way Modern C++ enhances usability, reliability and safety for the implementation of a bus-independent safety-communication protocol, which is used to provide message-based real-time monitoring, dual-channel utilities and actuation monitoring in a maintainable, extensible way. This safety framework heavily relies on promising features from C++11 and C++14. Compile-time checks, computations and transformations are used for the implementation of the communication protocol to boost reliability and prevent incorrect usage. The multi-paradigm of Modern C++ helps to reduce the overall complexity and makes it simple to transform mental models, safety and functional requirements directly into code. This work further shows how Modern C++ as one part of a toolchain interacts among other popular systems such as Robot Operating System or Embedded Linux and in which terms the programming language directly fits to service-oriented architectures, adaptive applications and the use of design-patterns for safety-critical software.

--- Date: 27.02.2018 Time: 4:30 PM - 5:00 PM Location: Conference Counter NCC Ost



Daniel Tuchscherer

/ Hochschule Heilbronn


The selected entry has been placed in your favourites!

If you register you can save your favourites permanently and access all entries even when underway – via laptop or tablet.

You can register an account here to save your settings in the Exhibitors and Products Database and as well as in the Supporting Programme.The registration is not for the TicketShop and ExhibitorShop.

Register now

Your advantages at a glance:

  • Advantage Save your favourites permanently. Use the instant access to exhibitors or products saved – mobile too, anytime and anywhere – incl. memo function.
  • Advantage The optional newsletter gives you regular up-to-date information about new exhibitors and products – matched to your interests.
  • Advantage Call up your favourites mobile too! Simply log in and access them at anytime.