Stakeholder Requirements#
Overall goals#
Reuse of application software via managed APIs
|
status: valid
security: NO
safety: QM
|
||||
The platform shall enable the reuse of application software via a set of managed APIs. These APIs shall be developed via a well-defined life-cycle ensuring non-breaking changes. |
|||||
Enable cooperation via standardized APIs
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall where possible be based on existing standards (e.g. network protocols). |
|||||
Variant management
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall provide variant management support. Variant management support shall enable users to ensure the compatibility of application software across vehicle variants and vehicle software releases. |
|||||
IP protection
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall support cooperation models, where partners do not want to disclose their intellectual property of applications to all other partners. |
|||||
Functional requirements#
File Based Configuration
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support configuration of applications via files (e.g. yaml, json) |
|||||
Support of safe Key/Value store
|
status: valid
security: NO
safety: ASIL_B
|
||||
The software platform shall provide towards the applications a safe (ISO26262-2018) key/value store. Note: This is part of 0.5 release and therefore can only support ASIL_B. Goal is ASIL_D. |
|||||
Safe Configuration
|
status: valid
security: NO
safety: ASIL_B
|
||||
The platform shall support safe configuration. Note: This is part of 0.5 release and therefore can only support ASIL_B. Goal is ASIL_D. |
|||||
Safe Computation
|
status: valid
security: NO
safety: ASIL_B
|
||||
The platform shall support safe computation. Note: This is part of 0.5 release and therefore can only support ASIL_B. Goal is ASIL_D. |
|||||
Base Libraries
|
status: valid
security: YES
safety: QM
|
||||
The software platform shall provide a set of base libraries offering common functionality for platform components. |
|||||
Hardware Accelerated Computation
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support computation accelerated by a Hardware accelerator. |
|||||
Data Persistency
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support to store data on non-volatile memory e.g. disks, flash, etc. |
|||||
Operating System
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support operating systems compliant with IEEE Std 1003.1 (2004 Edition or newer) |
|||||
Video subsystem
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall provide an interface for pre-processing and distribution of camera data via the following mechanisms
|
|||||
Compute subsystem
|
status: valid
security: NO
safety: QM
|
||||
The compute subsystem shall provide the following frameworks towards the applications:
|
|||||
Communication with external MCUs/standby controllers
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall define protocols and concepts for the interaction with external micro-controllers for
|
|||||
Dependability#
Automotive Safety Integrity Level
|
status: valid
security: NO
safety: ASIL_B
|
||||
The software platform shall support applications with an automotive safety integrity level up to ASIL-B. Note: This is part of 0.5 release and therefore can only support ASIL_B. Goal is ASIL_D. |
|||||
Safety features
|
status: valid
security: NO
safety: ASIL_B
|
||||
The following safety feature shall be supported by the software platform:
Note: This is part of 0.5 release and therefore can only support ASIL_B. Goal is ASIL_D. |
|||||
Availability
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall support the development of highly available systems. (see also Availability). |
|||||
Security features
|
status: valid
security: YES
safety: QM
|
||||
The following security features shall be supported by the platform
|
|||||
Application architectures#
In modern software systems, the architectural design plays a critical role in determining how components interact, how they process data, and how they manage workloads. Each architectural pattern is tailored to address specific challenges in terms of execution model, resource consumption, communication strategy, and discovery. The three major architectures that we’ll focus on — Time-based (Deterministic, Polling-based), Data-driven (Event-driven, High-throughput), and Request-driven (Asynchronous, Sporadic interaction) — each emphasize different operational priorities.
Time-based Architecture (Deterministic, Polling-based): Time-based architecture operates by triggering actions at fixed intervals, using scheduled polling to ensure consistent, predictable behavior. This architecture ensures high availability and deterministic execution, meaning that actions always happen at a predefined time, making it ideal for systems that require reliability. However, it can lead to inefficient CPU usage, as the system continues to poll even when no new data is available. The communication is synchronous and unidirectional, with the system staying up-to-date by polling for new information. Discovery is data-centric, meaning that the application focuses only on the data being communicated and not on the identity of the data source.
Data-driven Architecture (Event-driven, High-throughput): In a data-driven architecture, actions are triggered by events or data changes. The system optimizes for high throughput and performance, making it well-suited for applications where responsiveness to data is critical. The execution is non-deterministic, meaning that timing depends on when data arrives, which can lead to unpredictable bottlenecks, especially during data surges. The communication is unidirectional and driven by updates to data, decoupling the producers and consumers of the data. Discovery is data-centric, as applications react to events regardless of their origin, optimizing for low latency and dynamic scalability.
Request-driven Architecture (Asynchronous, Sporadic interaction): A request-driven architecture is triggered only when a request is made, making it ideal for applications that handle sporadic, unpredictable workloads. The system remains idle during inactivity, saving resources until a task is triggered. This model does not provide deterministic behavior, and response times depend on when requests arrive. Communication is bi-directional, with requests and responses flowing between client and server. Discovery is service-instance-centric, requiring knowledge of specific server instances, especially for stateful systems where session continuity or state preservation is crucial.
Support for Time-based Architectures
|
status: valid
security: NO
safety: ASIL_B
|
||||
The platform shall support a deterministic, time-based application execution model that triggers logic based on predefined schedules or polling intervals. |
|||||
Support for Data-driven Architecture
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support an event-driven, high-throughput application architecture where execution is triggered by data changes. |
|||||
Support for Request-driven Architecture
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support a request-driven, asynchronous application architecture that processes requests on-demand. |
|||||
Execution model#
Processes and thread management
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support the following scheduling strategies:
|
|||||
Short application cycles
|
status: valid
security: NO
safety: QM
|
||||
Cycle times of less then 5 ms on application level shall by supported by the platform assumed this is supported by the underlying hardware. |
|||||
Realtime capabilities
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support the controlled reaction on events (timing events, interrupts) within a defined timing interval. |
|||||
Startup performance
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall support fast startup scenarios e.g. cold boot and resume from hibernate mode. |
|||||
Low power mode
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall support low power modes to safe energy. |
|||||
Communication#
Inter-process Communication
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support inter-process communication. |
|||||
ABI Compatible Data Types
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support ABI compatible data types for zero-copy communication between Rust and C++ applications. |
|||||
Intra-process Communication
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support intra-process communication. |
|||||
Stable application interfaces
|
status: valid
security: NO
safety: QM
|
||||
The platform shall provide a framework to mitigate incompatible changes on external interfaces to keep application interfaces stable. |
|||||
Extensible External Communication
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support external communication via well established protocols e.g. Zenoh, DDS. |
|||||
Safe Communication
|
status: valid
security: NO
safety: ASIL_B
|
||||
The platform shall support safe communication. Note: This is part of 0.5 release and therefore can only support ASIL_B. Goal is ASIL_D. |
|||||
Secure Communication
|
status: valid
security: YES
safety: QM
|
||||
The platform shall support secure communication. |
|||||
Supported network protocols
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall support the following automotive network protocols
|
|||||
Quality of service
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall provide a framework to ensure quality of service of applications deployed on the platform. This includes but is not limited to:
|
|||||
Automotive diagnostics
|
status: valid
security: NO
safety: QM
|
||||
The following diagnostic protocols shall be supported * SOVD (ISO 17978) * UDS (ISO 14229) Diagnostics * Diagnostic trouble codes * Diagnostic jobs |
|||||
Time#
Vehicle Time base Synchronization
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall provide a time synchronization framework to synchronize its clock to Time Master within the vehicle. |
|||||
Vehicle Time base API
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall provide access to synchronized vehicle time. |
|||||
Synchronize the HW clock with Vehicle Time
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall synchronize the local HW clock to vehicle time. |
|||||
Time Synchronization with external sources
|
status: valid
security: YES
safety: QM
|
||||
The software platform shall provide a framework to synchronize the clock to external-to-vehicle absolute time base (UTC). |
|||||
Absolute time base API
|
status: valid
security: YES
safety: QM
|
||||
The software platform shall provide access to the absolute time base, synchronized with external time sources. |
|||||
Local High precision Clock API
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall provide access to the current high precision clock from the system time provider in nanoseconds. Note: to which clock the high precision clock is mapped, depends on the system design. |
|||||
Local Monotonic Clock API
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall provide access to the current monotonic clock from the system time provider. Note: to which clock the monotonic clock is mapped, depends on the system design. |
|||||
AI Platform#
On-board ML Workloads
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support the execution of traditional ML workloads on-board. |
|||||
Support for Safety-Critical ML
|
status: valid
security: NO
safety: ASIL_B
|
||||
The platform shall support safety-compliant (ASIL-B) deployment of AI/ML components, including inference backends and pipelines. |
|||||
Runtime Efficiency for Edge Devices
|
status: valid
security: NO
safety: QM
|
||||
The AI platform shall be optimized for runtime performance and memory footprint on embedded hardware targets. |
|||||
Platform Portability (QNX + Linux)
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support both QNX (for safety) and Linux (for GenAI and flexibility) with reusable components. |
|||||
Secure Model Execution
|
status: valid
security: YES
safety: QM
|
||||
The platform shall ensure secure, verified, and integrity-checked model execution. |
|||||
Deterministic Execution Paths
|
status: valid
security: NO
safety: ASIL_B
|
||||
The platform shall ensure deterministic behavior for AI components used in safety-relevant paths. |
|||||
On-board GenAI Workloads
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support the execution of Generative AI workloads on-board. |
|||||
GenAI User Interaction
|
status: valid
security: YES
safety: QM
|
||||
The platform shall support on-device GenAI-based models with user interaction. |
|||||
Action Safety and Governance
|
status: valid
security: YES
safety: ASIL_B
|
||||
The platform shall validate all actions proposed by GenAI models against safety and policy rules prior to execution. |
|||||
Seamless Integration with Vehicle Systems
|
status: valid
security: YES
safety: ASIL_B
|
||||
The platform shall expose structured APIs to access vehicle state and execute safe commands. |
|||||
Diagnostics and Fault Management#
Diagnostic via SOVD
|
status: valid
security: YES
safety: QM
|
||||
The system shall support vehicle diagnostics via the SOVD protocol as defined in ISO 17978, to allow scalable and secure diagnostic access. |
|||||
Fault Reporting Infrastructure
|
status: valid
security: YES
safety: QM
|
||||
The system shall support a reusable fault reporting infrastructure that enables applications and platform components to report, persist, and manage diagnostic fault information. |
|||||
Readout DTCs via SOVD
|
status: valid
security: YES
safety: QM
|
||||
The system shall provide users the ability to retrieve current Diagnostic Trouble Codes (DTCs) from the ECU via the SOVD protocol. |
|||||
Extensibility of Diagnostic Services
|
status: valid
security: YES
safety: QM
|
||||
The diagnostic system shall support extensibility mechanisms that allow integration of custom diagnostic services and routines via the SOVD interface. |
|||||
Compatibility with UDS Testers
|
status: valid
security: YES
safety: QM
|
||||
The diagnostic system shall provide compatibility with UDS-based testers by offering a proxy to translate UDS requests into SOVD-compatible actions. |
|||||
Compatibility with UDS ECUs
|
status: valid
security: YES
safety: QM
|
||||
The diagnostic system shall support integration with ECUs that use UDS by providing a compatibility adapter to translate SOVD requests to UDS commands. |
|||||
Support for Distributed and Multi-ECU Diagnostics
|
status: valid
security: YES
safety: QM
|
||||
The diagnostic system shall support distributed diagnostics across multiple ECUs and network segments, enabling routing and aggregation of diagnostic data. |
|||||
Secure Access to Diagnostic Interfaces
|
status: valid
security: YES
safety: QM
|
||||
The diagnostic system shall enforce secure access control for all diagnostic interfaces, including authentication, encryption, and role-based access enforcement. |
|||||
Hardware support#
Chipset support for ARM64 and x64
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support arm64 and x64 architectures. |
|||||
Virtualization support for debug and testing
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall run on qemu to enable test and debug in virtualized environments. |
|||||
Support of container technologies
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall support deployment of self-contained application bundles
|
|||||
Developer experience#
IDL Support
|
status: valid
security: NO
safety: QM
|
||||
The platform shall provide a human readable interface definition language with decentralized glue code generation. |
|||||
Developer experience and development toolchain
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support a state-of-the art developer experience for functional development and application development. Features:
|
|||||
Performance analysis
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall support performance analysis of platform and application software:
|
|||||
Tracing of execution
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support the tracing of events (start, stop) of executable entities and kernel threads on all computation units e.g.
|
|||||
Tracing of communication
|
status: valid
security: NO
safety: ASIL_B
|
||||
The platform shall support the tracing of communication events for internal and external communication systems. |
|||||
Tracing of memory access
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support the tracing of memory events (allocation, copy, de-allocation) for different types of memory e.g.
|
|||||
Timing analysis
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall support observation, assessment of timing requirements with state-of-the-art analysis tools. |
|||||
Debugging
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall provide a method and interface to enable debugging of the software on target and in vehicle. |
|||||
Mockup implementation for application testing
|
status: valid
security: NO
safety: QM
|
||||
The software platform shall provide support for mocking its public interfaces, enabling unit, component and integration testing of applications. |
|||||
Programming languages for application development
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support implementation of applications in the following programming languages up to the highest ASIL level as defined in Automotive Safety Integrity... (stkh_req__dependability__automotive_safety):
|
|||||
Reprocessing and simulation support
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support data-collection and injection of reprocessed data. |
|||||
Logging support
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support the following logging setups:
|
|||||
Previous boot logging
|
status: valid
security: NO
safety: QM
|
||||
The platform shall support logging of data to memory which survives a reboot cycle. |
|||||
Integration#
Multirepo integration
|
status: valid
security: NO
safety: QM
|
||||
Integration of multiple repositories shall be supported in a unified workflow. |
|||||
Quality#
Document assumptions and design decisions
|
status: valid
security: NO
safety: QM
|
||||
All assumptions and design decisions made shall be specified as requirements and agreed within the S-CORE community. |
|||||
Requirements Engineering#
Requirements traceability
|
status: valid
security: NO
safety: QM
|
||||
All requirements shall be linked from lower to upper level, whereby the top-level are the stakeholder requirements. |
|||||
Document requirements as code
|
status: valid
security: NO
safety: QM
|
||||
Requirements shall be documented as code (Docs-as-code). |
|||||