Relesoft RaSTA

Embedded Realisation of DIN EN 50159

Relesoft RaSTA is a C programming library that implements the DIN EN 50159 standard for embedded environments. It is ideal for safety-critical applications requiring reliable and correct communication, as it serves as the data communication for 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 at info@relesoft.io to request documentation and more information.

Implementation Requirements

Correctness

The library adheres to strict safety and quality standards. It is implemented and documented according to CENELEC EN 50716:2023 at Safety Integrity Level (SIL) 4. The code complies with MISRA C:2023 (3rd edition, 2nd revision) and deviations are well-documented. The library undergoes automatic network testing to ensure compliance with DIN EN 50159 VDE 0831-159:2011-04 standard. Most validation evidence is generated automatically, and the suite runs with every change to the library.

Ease of use

The library interface is clear and thoroughly documented. The function interface is designed to minimise misuse and the library is thread-safe, memory-safe, sanitised and safe for undefined behaviour. Ready-made tools are provided for testing and analysing RaSTA communication.

Portability

The library is highly portable across compilers and platforms, with tested compatibility for ARM Compiler, Clang, and IAR. It has minimal hardware requirements: minimal memory footprint, no runtime allocations and instruction-efficient compiler output. The library can be ported to any embedded device and it has very limited interface requirements for operating system and network stack. The design follows best practices for C libraries and it isolates and documents the behaviour of non-portable code that requires compiler, hardware or operating system support.

Performance

The library supports hundreds of simultaneous connections with minimal memory and instruction footprint. It behaves correctly in under all conditions, including maximum load. Throughput is efficient with predictable latency in good network conditions and guarantees data integrity in poor conditions. The minimum throughput is 100 kilobyte per second (100 times 1 kilobyte message per second).

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

EN 50716 Component Documentation

The library comes with comprehensive documentation prepared according to EN 50716:2023 with the corresponding evidence:

According to 7.4 Component Design

  • Software Component Design Specification
  • Software Component Test Specification
  • Software Component Design Verification

According to 7.5 Component implementation and Testing

  • Software Source Code and Supporting Documentation
  • Software Component Test Report
  • Software Source Code Verification Report

According to 7.6 Integration

  • Software Integration Manual

How to Procure

Read to leverage reliable communication for your safety-critical applications? Contact us at info@relesoft.io to request documentation and more information.