Feature Requirements
====================
**Coverage:** 100.0% (50 of 50 items OK)
.. _lobster-item-57a5c7c7309153d28d3ebdf6d1c775d5384b5a03:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.SystemErrorHandling
:class-title: sd-bg-success sd-text-white
.. pull-quote::
(C++) exceptions shall not be used for error handling.
The best way to deal with errors is to try to resolve those component internally. If not possible the caller of the function shall be notified of the error.
For (error) returns there is a specific library to be used in S-CORE, it is the Score::Result library which is part of
the Base Libraries feature.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:17:27 `__
.. _lobster-item-339a4a37d3c31be5b14f34579bb06335de713251:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.InterProcessCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The platform shall support inter-process communication.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:27:27 `__
.. _lobster-item-9478ebc84a91bec38a050509f680a20f22f54689:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.IntraProcessCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The platform shall support intra-process communication.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:34:27 `__
.. _lobster-item-b123bb26e7dd049c41a294a4b44c0432a8a1284b:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.StableApplicationInterfaces
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The platform shall provide a framework to mitigate incompatible changes on external interfaces to keep application interfaces stable.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:41:27 `__
.. _lobster-item-2f2e906b3310eac8140deec514d172e81fb3ee84:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.ExtensibleExternalCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The platform shall support external communication via well established protocols e.g. Zenoh, DDS.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:48:27 `__
.. _lobster-item-5d2949b454e1e254b9141cbf763077d2981d10d0:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.SystemSafeCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The platform shall support safe communication.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:55:27 `__
.. _lobster-item-05de85165ca90bf3b62e6c62223a5044e0a78e4c:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.SecureCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The following security features shall be supported by the platform: Mandatory access control, Secure boot, Secure onboard communication, IPSec and MACSec, Firewall, Certificate installation and storage in HSM or ARM trustzone, Kernel hardening (ASLR, Pointer obfuscation …) in libc and compiler, Identity and Access Management, Secure Feature Activation, Secure software update.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:62:27 `__
.. _lobster-item-4718e9f02967246f04f602001d0ceedc7dc8949f:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.SupportForTimeBasedArchitectures
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The platform shall support a deterministic, time-based application execution model that triggers logic based on predefined schedules or polling intervals.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:69:27 `__
.. _lobster-item-b1131d9c62fa146d49e52995ba4d27d5ffa5d68c:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.SystemSupportForDataDrivenArchitecture
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The platform shall support an event-driven, high-throughput application architecture where execution is triggered by data changes.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:76:27 `__
.. _lobster-item-f57ed627033692ec03310ec8255528b222c97195:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.SystemSupportForRequestDrivenArchitecture
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The platform shall support a request-driven, asynchronous application architecture that processes requests on-demand.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:83:27 `__
.. _lobster-item-9a30ce9fda5618cca75896582de8d94131fadb4f:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.ProgrammingLanguagesForApplicationDevelopment
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The platform shall support implementation of applications in the following programming languages up to the highest ASIL level as defined in automotive\_safety: C, C++, Rust.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:91:27 `__
.. _lobster-item-3f70987d662fdfc07c280e05602b80258b95d246:
.. dropdown:: [OK] TRLC Assumedsystemreq Communication.TracingOfCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The platform shall support the tracing of communication events for internal and external communication systems.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/assumed\_system\_requirements/assumed\_system\_requirements.trlc:98:27 `__
.. _lobster-item-d2c5e03fdc7245e53670d718d3a153f050c75f87:
.. dropdown:: [OK] TRLC Featreq Communication.SupportForTimeBasedArchitecture
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall provide API to support a time-based architecture.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:17:18 `__
.. _lobster-item-0e2b876f2dcfce0ec2ff96ba2d63bec13ff7ad29:
.. dropdown:: [OK] TRLC Featreq Communication.SupportForDataDrivenArchitecture
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall provide API to support a data-driven architecture.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:24:18 `__
.. _lobster-item-8bcd7cb2dc323976e5f607dc769a5b9f2257184a:
.. dropdown:: [OK] TRLC Featreq Communication.SupportForRequestDrivenArchitecture
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall provide API to support a request-driven architecture.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:31:18 `__
.. _lobster-item-39b5b9406194ae2d28d2855d5af90151d6f542b2:
.. dropdown:: [OK] TRLC Featreq Communication.CommunicationInterfaces
:class-title: sd-bg-success sd-text-white
.. pull-quote::
A communication interface consists of a combination of any number of the following elements: Event-Types, Methods, Signals.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:38:18 `__
.. _lobster-item-62b3fd586d2efc3d0a469201d3c50adcf2abf98f:
.. dropdown:: [OK] TRLC Featreq Communication.EventType
:class-title: sd-bg-success sd-text-white
.. pull-quote::
An event-type is part of a communication interface and has a name and a data type. The producer can assign a value to it. Consumers can subscribe to value-changed events of the element or poll unseen, cached events.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:45:18 `__
.. _lobster-item-0a7613bb0f37e024dd7027e7af516b269be9415f:
.. dropdown:: [OK] TRLC Featreq Communication.Method
:class-title: sd-bg-success sd-text-white
.. pull-quote::
A method is part of a communication interface and has a name, a specified application routine with a given set of parameters and a return type. When a communication partner issues a call to the method with the required parameters, it shall invoke the application routine with the provided parameters, and return its result to the communication partner. A method call shall be possible both synchronously and asynchronously.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:52:18 `__
.. _lobster-item-e56d6d1deb62739f47af8ca866f40ed6c4cf1270:
.. dropdown:: [OK] TRLC Featreq Communication.Field
:class-title: sd-bg-success sd-text-white
.. pull-quote::
A field is a component of a communication interface and is defined by a name and a data type, along with dedicated getter and setter methods. The producer has the ability to assign a value to the field. Consumers can either subscribe to receive notifications when the field’s value changes or poll the cached values of fields that have not yet been seen. Additionally, consumers can retrieve the current value of the field using the getter method or update the field’s value through the setter method.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:59:18 `__
.. _lobster-item-b7954315e09bde26e9c79a852f35af66b7cf4916:
.. dropdown:: [OK] TRLC Featreq Communication.Signal
:class-title: sd-bg-success sd-text-white
.. pull-quote::
A signal is part of a communication interface and has a name. A client can trigger the signal. The service instance offering the trigger can wait for the signal to be triggered or check if the signal was triggered. Signals can not transport data.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:66:18 `__
.. _lobster-item-5ec143ad5a55fbb83cd263dac58716d0c0252eec:
.. dropdown:: [OK] TRLC Featreq Communication.ProducerConsumerPattern
:class-title: sd-bg-success sd-text-white
.. pull-quote::
Communication shall be cached based on the producer-consumer pattern.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:73:18 `__
.. _lobster-item-f52f03f0679035dee81530182819cc78126845c5:
.. dropdown:: [OK] TRLC Featreq Communication.ServiceInstance
:class-title: sd-bg-success sd-text-white
.. pull-quote::
Multiple service instances shall be able to offer the same interface.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:80:18 `__
.. _lobster-item-26e07f56b5a7ee96169a149bbcdfb525917f9da7:
.. dropdown:: [OK] TRLC Featreq Communication.ServiceInstanceNames
:class-title: sd-bg-success sd-text-white
.. pull-quote::
A service instance is offered under one or more unique names by which it can be discovered. Names follow a POSIX path style.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:87:18 `__
.. _lobster-item-7f8685840ee64f740dfa62da17e4725fff906f5c:
.. dropdown:: [OK] TRLC Featreq Communication.Versioning
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall support versioning of service instances. Version information of a service instance is binding-specific.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:94:18 `__
.. _lobster-item-a2838980122dc9ada333b3d7f94dd90f8857b96a:
.. dropdown:: [OK] TRLC Featreq Communication.ServiceLocationTransparency
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The interface to access service instances is agnostic to the binding used to communicate with the service.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:101:18 `__
.. _lobster-item-6a534547a933e5f21a7a7a0e92b9a120b6df84a2:
.. dropdown:: [OK] TRLC Featreq Communication.StatelessCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall support stateless communication.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:108:18 `__
.. _lobster-item-2e041536f679afb55d8dd371917aa24c2f89246e:
.. dropdown:: [OK] TRLC Featreq Communication.ServiceInstanceGranularity
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall support multiple service instances per software architecture element.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:115:18 `__
.. _lobster-item-d072cbb6ac15cf95ad15b4144a2b21e614e0235a:
.. dropdown:: [OK] TRLC Featreq Communication.ServiceDiscovery
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall provide service discovery to find available services during runtime. Service discovery shall consider version compatibility.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:122:18 `__
.. _lobster-item-b05c11d540dce494abe296126a5cfa88651ae05a:
.. dropdown:: [OK] TRLC Featreq Communication.SafeCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall support safe communication involving communication partners on the same or multiple criticality levels.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:129:18 `__
.. _lobster-item-b5fe9c3de95d7e9cb85660fef781bb99bf86b169:
.. dropdown:: [OK] TRLC Featreq Communication.DataCorruption
:class-title: sd-bg-success sd-text-white
.. pull-quote::
Consumers with lower criticality shall not be able to corrupt data consumed by partners with higher criticality.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:136:18 `__
.. _lobster-item-e649855ba4b1a43aafa8219d5ca1850084b08932:
.. dropdown:: [OK] TRLC Featreq Communication.DataReordering
:class-title: sd-bg-success sd-text-white
.. pull-quote::
Consumers with lower criticality shall not be able to modify the order of data consumed by partners with higher criticality.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:143:18 `__
.. _lobster-item-47ce3cc643b90ddcc90ef246d9c39b5267e3418e:
.. dropdown:: [OK] TRLC Featreq Communication.DataRepetition
:class-title: sd-bg-success sd-text-white
.. pull-quote::
Consumers with lower criticality shall not be able to duplicate data consumed by other communication partners with higher criticality.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:150:18 `__
.. _lobster-item-f3aa330ae810e2902b17fb620bba1b02983024bc:
.. dropdown:: [OK] TRLC Featreq Communication.DataLoss
:class-title: sd-bg-success sd-text-white
.. pull-quote::
Consumers with lower criticality shall not be able to drop data before it is consumed by partners with higher criticality.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:157:18 `__
.. _lobster-item-88ea1ee1b34860b38fe2117a58219ce1a5a415ab:
.. dropdown:: [OK] TRLC Featreq Communication.ZeroCopy
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall enable Zero-Copy communication without copying to-be-transferred data.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:164:18 `__
.. _lobster-item-9d91b9016b0e12e198cdee5f0195062b81f1d452:
.. dropdown:: [OK] TRLC Featreq Communication.SupportForMultipleProgrammingLanguages
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall provide a public API for each supported programming language of S-CORE.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:171:18 `__
.. _lobster-item-03f5b03f9b036d1e7fd0563f1e2ef9533434c2db:
.. dropdown:: [OK] TRLC Featreq Communication.SupportForProgrammingLanguageIdioms
:class-title: sd-bg-success sd-text-white
.. pull-quote::
Each public API shall support the idioms of the programming language it is written in.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:178:18 `__
.. _lobster-item-87f00d6bcdc04f1f03dfa941f56c1bdb530cf4d5:
.. dropdown:: [OK] TRLC Featreq Communication.UseProgrammingLanguageInfrastructure
:class-title: sd-bg-success sd-text-white
.. pull-quote::
Each public API shall use core infrastructure of its programming language and accompanying standard libraries, whenever possible and meaningful.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:185:18 `__
.. _lobster-item-7de2f86041b6e928b0484e2c1e7b8c9777b2525e:
.. dropdown:: [OK] TRLC Featreq Communication.FullyMockablePublicAPI
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The public API shall be fully mockable.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:192:18 `__
.. _lobster-item-6a870c2075b89a9e028e86dd95e1ea24c27f1c21:
.. dropdown:: [OK] TRLC Featreq Communication.FakeBinding
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall provide a fake binding.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:199:18 `__
.. _lobster-item-203e26d1574c458b40b74dfa3c28fa3b3582924f:
.. dropdown:: [OK] TRLC Featreq Communication.MultiBindingSupport
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall support multiple bindings.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:206:18 `__
.. _lobster-item-1be37e56ac27afa19c0f397be69ff66c9095813c:
.. dropdown:: [OK] TRLC Featreq Communication.BindingAgnosticPublicAPI
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The public API of the communication framework shall be binding-agnostic.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:213:18 `__
.. _lobster-item-655b1d6aff8ac6ba5552d6e1bbeaed9badf6ffb4:
.. dropdown:: [OK] TRLC Featreq Communication.MultiBindingDeploymentConfiguration
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The association of a service instance and the appropriate binding shall be specified in the deployment configuration.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:220:18 `__
.. _lobster-item-d7f0e777c1493b43487b607ee5c9ecaaa61fe9b6:
.. dropdown:: [OK] TRLC Featreq Communication.DeploymentConfigurationAtRuntime
:class-title: sd-bg-success sd-text-white
.. pull-quote::
Deployment configuration shall be read from an integrity-checked configuration file at runtime.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:227:18 `__
.. _lobster-item-54283959879881879e8bf1871f3e46eecd891f44:
.. dropdown:: [OK] TRLC Featreq Communication.SupportForTracing
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall provide infrastructure to enable binding-agnostic, zero-copy, read-only tracing of communication.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:234:18 `__
.. _lobster-item-7a9a61eb4e944a320eb2b7e7ab33ec89b77dbc31:
.. dropdown:: [OK] TRLC Featreq Communication.AccessControlListPlacement
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall support an Access Control Lists in the deployment configuration.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:241:18 `__
.. _lobster-item-5f8a1a96863f91d95a011303ded2f3c7b329e731:
.. dropdown:: [OK] TRLC Featreq Communication.AccessControlListPerServiceInstance
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall support an Access Control List per service instance.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:248:18 `__
.. _lobster-item-59afa6ff7360d61581ee2637e497dd3062b2d32c:
.. dropdown:: [OK] TRLC Featreq Communication.AccessControlListForProducer
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall support an Access Control List for the communication partner offering a service instance (producer).
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:255:18 `__
.. _lobster-item-bca917db7612d30c017e515317a86d0b72a1ecd1:
.. dropdown:: [OK] TRLC Featreq Communication.AccessControlListForConsumer
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall support an Access Control List for the communication partner consuming a service instance.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:262:18 `__
.. _lobster-item-1de9b7753d8bbb6b98e5b6676399795ddd71b1d8:
.. dropdown:: [OK] TRLC Featreq Communication.CommunicationASILLevel
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication framework shall support safe communication up to ASIL-B.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:269:18 `__
.. _lobster-item-a4c2878e557c92684b68f629a28f928de2051563:
.. dropdown:: [OK] TRLC Featreq Communication.ErrorHandling
:class-title: sd-bg-success sd-text-white
.. pull-quote::
(C++) exceptions shall not be used for error handling.
The best way to deal with errors is to try to resolve those component internally. If not possible the caller of the function shall be notified of the error.
For (error) returns there is a specific library to be used in S-CORE, it is the Score::Result library which is part of
the Base Libraries feature.
.. raw:: html
**Source:** `score/mw/com/dependability/requirements/feature\_requirements/feature\_requirements\_ipc.trlc:276:18 `__