You are here: Home / Science / RTLWS Submitted Papers / 
2017-09-26 - 13:00
Details of the Real Time Linux Foundation Working Group Project

OSADL Project: Real Time Linux Workshops

Real Time Linux Foundation Workshops since 1999

Real Time Linux Workshops

1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - 2014 - 2015

13th Real-Time Linux Workshop from October 20 to 22 at the Faculty of Electrical Engineering, Czech Technical University in Prague

Announcement - Hotels - Directions - Agenda - Paper Abstracts - Presentations - Registration - Abstract Submission - Sponsoring - Gallery

A Library for the Safety Domain

Peter Krebs, Andreas Platschek, Hans Tschürtz, Vienna Institute of Safety & Systems Engineering, FH Campus Wien - University of Applied Sciences

Implementing a safety-critical application usually forces the developers to not use certain programming constructs and functions which are deemed unsafe. These constraints lead to higher implementation effort and demand in-depth knowledge on the programming languages and interfaces used by each individual programmer - often to avoid making the same mistakes over and over again.

To facilitate development under such conditions, a library of frequently used functions and algorithms which adhere to certain safety constraints would be of great help. Such a library, named the "safety_lib", emerged as a by-product of an application developed for SIL 2 certification according to ISO/IEC 61508 at the Vienna Institute for Safety & Systems Engineering.

The safety_lib is written in ANSI C and basically contains wrapper functions for POSIX calls that carry out some additional checks and error handling, mathematical functions on special data types often used in real-time and safety-critical applications (e. g. time arithmetic) as well as frameworks to implement important programming idioms (such as daemons) in a safe way. Furthermore, the whole library adheres to the MISRA-C coding guidelines and is automatically unit-tested.

The main intention of this paper is to show why this kind of library makes sense and the reasons for its release under a FLOSS license. Furthermore, we want to invite everyone to use the safety_lib and participate in its development.

In the technical part of the paper we present the functionality already implemented by the safety_lib, demonstrate its high portability, describe the test environment and achieved coverage and provide evidence for its safety.

As of today, the safety_lib is by no means complete and the implemented solutions might be improvable. However, the planned release under a FLOSS license should encourage others to use and improve the safety_lib as well as help in collecting further evidence of its suitability in the development of safety-critical software. Ideally, this should simplify and speed up the certification process of new applications.

Our hypothesis is that the joint development of a library for safety-critical applications for POSIX compliant operating systems can not only save development and certification costs, but - even more important - increase safety through better and more intense reviews carried out by a community instead of just individual developers.

Please note that at the time of writing we are still in the process of preparing the release of the safety_lib under a FLOSS license. However, since authorization by the executive board is still pending we can not yet guarantee this release.