|
RTE RBC 2oo2 Generic Application 0.1.0 build 308eda7
IL/CTC route and train logic for the RBC_GP reference RBC
|
Product: RBC_GA, the Generic Application of the reference RBC (repository RBC_GA). Layer: Generic Application, above RBC_GP. Language: C99. Output: librte_rbc2oo2_ga.{dylib,so} (rbc2oo2::ga). Assessment unit: Generic Application (assessed per application class), see ../../docs/safety/CERTIFICATION_PLAN.dox.
The signalling adaptation logic that turns interlocking and CTC events into decisions for RBC_GP:
It does not own train sessions, the route and train database, ERTMS procedures, cross-comparison or communication. Those belong to RBC_GP. It never decides which train a route belongs to; GP's position-based connect gate does.
Everything marked project-specific (the site projection and any project rules) is replaced per project.
| Interface | Form | Consumed by | Notes |
|---|---|---|---|
| Init entry point ab_ga_ma_adaptation_init() | C function, declared in RBC_GP's ga_interface.h | RBC_GP | The only bare call from GP into GA |
| Shared library librte_rbc2oo2_ga | rbc2oo2::ga, installed by RBC_GP into dist/<platform>/lib/ | RBC_GP at run time | Must sit next to the real librte_gp |
| Site contract include/ab_siteGA.h | Reduced route table (id, start_signal, end_signal, length_m) | RBC_SA implements it as sa::site::ga | Hand-kept in sync with GP's full topology |
| Needs | From | How |
|---|---|---|
| ga_interface.h, common/ (wire types, site config) | RBC_GP | Header-only reach into GP's source tree (RTE_RBC2OO2GP_DIR) |
| sa::site::ga | RBC_SA | Static library, RTE_RBC2OO2SA_DIR or installed package |
| Status, buffer, logging, app manager | Platform_RTE | rte::* targets |
In practice GA is built as part of RBC_GP, which adds it as a subdirectory and also produces the role C IL and CTC gateway binaries. Rules and details: CLAUDE.md; design history: docs/DESIGN_NOTES.dox.