Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2149,13 +2149,13 @@ section "com" {

The SubscriptionState expresses the state of a event or field subscription on the consumer/proxy side. The semantics of the enum values shall be:

* {{kSubscribed}}: Subscription has been successfully acknowledged by the provider side and has not been withdrawn by the provider (implicitly by stop-offer of the enclosing service or a negative acknowlege/refusal of the subscribe)
* {{kSubscribed}}: Subscription has been successfully acknowledged by the provider side and the consumer has not been notified that the service is no longer offered (either the provider has called stop_offer() or crashed).

* {{kNotSubscribed}}:In case of the following cases:

* Subscribe() has not been called or the last Subscribe() has been withdrawn with call to Unsubscribe()
* Subscribe() has not been called or the last successful Subscribe() has been withdrawn with call to Unsubscribe()

* Last call to Subscribe() has been rejected/negatively acknowledged by the provider side or provider side explicitly cancels an already acknowldged subscription.
* Last call to Subscribe() has been rejected/negatively acknowledged by the provider side.

* {{kSubscriptionPending}}:

Expand All @@ -2165,7 +2165,9 @@ section "com" {

** has been already dispatched to the provider side, but acknowlegde from provider side is pending

* state was already in {{kSubscribed}}, but then the whole enclosing providing service instance has been stopped offering. This is the "auto-reconnect mode". As soon as the service instance is detected being offered again, the Subscribe() will get automatically dispatched to the provider again.'''
* state was already in {{kSubscribed}}, but then the consumer has been notified that the whole enclosing providing service instance has stopped offering. This is the "auto-reconnect mode". As soon as the consumer is notified that the service instance is being offered again, the state would transition back to {{kSubscribed}}.'''

note = "The notification to the consumer that the provider has stopped offering may be delayed"
safety = ScoreReq.Asil.B
derived_from = [Communication.ProducerConsumerPattern@1]
version = 1
Expand Down
8 changes: 8 additions & 0 deletions score/mw/com/dependability/safety_analysis/aou.trlc
Original file line number Diff line number Diff line change
Expand Up @@ -370,3 +370,11 @@ ScoreReq.AoU MethodInArgPtrMatches {
version = 1
mitigates = "Communication.CallBlocksOnCaller, Communication.CallBlocksOnCallee, Communication.CallBlocksOnUserHandler"
}

/* broken_link_c/issue/79416086 */
ScoreReq.AoU NoGuaranteeOnSubscriptionStateCorrectness {
description = "For safety critical use cases, an application must treat a SubscriptionState of kSubscribed or kSubscriptionPending (returned by GetSubscriptionState() or reported by the SubscriptionStateChangeHandler) as the same."
safety = ScoreReq.Asil.B
note = "On a technical level, kSubscribed and kSubscriptionPending cannot be reliably differentiated, see {{SubscriptionState}} Component requirement for more details"
version = 1
}
Loading