Safe API Framework
0.1.0 build 384e6ae
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
Toggle main menu visibility
Loading...
Searching...
No Matches
Architecture decision records
One page per decision: context, decision and consequences.
ADR-001: OS Abstraction Layer (OAL) for the Safe API Framework
- ADR-001: OS Abstraction Layer (OAL) for the Safe API Framework
ADR-002: Cross-Layer Data Buffer Abstraction
- ADR-002: Cross-Layer Data Buffer Abstraction
ADR-003: Checked Integer Casting
- ADR-003: Checked Integer Casting
ADR-004: Safe-State Transitions and Checked Assertions
- ADR-004: Safe-State Transitions and Checked Assertions
ADR-005: OAL Backend Registration via Callbacks
- ADR-005: OAL Backend Registration via Callbacks
ADR-006: Safe String Manipulation and Endianness-Safe Buffer Access
- ADR-006: Safe String Manipulation and Endianness-Safe Buffer Access
ADR-007: Per-Feature Directory Layout
- ADR-007: Per-Feature Directory Layout
ADR-008: Dual-Channel Vital Architecture — CCF Mitigation via Build Diversity
- ADR-008: Dual-Channel Vital Architecture — CCF Mitigation via Build Diversity
ADR-016: CRC-64 Data Integrity for Redundant Channels
- ADR-016: CRC-64 Data Integrity for Redundant Channels
ADR-017: Checkpoint Rendezvous and Clock Synchronization for Distributed Vital Channels
- ADR-017: Checkpoint Rendezvous and Clock Synchronization for Distributed Vital Channels
ADR-018: A Real POSIX/Linux OAL Backend
- ADR-018: A Real POSIX/Linux OAL Backend
ADR-019: AppManager Cycle Hooks and Built-In Checkpoint Rendezvous
- ADR-019: AppManager Cycle Hooks and Built-In Checkpoint Rendezvous
ADR-020: Dual-Transfer State Negotiation (
rte_dual
)
- ADR-020: Dual-Transfer State Negotiation (
rte_dual
)
ADR-021: Consumer / OS-Backend Header Separation
- ADR-021: Consumer / OS-Backend Header Separation
ADR-022: Unified
rte_safechannel
Factory (Hiding IPC/Netlink from App Code)
- ADR-022: Unified
rte_safechannel
Factory (Hiding IPC/Netlink from App Code)
ADR-023: Consolidate 22 CMake Library Targets into 4
- ADR-023: Consolidate 22 CMake Library Targets into 4
ADR-024: Per-Module Feature Selection at Configure Time
- ADR-024: Per-Module Feature Selection at Configure Time
ADR-025: Split
rte_vital_channel
into
rte_channel
+
rte_voter
+
rte_cross_comparator
- ADR-025: Split
rte_vital_channel
into
rte_channel
+
rte_voter
+
rte_cross_comparator
ADR-026: Application Setup-Phase Lock and Single-Entry-Point Enforcement
- ADR-026: Application Setup-Phase Lock and Single-Entry-Point Enforcement
ADR-027: UDP Transport for
rte_netlink
- ADR-027: UDP Transport for
rte_netlink
ADR-028: Channel-Down Escalation to REBOOT, and a Cyclic-Executive Starvation Fix
- ADR-028: Channel-Down Escalation to REBOOT, and a Cyclic-Executive Starvation Fix
ADR-029: RBC Train/IL/CTC Scenario - Real Multi-Train Protocol and Failover-Ready Session State
- ADR-029: RBC Train/IL/CTC Scenario - Real Multi-Train Protocol and Failover-Ready Session State
ADR-030:
rte_notify
- fixed-capacity registered-callback list shape
- ADR-030:
rte_notify
- fixed-capacity registered-callback list shape
ADR-031:
rte_mem_util
- one sanctioned call site per libc memory primitive
- ADR-031:
rte_mem_util
- one sanctioned call site per libc memory primitive
ADR-032: Setup-phase lock coverage extended to backend registration and remaining setup-only constructors
- ADR-032: Setup-phase lock coverage extended to backend registration and remaining setup-only constructors
ADR-033: rte_mutex - a portable mutual-exclusion primitive
- ADR-033: rte_mutex - a portable mutual-exclusion primitive
ADR-034: Checkpoint-signature marks and stage-then-commit output
- ADR-034: Checkpoint-signature marks and stage-then-commit output
ADR-035:
rte_platform
OAL service for real-time bring-up
- ADR-035:
rte_platform
OAL service for real-time bring-up
ADR-036: Train-session multiplexing - one link, many trains (up to 100)
- ADR-036: Train-session multiplexing - one link, many trains (up to 100)
ADR-037: Role C gateway - decomposition into per-client-type service binaries
- ADR-037: Role C gateway - decomposition into per-client-type service binaries
ADR-038: Status indication - a C-side pub/sub broker + an A/B↔C util channel
- ADR-038: Status indication - a C-side pub/sub broker + an A/B↔C util channel
ADR-039: What N-channel (2oo3+) topologies need from the redundancy primitives
- ADR-039: What N-channel (2oo3+) topologies need from the redundancy primitives
ADR-040: Site role (ONLINE/STANDBY) as an RTE Redundancy Service
- ADR-040: Site role (ONLINE/STANDBY) as an RTE Redundancy Service (accepted, steps 1-4 done, step 5 in progress; includes the service behaviour as built)
ADR-041: Per-cycle output permission to a Fail-Safe Output Unit (FSOU)
- ADR-041: Per-cycle output permission to a Fail-Safe Output Unit (FSOU) (proposed, seam only)
Platform_RTE documentation
Generated by
1.18.0