Component Requirements

Coverage: 100.0% (39 of 39 items OK)

[OK] TRLC Compreq ConfigDaemon.StorageAccessibility
[OK] TRLC Compreq ConfigDaemon.StorageFailure

In case file system is not accessible for ConfigDaemon application at startup or any other failure leads to parameter data model populated incompletely, ConfigDaemon application shall not offer any services.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:29:22

[OK] TRLC Compreq ConfigDaemon.Lifecycle

{{ConfigDaemon}} shall implement {{Initialize()}} and {{Run()}} functions in order to be managed by {{LifecycleManager}}.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:36:22

[OK] TRLC Compreq ConfigDaemon.InitializePlugins

The {{ConfigDaemon}} shall setup {{Plugins}} during the execution of {{ConfigDaemon::Initialize()}}. The setup consists of the following steps: * Create {{Plugins}} by using {{PluginCollector}}. * Store created {{Plugins}} in internall collection. * Call the {{Initialize()}} function exactly once for each {{Plugin}} in the collection.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:45:26

[OK] TRLC Compreq ConfigDaemon.InitializeService

The {{ConfigDaemon}} shall create and initialize {{InternalConfigProviderService}} service during the execution of {{ConfigDaemon::Initialize()}}.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:55:26

[OK] TRLC Compreq ConfigDaemon.RunPlugins

The {{ConfigDaemon}} shall call the {{Run()}} function exactly once for each {{Plugin}} in the collection during the execution of {{ConfigDaemon::Run()}}.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:62:26

[OK] TRLC Compreq ConfigDaemon.RunService

The {{ConfigDaemon}} shall offer {{InternalConfigProviderService}} service during the execution of {{ConfigDaemon::Run()}}.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:69:26

[OK] TRLC Compreq ConfigDaemon.RunIdle

Following Run activity finalization, {{ConfigDaemon}} shall remain locked in an idle state until {{stop_token}} is modified.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:76:26

[OK] TRLC Compreq ConfigDaemon.RunShutdown

{{ConfigDaemon}} shall process {{stop_token}} to interrupt any waiting and initiate the application shutdown.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:83:26

[OK] TRLC Compreq ConfigDaemon.ShutdownPlugins

The {{ConfigDaemon}} shall call the {{Deinitialize()}} function exactly once for each {{Plugin}} in the collection during the execution of {{ConfigDaemon}} shutdown.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:90:26

[OK] TRLC Compreq ConfigDaemon.ShutdownService

The {{ConfigDaemon}} shall stop offering {{InternalConfigProviderService}} during the execution of {{ConfigDaemon}} shutdown.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:97:26

[OK] TRLC Compreq ConfigDaemon.ParameterSetServiceOffering
[OK] TRLC Compreq ConfigDaemon.DataModel
[OK] TRLC Compreq ConfigDaemon.ParameterSets
[OK] TRLC Compreq ConfigDaemon.DefaultDataModelLoading

When {{ConfigDaemon}} is initialized, it shall load the Data Model from {{Default Parameter Set Collection file}} if {{Parameter Set Collection file}} is not available or its integrity is not successfully verified.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:151:26

[OK] TRLC Compreq ConfigDaemon.ActualDataModelLoading

When {{ConfigDaemon}} is initialized, it shall load the Data Model from {{Parameter Set Collection file}} if available and its integrity is verified.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:159:26

[OK] TRLC Compreq ConfigDaemon.FileAccess

Files persisted by {{ConfigDaemon}} shall be readable by {{ConfigDaemon}} and priviledged user applications and writable by {{ConfigDaemon}} only.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:167:26

[OK] TRLC Compreq ConfigDaemon.DataModelChecksum

A checksum shall be calculated for the content of {{Parameter Set Collection file}} stored persistently to protect it from corruption.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:175:26

[OK] TRLC Compreq ConfigDaemon.DataModelVerification

The checksum protecting {{Parameter Set Collection file}} shall be evaluated during startup of {{ConfigDaemon}} prior to loading of {{Parameter Set Collection file}} contents into the {{Data Model}} to ensure that no corruption of data has occurred.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:183:26

[OK] TRLC Compreq ConfigDaemon.StoredQualifier

Every {{Parameter Set Qualifier}} loaded from the {{Parameter Set Collection file}} shall have the value {{QUALIFYING}}.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:190:26

[OK] TRLC Compreq ConfigDaemon.PrimitiveTypes

Following primitive parameter types shall be supported: * {{bool}} * {{sint8}} * {{sint16}} * {{sint32}} * {{sint64}} * {{uint8}} * {{uint16}} * {{uint32}} * {{uint64}} * {{float32}} * {{float64}}

Note: This only applies to the Daemon Application. Plugins may also only support a subset of the types.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:202:26

[OK] TRLC Compreq ConfigDaemon.ComplexTypes

Following complex parameter types shall be supported: * One dimensional arrays of {{SupportedParameterTypes::PrimitiveTypes}} * Two dimensional arrays of {{SupportedParameterTypes::PrimitiveTypes}}

Note: This only applies to the Daemon Application. Plugins may also only support a subset of the types.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:223:26

[OK] TRLC Compreq ConfigDaemon.ParameterSetQualifier

The ParameterSet qualifier shall be restricted to one of the following states: {{DEFAULT}},{{QUALIFYING}}, {{QUALIFIED}}, {{UNQUALIFIED}} or {{MODIFIED}}. Any other value is invalid.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:237:22

[OK] TRLC Compreq ConfigDaemon.PluginResponsibility

{{Plugin}} components are responsible for populating or modifing the contents of the {{ParameterSetCollection}}.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:248:22

[OK] TRLC Compreq ConfigDaemon.PluginSingleParametersType

{{Plugin}} shall process parameters of only one kind, e.g. coding or calibration or custom type of parameters.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:255:22

[OK] TRLC Compreq ConfigDaemon.PluginCreation

{{Plugin}} shall register its own {{PluginCreator}} in {{PluginCollector}} in order to be created.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:262:22

[OK] TRLC Compreq ConfigDaemon.PluginInitialization
[OK] TRLC Compreq ConfigDaemon.PluginRun

{{Plugin}} recieves handles to the {{ParameterSetCollection}} and to the {{InternalConfigProviderService}} within {{Run}} method. This handles should be used to update the database and notify clients about parameter and qualifier changes.


Traces to:


Derived from:


Source: requirements/component_requirements/config_daemon/component_requirements.trlc:276:22

[OK] TRLC Compreq ConfigProvider.CallbackTriggeredOnServiceAvailable

{{ConfigProvider}} shall notify the user application once {{InternalConfigProviderService}} is available.

Note: The callback indicates that: * The service has been found * ConfigProvider is ready to access ParameterSets


Traces to:


Derived from:


Source: requirements/component_requirements/config_provider/component_requirements.trlc:25:30

[OK] TRLC Compreq ConfigProvider.OnChangedParameterSetNotInvokedForSameData

The user application shall be notified not only when the Parameter Set’s value changed but also when its {{ParameterSetQualifier}} changed.


Traces to:


Derived from:


Source: requirements/component_requirements/config_provider/component_requirements.trlc:42:30

[OK] TRLC Compreq ConfigProvider.ParameterSetRetrievalWithTimeout

{{ConfigProvider}} shall support a timeout parameter when retrieving a Parameter Set to limit the maximum waiting time.


Traces to:


Derived from:


Source: requirements/component_requirements/config_provider/component_requirements.trlc:50:30

[OK] TRLC Compreq ConfigProvider.BatchParameterSetRetrieval
[OK] TRLC Compreq ConfigProvider.WaitUntilServiceConnected

{{ConfigProvider}} shall provide a mechanism to wait until the service connection is available, with timeout and cancellation support.


Traces to:


Derived from:


Source: requirements/component_requirements/config_provider/component_requirements.trlc:68:30

[OK] TRLC Compreq ConfigProvider.InitialQualifierStateUndefined

{{ConfigProvider}} as part of a user application shall initialize the {{InitialQualifierState}} with value {{UNDEFINED}} at its side, which will remain as long as no update is available from {{ConfigDaemon}} application.


Traces to:


Derived from:


Source: requirements/component_requirements/config_provider/component_requirements.trlc:79:30

[OK] TRLC Compreq ConfigProvider.GetInitialQualifierStateWithTimeout
[OK] TRLC Compreq ConfigProvider.InitialQualifierStateChangeNotification
[OK] TRLC Compreq ConfigProvider.OperationErrorReporting

{{ConfigProvider}} operations related to {{InitialQualifierState}} shall indicate success or failure with error information so that the caller can react safely in case of failure.


Traces to:


Derived from:


Source: requirements/component_requirements/config_provider/component_requirements.trlc:104:30

[OK] TRLC Compreq ConfigProvider.ParameterSetGetQualifier

{{ConfigProvider}} shall enable a user application to request a Parameter Set with its {{ParameterSetQualifier}} from the {{InternalConfigProviderService}}.


Traces to:


Derived from:


Source: requirements/component_requirements/config_provider/component_requirements.trlc:118:26

[OK] TRLC Compreq ConfigProvider.GetInitialQualifierState

A qualifier shall be offered to indicate the integrity of coding data for coding parameters which are attributed with ASIL B level.

Note: ConfigDaemon assumes that functions which are using the coding parameters will establish a safe state in case when such qualifier indicates that coding data not in state Qualified.


Traces to:


Derived from:


Source: requirements/component_requirements/config_provider/component_requirements.trlc:132:30