Dates and Events: |
OSADL Articles:
2023-11-12 12:00
Open Source License Obligations Checklists even better nowImport the checklists to other tools, create context diffs and merged lists
2022-07-11 12:00
Call for participation in phase #4 of Open Source OPC UA open62541 support projectLetter of Intent fulfills wish list from recent survey
2022-01-13 12:00
Phase #3 of OSADL project on OPC UA PubSub over TSN successfully completedAnother important milestone on the way to interoperable Open Source real-time Ethernet has been reached
2021-02-09 12:00
Open Source OPC UA PubSub over TSN project phase #3 launchedLetter of Intent with call for participation is now available |
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.