Relesoft RaSTA

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

  1. The 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 behavior 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.

Ease of use

  1. The 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 sanitised.
  4. Ready made tools are provided for RaSTA communication testing and analysis.

Portability

  1. Code is portable across compilers and platforms. Following compilers have been tested: ARM Compiler, Clang, IAR
  2. RaSTA library has minimal hardware requirements
    • Minimal memory footprint and no runtime allocations
    • Compiler output 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 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

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

IDNameTypeDescriptionEvidence
1compiler diagnosticsportabilityAll clang warnings are treated as errors and all warnings are enabledNo violations. Automatic verification
2style/format guideeasy-to-useCode is written according to style guideNo violations. Automatic verification
3program diagnosticsportabilityAll clang-tidy diagnostics are enabled and fixedNo violations. Automatic verification
4DIN VDE V 0831-200correctnessVerify that the specification sequences are correctly implementedNo violations. Automatic verification
5code test coveragecorrectnessTest coverage over 95%. Documents coverageevidence/coverage/index.html
6test reportcorrectnessReport of executed tests. Documents successfull/failed tests casesevidence/tests/index.html
7cppcheck statis analysisportabilityOutputs static analysis. Documents violationsNo violations. Automatic verification
8MISRA analysiscorrectnessOutputs Misra report. Documents violationsevidence/misra/index.html
9performance testsperformanceValidates performance against library’s targetNo violations. Automatic verification
10integration testcorrectnessValidates library on target platformManual verification using provided tools
11documentationeasy-to-useDocuments librarys interface and matches sourceevidence/documentation/index.html

How to procure the RaSTA

Contact us and request for documentation or further information: info@relesoft.io