Logo

Railway software company

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

Test table

Implementation requirements

Correctness

  1. Library is implemented and documented according to meet requirements for GENELEC - EN 50128:2011 at safety-integrity-level (SIL) 4.
  2. Code is written and checked against MISRA C:2023, third edition, second revision and each deviation is well documented.
  3. Automatic network testing is used to ensure correct behaviour described in the DIN VDE V 0831-200 standard.
  4. Most of the validation evidence is generated automatically and test suite is automatically run against any change in the library.

Portability

  1. Code is portable across compilers and platforms. Following compilers have been tested: ARM Compiler, Clang, IAR
  2. c-rasta library has minimal hardware requirements: - minimal memory footprint and no runtime allocations - compiler ouput is instruction efficient
  3. The library can easily ported to any embedded device and has very limited interface requirements for operating-system/network-stack.
  4. 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

  1. Library interface is clear and exhaustedly documented.
  2. Interface functions are designed to be hard to misuse.
  3. The library is thread-, undefined behaviour-, and memory-safe and sanitized.
  4. Ready made tools are provided for rasta communication testing and analysis.

Performance

  1. Rasta library supports hundreds simultaneous connections with minimal memory/instrction footprint with multiple simultaneous channels.
  2. Rasta library behaves correctly (as defined by the standard) in every situation including under maximum load.
  3. 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.
  4. 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