HeadlinesBriefing favicon HeadlinesBriefing.com

S-Core C++ pub/sub for automotive

DEV Community •
×

European automotive software has long prioritized rigorous process and documentation over speed, a strategy that worked until Chinese manufacturers disrupted the market with rapid innovation. This tension between ASIL-certifiability and development velocity is the core challenge S-Core aims to address. Unlike projects that retrofit automotive requirements later, S-Core is built from the ground up for safety-critical applications, attempting to merge open-source dynamism with the strict compliance demanded by the industry.

S-Core implements a C++ pub/sub model using LoLa for IPC communication. Developers define interfaces in pure C++, specifying data structures like `Point` and communication elements such as events, without relying on external modeling languages. The architecture relies on proxies for subscribers and skeletons for publishers, managed through instance specifiers. While this approach simplifies the toolchain, it requires a specific JSON configuration file to map service types and instances, linking the code to the underlying runtime.

The implementation process involves setting up a Docker environment and configuring Bazel build files. The publisher creates a skeleton, offers the service, and transmits data, while the subscriber finds the service via a proxy and subscribes to events using a receive handler. Although the setup involves significant configuration, S-Core represents a strategic shift for European OEMs, aiming to balance strict safety certification with the agility needed to compete in a fast-moving global market.