DIN-VDE-V0831-200 realization with C
Relesoft C RaSTA is an embedded realization of DIN EN 50159. RaSTA specification defines a data transfer protocol designed for safety critical use cases and is used in, for example EULYNX.
Relesoft's C-RaSTA is the perfect solution for reliable communication when messages are required to arrive at the destination in correct order. It is implemented on top of the standard Internet Protocol and can be used within regular IP / Ethernet networks and is easy to implement to any embedded platform that supports C-programming language.
Contact us and request for online demo or further information: info@relesoft.io
Implementation requirements
Correctness
- 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 behaviour 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.
Portability
- Code is portable across compilers and platforms. Following compilers have been tested: ARM Compiler, Clang, IAR
- c-rasta library has minimal hardware requirements: - minimal memory footprint and no runtime allocations - compiler ouput 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 best practices for C library development: 1. any code that requires support from a compiler, hardware or an operating system is clearly isolated. 2. expected behaviour of non-portable parts is well documented.
Ease of use
- 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 sanitized.
- Ready made tools are provided for rasta communication testing and analysis.
Performance
- Rasta library supports hundreds simultaneous connections with minimal memory/instrction footprint with multiple simultaneous channels.
- Rasta library behaves correctly (as defined by the standard) in every situation including under maximum load.
- Library troughput 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 guranteed.
- Minimum troughput 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 threated 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 static 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. Manual 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 online demo or further information: info@relesoft.io