RTE RBC 2oo2 Specific Application 0.1.0 build 53572f9
Installer packaging and site-data libraries for the RBC_GP reference RBC
Loading...
Searching...
No Matches
RBC_SA

Product: RBC_SA, the Specific Application of the reference RBC (repository RBC_SA). Layer: Specific Application, above RBC_GA and RBC_GP. Language: C99 plus shell. Assessment unit: Specific Application (assessed per project), see ../../docs/safety/CERTIFICATION_PLAN.dox.

Responsibility

Everything that is specific to one deployment, in two parts kept in one product:

  1. Site data. Two static libraries implement the site contracts that RBC_GP and RBC_GA define: sa::site::gp (full RailML topology, ab_siteGP.h) and sa::site::ga (route-only projection, ab_siteGA.h). The tables are generated from etc/site/ab_site.railml.xml.
  2. Packaging. Self-extracting installers for the RBC binaries and their shared libraries, chosen per role (A, B, gateway) by etc/config/packaging.conf, plus the Docker image build that proves an installer works.

"SA" reads both as "standalone installer" and "Specific Application"; the name is a deliberate coincidence.

It does not contain railway logic (RBC_GA), the ERTMS engine (RBC_GP), or platform code, and it does not build source itself: run test/RBC_Test_Env/etc/scripts/build_toolchains.sh (and build_channels.sh for compiler diversity) first.

Interfaces exposed to other products

Interface Form Consumed by Notes
sa::site::gp Static library implementing ab_siteGP.h RBC_GP Full topology
sa::site::ga Static library implementing ab_siteGA.h RBC_GA Symbols are GA-namespaced on purpose
Site data source etc/site/ab_site.railml.xml Generators, RBC_Test_Env, simulators Single source of truth for topology
Packaging configuration etc/config/packaging.conf Deployment engineers Per-role target and compiler channel
Installer dist/install/rte-rbc2oo2-<target>-installer.sh Deployment Precheck, extract, postcheck, next steps
show_product_structure.sh Read-only report (-j for JSON) Release and evidence tooling Role, target, binary, size, CRC64, SHA-256
RBC image Dockerfile (context: workspace root) RBC_Test_Env compose stack Runs the installer during the build

Interfaces required

Needs From How
ab_siteGP.h, ab_siteGA.h RBC_GP, RBC_GA Header-only reach (RTE_RBC2OO2GP_DIR, RTE_RBC2OO2GA_DIR)
Built binaries and libraries RBC_GP dist/<platform>[/<channel>]/ Packaging only

Build and use

cmake -S . -B build && cmake --build build && cmake --install build --prefix . # site libraries
./build_installers.sh # config-driven; -c <conf> for another config, -a to sweep every built target
etc/scripts/show_product_structure.sh

Details, installer behavior, Docker notes and limits: CLAUDE.md.