Embedded realisation of DIN EN 50159
Relesoft RaSTA is a library for C programming language that implements DIN EN 50159 for embedded environments. It is the perfect solution for safety critical use cases where reliable and correct communication is required. RaSTA is also the data communication protocol of the EULYNX standard.
Relesoft RaSTA is implemented on top of the standard Internet Protocol and can be used within regular IP / Ethernet networks. It is easy to implement to any embedded platform that supports C programming language.
Contact us and request for documentation or further information: info@relesoft.io
Implementation requirements
Correctness
- The library is implemented and documented according to meet requirements for GENELEC – EN 50128:2011 at safety-integrity-level (SIL) 4.
- Code is written and checked against MISRA C:2023, third edition, second revision and each deviation is well documented.
- Automatic network testing is used to ensure correct behavior described in the DIN VDE V 0831-200 standard.
- Most of the validation evidence is generated automatically and test suite is automatically run against any change in the library.
Ease of use
- The library interface is clear and exhaustedly documented.
- Interface functions are designed to be hard to misuse.
- The library is thread-, undefined behaviour-, and memory-safe and sanitised.
- Ready made tools are provided for RaSTA communication testing and analysis.
Portability
- Code is portable across compilers and platforms. Following compilers have been tested: ARM Compiler, Clang, IAR
- RaSTA library has minimal hardware requirements
- Minimal memory footprint and no runtime allocations
- Compiler output is instruction efficient
- The library can easily ported to any embedded device and has very limited interface requirements for operating-system/network-stack.
- The design applies the best practices for C library development
- Any code that requires support from a compiler, hardware or an operating system is clearly isolated
- The expected behaviour of non-portable parts is well documented.
Performance
- RaSTA library supports hundreds simultaneous connections with minimal memory and instruction footprint with multiple simultaneous channels.
- RaSTA library behaves correctly (as defined by the standard) in every situation including under maximum load.
- The library throughput has minimal overhead when working in good (no-packet loss and no jitter) network conditions and the latency is predictable. In bad conditions data integrity is guaranteed.
- Minimum throughput 1000 messages/s with 1kB messages (100kB/s).
Validation and proof of correctness
Validation of RaSTA
release consists of 9 steps described below. Steps 1-8 are performed automatically by the continuous integration pipeline for each commit and steps 9-11 are performed manually for releases.
ID | Name | Type | Description | Evidence |
1 | compiler diagnostics | portability | All clang warnings are treated as errors and all warnings are enabled | No violations. Automatic verification |
2 | style/format guide | easy-to-use | Code is written according to style guide | No violations. Automatic verification |
3 | program diagnostics | portability | All clang-tidy diagnostics are enabled and fixed | No violations. Automatic verification |
4 | DIN VDE V 0831-200 | correctness | Verify that the specification sequences are correctly implemented | No violations. Automatic verification |
5 | code test coverage | correctness | Test coverage over 95%. Documents coverage | evidence/coverage/index.html |
6 | test report | correctness | Report of executed tests. Documents successfull/failed tests cases | evidence/tests/index.html |
7 | cppcheck statis analysis | portability | Outputs static analysis. Documents violations | No violations. Automatic verification |
8 | MISRA analysis | correctness | Outputs Misra report. Documents violations | evidence/misra/index.html |
9 | performance tests | performance | Validates performance against library’s target | No violations. Automatic verification |
10 | integration test | correctness | Validates library on target platform | Manual verification using provided tools |
11 | documentation | easy-to-use | Documents librarys interface and matches source | evidence/documentation/index.html |
How to procure the RaSTA
Contact us and request for documentation or further information: info@relesoft.io