Feature Requirements
====================
**Coverage:** 76.9% (10 of 13 items OK)
.. _lobster-item-c1a7e19a19b1fe8c67e95470ead6450a02fcc9f3:
.. dropdown:: [MISSING] TRLC Assumedsystemreq MessagePassing.SystemMessagingProtocol
:open:
:class-title: sd-bg-danger sd-text-white
.. pull-quote::
The system shall provide a mechanism for inter-process communication via a client-server messaging protocol.
.. raw:: html
**Traces to:**
.. card::
:class-card: lobster-issue-card
* missing reference to Component Requirements
.. raw:: html
**Source:** `score/message\_passing/dependability/assumed\_system/assumed\_system\_requirements.trlc:22:27 `__
.. _lobster-item-b2864cac047f746b60a533aa9a94e6b1b8a3f531:
.. dropdown:: [MISSING] TRLC Mitigation MessagePassing.SafeState
:open:
:class-title: sd-bg-danger sd-text-white
.. pull-quote::
The Safe State of the system shall be \*safe-silent\*
.. raw:: html
**Traces to:**
.. card::
:class-card: lobster-issue-card
* missing reference to Component Requirements
.. raw:: html
**Source:** `score/message\_passing/dependability/assumed\_system/assumed\_system\_requirements.trlc:29:21 `__
.. _lobster-item-d54fb43b80455d65c15bcb21f16e3fcd75a5070b:
.. dropdown:: [MISSING] TRLC Featreq MessagePassing.SmallDataLowLatencyCommunication
:open:
:class-title: sd-bg-danger sd-text-white
.. pull-quote::
The message passing component shall provide low-latency communication for small data between dedicated endpoints.
.. raw:: html
**Traces to:**
.. card::
:class-card: lobster-issue-card
* missing reference to Component Requirements
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:50:18 `__
.. _lobster-item-f4728a059e1e0a10e0cd4410460e1633af193f73:
.. dropdown:: [OK] TRLC Featreq MessagePassing.ServerInterface
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The message passing component shall provide a server interface that registers connection handlers and processes incoming requests.
.. raw:: html
**Traces to:**
* :ref:`MessagePassing.OSProvidedSenderIdentity `
* :ref:`MessagePassing.UnforgableSenderIdentity `
* :ref:`MessagePassing.ServerCallbacksAreSequential `
* :ref:`MessagePassing.IServerStartListeningAPI `
* :ref:`MessagePassing.IServerStopListeningAPI `
* :ref:`MessagePassing.IServerConnectionNotifyAPI `
* :ref:`MessagePassing.ServerConnectionRefusal `
* :ref:`MessagePassing.ServerIConnectionHandlerDispatch `
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:22:18 `__
.. _lobster-item-9931ba53b300691e0563bca0c321fc6ced735ac4:
.. dropdown:: [OK] TRLC Featreq MessagePassing.OSIndependentAPI
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The message passing component shall provide an OS-independent API for OS-native IPC mechanisms.
.. raw:: html
**Traces to:**
* :ref:`MessagePassing.SafetyCertifiedTransportMechanismUnderQNX `
* :ref:`MessagePassing.TransportMechanismOnLinux `
* :ref:`MessagePassing.ClientConnectionMaintainsStateMachine `
* :ref:`MessagePassing.ClientFactoryCreateAPI `
* :ref:`MessagePassing.ServerFactoryCreateAPI `
* :ref:`MessagePassing.IClientConnectionGetStateAPI `
* :ref:`MessagePassing.ClientConnectionStateCallbackInvocation `
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:29:18 `__
.. _lobster-item-b41252240f68be0bdf1e3135dbc3a280b5313013:
.. dropdown:: [OK] TRLC Featreq MessagePassing.SafetyCertifiedTransportMechanism
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The implementation under QNX shall use a safety-certified transport mechanism.
.. raw:: html
**Traces to:**
* :ref:`MessagePassing.SafetyCertifiedTransportMechanismUnderQNX `
* :ref:`MessagePassing.TransportMechanismOnLinux `
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:36:18 `__
.. _lobster-item-a825aba417f691a5f3123dfa486fa142a4ff1cc9:
.. dropdown:: [OK] TRLC Featreq MessagePassing.PointToPointConnections
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The message passing component shall support only point-to-point (1:1) connections between communication endpoints. N:M connections are explicitly excluded.
.. raw:: html
**Traces to:**
* :ref:`MessagePassing.MessageOrderPreservationPerConnection `
* :ref:`MessagePassing.SingleServerInstancePerServiceIdentifier `
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:43:18 `__
.. _lobster-item-78e568a0bd29ee997bbc89d77a556b4b347e7b52:
.. dropdown:: [OK] TRLC Featreq MessagePassing.SynchronousUnidirectionalCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication shall support synchronous unidirectional message sending on a given connection. The send call blocks until the message has been transferred to the receiving side and a suitable handler has been identified.
.. raw:: html
**Traces to:**
* :ref:`MessagePassing.SynchronousSendBlocksUntilServerReceives `
* :ref:`MessagePassing.IClientConnectionSendAPI `
* :ref:`MessagePassing.ClientConnectionSendFailsWhenStopped `
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:57:18 `__
.. _lobster-item-4d4739f75f79fb3025389970abd4524c6f3281c1:
.. dropdown:: [OK] TRLC Featreq MessagePassing.SynchronousBidirectionalCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication shall support synchronous bidirectional request-response communication on a given connection. The send call blocks until a reply from the receiver has been received (SendWaitReply).
.. raw:: html
**Traces to:**
* :ref:`MessagePassing.ServerProcessesSinglePendingRequest `
* :ref:`MessagePassing.SendWaitReplyBlocksUntilServerReply `
* :ref:`MessagePassing.IClientConnectionSendWaitReplyAPI `
* :ref:`MessagePassing.IServerConnectionReplyAPI `
* :ref:`MessagePassing.ClientConnectionSendWaitReplyFailsWhenStopped `
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:64:18 `__
.. _lobster-item-e0a331bc1f530d94070d43bc91e45ed18fc6c50c:
.. dropdown:: [OK] TRLC Featreq MessagePassing.AsynchronousUnidirectionalCommunication
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The communication shall support asynchronous unidirectional message sending, where the send call returns after the local message passing layer has accepted the message. No guarantee is provided that the message is delivered to or processed by the receiver.
.. raw:: html
**Traces to:**
* :ref:`MessagePassing.AsynchronousSendReturnsAfterLocalAcceptance `
* :ref:`MessagePassing.IClientConnectionSendWithCallbackAPI `
* :ref:`MessagePassing.ClientConnectionSendWithCallbackFailsWhenStopped `
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:71:18 `__
.. _lobster-item-75942ae52ea4a9b57c80544c22a76c8d806d29e9:
.. dropdown:: [OK] TRLC Featreq MessagePassing.SingletonFreeImplementation
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The Message Passing library design shall not use any singletons.
.. raw:: html
**Traces to:**
* :ref:`MessagePassing.ClientConnectionSharedResourceEngineInjection `
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:78:18 `__
.. _lobster-item-13ab3e95e90ecab64403d39ec451cfedd2efe973:
.. dropdown:: [OK] TRLC Featreq MessagePassing.AllowsBoundedMonotonicMemoryAllocation
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The Message Passing library design shall allow bounded monotonic memory allocation.
.. raw:: html
**Traces to:**
* :ref:`MessagePassing.ServerPreallocatesConnectionObjects `
* :ref:`MessagePassing.ServerRingBufferQueueSizeConfigurable `
* :ref:`MessagePassing.ClientConnectionSendQueuePreallocation `
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:86:18 `__
.. _lobster-item-21c7def39d91dea649a7aada0e3466298c4e5413:
.. dropdown:: [OK] TRLC Featreq MessagePassing.AllowsResourceMockInjectionForTesting
:class-title: sd-bg-success sd-text-white
.. pull-quote::
The Message Passing library design shall allow resource mock injection for testing.
.. raw:: html
**Traces to:**
* :ref:`MessagePassing.ClientConnectionMockInjectionForTesting `
.. raw:: html
**Source:** `score/message\_passing/dependability/requirements/feature\_requirements.trlc:93:18 `__