Component Requirements ====================== **Coverage:** 85.7% (12 of 14 items OK) .. _lobster-item-1e19ff64dfdcb7d355592f7cf299e240907b27dc: .. dropdown:: [PARTIAL] TRLC Compreq MwLog.ForwardToSystemLogger :open: :class-title: sd-bg-warning .. pull-quote:: The system logger backend shall forward the logs to the native system logger mechanism. Under QNX, slogger2 shall be used. .. raw:: html
**Traces to:** * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. card:: :class-card: lobster-issue-card * missing reference to Unit Test * missing reference to Test Case Coverage .. raw:: html
**Derived from:** * :ref:`MwLogFeature.EarlyStartupLogging ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:76:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L76>`__ .. _lobster-item-c9cd5482c0049b64d91b1f53bf505fbdca20a050: .. dropdown:: [PARTIAL] TRLC Compreq MwLog.SystemBackendActivation :open: :class-title: sd-bg-warning .. pull-quote:: The system logger backend shall be enabled if and only if the log mode contains "kSystem". .. raw:: html
**Traces to:** * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. card:: :class-card: lobster-issue-card * missing reference to Unit Test * missing reference to Test Case Coverage .. raw:: html
**Derived from:** * :ref:`MwLogFeature.ConfigOnDemand ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:85:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L85>`__ .. _lobster-item-f8e3900e83768564b6a528579eeb57dca7fdb099: .. dropdown:: [OK] TRLC Compreq MwLog.AvoidSignalProcessing :class-title: sd-bg-success sd-text-white .. pull-quote:: The component shall not register any signal handler. .. raw:: html
**Traces to:** * :ref:`SignalHandlingTest:PThreadBlockSigTerm\_AllSucceed\_ReturnsSuccess ` * :ref:`MwLog.AvoidSignalProcessing ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.AsilLevelSupport ` * :ref:`MwLogFeature.ErrorHandlingIsolation ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:22:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L22>`__ .. _lobster-item-023e236205af00574969ad5a522d1fa561ed204d: .. dropdown:: [OK] TRLC Compreq MwLog.FileDescriptorFlags :class-title: sd-bg-success sd-text-white .. pull-quote:: The component shall set the FD\_CLOEXEC (or O\_CLOEXEC) flag on all the file descriptors it owns. .. raw:: html
**Traces to:** * :ref:`WriterFactoryFixture:MakeSureThatOpenCallWillOnlyBeDoneWithCorrectOpenReadFlags ` * :ref:`FileRecorderFactoryConfigFixture:FileConfigurionShallCallFileCreationAndReturnFileRecorder ` * :ref:`MwLog.FileDescriptorFlags ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.SecurityLogAccess ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:30:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L30>`__ .. _lobster-item-3379e95a99d683504eb27583c0669e3532730a40: .. dropdown:: [OK] TRLC Compreq MwLog.DltVerboseMode :class-title: sd-bg-success sd-text-white .. pull-quote:: mw::log shall implement DLT verbose mode. Generation of messages shall be done in DLT-conform format, allowing messages to be sent by Datarouter without additional reprocessing. .. raw:: html
**Traces to:** * :ref:`DataRouterBackendFixture:LogLevelVerbose ` * :ref:`MwLog.DltVerboseMode ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.CompatibilityDltProtocol ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:39:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L39>`__ .. _lobster-item-983a22b6905837b1aaa6899ad9c655553f115a0f: .. dropdown:: [OK] TRLC Compreq MwLog.AutosarLogTraceSpec :class-title: sd-bg-success sd-text-white .. pull-quote:: mw::log shall implement "Specification of Log and Trace for Adaptive Platform". Release of specification used shall be in agreement with the rest of Adaptive AUTOSAR stack. .. raw:: html
**Traces to:** * :ref:`DltMessageBuilderFixture:ShallDepleteAfterHeaderAndPayload ` * :ref:`MwLog.AutosarLogTraceSpec ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.SeverityLevels ` * :ref:`MwLogFeature.CompatibilityDltProtocol ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:48:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L48>`__ .. _lobster-item-a4a883d0188ce9e31168d4aae9f9683f2bde6439: .. dropdown:: [OK] TRLC Compreq MwLog.InactiveLogStreamBehavior :class-title: sd-bg-success sd-text-white .. pull-quote:: mw::log library shall not perform any useful activity if log level of LogStream object is insufficient for given context. LogStream object shall not generate serialized messages if the severity of the message does not allow it to be sent. .. raw:: html
**Traces to:** * :ref:`DataRouterRecorderFixtureWithLogLevelCheck:DisablesOrEnablesLogAccordingToLevel ` * :ref:`MwLog.InactiveLogStreamBehavior ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.ResourceConsumptionPerformance ` * :ref:`MwLogFeature.FilteringLogLevels ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:57:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L57>`__ .. _lobster-item-4bfac174996a064d970b79537a8ab4821e4c3f13: .. dropdown:: [OK] TRLC Compreq MwLog.SharedMemoryFilePermissions :class-title: sd-bg-success sd-text-white .. pull-quote:: Logging shared-memory files shall have read-only posix file permission for group and others. The shared-memory file created by mw::log shall be read-only for group and others. .. raw:: html
**Traces to:** * :ref:`WriterFactoryFixture:MakeSureThatOpenCallWillOnlyBeDoneWithCorrectOpenReadFlags ` * :ref:`MwLog.SharedMemoryFilePermissions ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.ConfigPermissions ` * :ref:`MwLogFeature.SecurityLogAccess ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:67:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L67>`__ .. _lobster-item-973e6c32f0a9ea6df9ced35cd5df3667f3d80b12: .. dropdown:: [OK] TRLC Compreq MwLog.LocalAllocationStrategy :class-title: sd-bg-success sd-text-white .. pull-quote:: mw::log shall use local allocators to avoid using global heap. Global heap allocation (if any) shall be limited to the initialization phase of application lifecycle. .. raw:: html
**Traces to:** * :ref:`FileRecorderFixture:TooManyArgumentsWillYieldTruncatedLog ` * :ref:`MwLog.LocalAllocationStrategy ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.AsilLevelSupport ` * :ref:`MwLogFeature.ResourceConsumptionRuntime ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:94:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L94>`__ .. _lobster-item-ab77c02cb03c98149347622ca992c919b1a2c030: .. dropdown:: [OK] TRLC Compreq MwLog.BoundedLoopExecution :class-title: sd-bg-success sd-text-white .. pull-quote:: mw::log shall not contain unbound loops or loops with unchecked exit conditions. .. raw:: html
**Traces to:** * :ref:`WaitFreeLinearWriter:WriteBufferFullShouldReturnExpectedData ` * :ref:`MwLog.BoundedLoopExecution ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.ResourceConsumptionRuntime ` * :ref:`MwLogFeature.AsilLevelSupport ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:103:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L103>`__ .. _lobster-item-4b371bc3ac6ae56c17e7d7a4b9c3d6c0f30fe81c: .. dropdown:: [OK] TRLC Compreq MwLog.TimeBoundedLocking :class-title: sd-bg-success sd-text-white .. pull-quote:: mw::log shall be free of time-unbound locks and shall implement strategies to limit wait time. Time limit shall be defined based on requirements from functions on individual ECU. Mutual exclusion mechanisms shall include priority inversion protection. .. raw:: html
**Traces to:** * :ref:`CommonTests:TypesShallBeLockFree ` * :ref:`WaitFreeLinearWriter:EnsureAtomicRequirements ` * :ref:`MwLog.TimeBoundedLocking ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.ResourceConsumptionPerformance ` * :ref:`MwLogFeature.AsilLevelSupport ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:111:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L111>`__ .. _lobster-item-532a3ea19ff52d3c56fcdfce276b0af8af68564e: .. dropdown:: [OK] TRLC Compreq MwLog.CrossLockingPrevention :class-title: sd-bg-success sd-text-white .. pull-quote:: Cross-application and cross-thread dependencies shall be avoided. A thread logging in a loop shall not block other thread's execution. .. raw:: html
**Traces to:** * :ref:`WaitFreeAlternatingWriterTests:EnsureAtomicRequirements ` * :ref:`WaitFreeLinearWriter:EnsureAtomicRequirements ` * :ref:`MwLog.CrossLockingPrevention ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.ResourceConsumptionRuntime ` * :ref:`MwLogFeature.AsilLevelSupport ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:121:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L121>`__ .. _lobster-item-325e97c01897aac1a8c60fc78a4851ba4853bcbe: .. dropdown:: [OK] TRLC Compreq MwLog.IndexAndSizeChecking :class-title: sd-bg-success sd-text-white .. pull-quote:: Indices in data structures and sizes of data accessed or copied shall be checked for plausibility to avoid high runtime utilization through long iterations or data corruption. .. raw:: html
**Traces to:** * :ref:`LinearReaderTests:LengthExceedingMaxThresholdShouldReturnEmpty ` * :ref:`MwLog.IndexAndSizeChecking ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.AsilLevelSupport ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:130:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L130>`__ .. _lobster-item-2418b8704dc0807bdc2ab9fca05cd33fb4e81ad3: .. dropdown:: [OK] TRLC Compreq MwLog.MemoryBoundChecking :class-title: sd-bg-success sd-text-white .. pull-quote:: Memory boundaries shall be explicitly checked when writing to shared memory. .. raw:: html
**Traces to:** * :ref:`WaitFreeLinearWriter:BufferSizeExceededShouldReturnEmpty ` * :ref:`MwLog.MemoryBoundChecking ` * :ref:`//score/mw/log/dependability:component\_mw\_log\_backend ` .. raw:: html
**Derived from:** * :ref:`MwLogFeature.AsilLevelSupport ` .. raw:: html
**Source:** `score/mw/log/requirements/component\_requirements/component\_requirements.trlc:139:18 <../../../../../../score/mw/log/requirements/component_requirements/component_requirements.trlc#L139>`__