Skip to content

mw::com: add AoU DoNotTrustGetSubscriptionStateReturnValue#640

Open
KrishaDeshkool wants to merge 1 commit into
eclipse-score:mainfrom
KrishaDeshkool:add_aou_for_get_sub_state
Open

mw::com: add AoU DoNotTrustGetSubscriptionStateReturnValue#640
KrishaDeshkool wants to merge 1 commit into
eclipse-score:mainfrom
KrishaDeshkool:add_aou_for_get_sub_state

Conversation

@KrishaDeshkool

Copy link
Copy Markdown
Contributor

No description provided.

@KrishaDeshkool KrishaDeshkool force-pushed the add_aou_for_get_sub_state branch 2 times, most recently from c503f61 to 8026eda Compare July 9, 2026 08:15
@KrishaDeshkool KrishaDeshkool marked this pull request as ready for review July 9, 2026 08:15
@KrishaDeshkool KrishaDeshkool force-pushed the add_aou_for_get_sub_state branch from 9814c18 to 4af5c18 Compare July 9, 2026 16:12

/* broken_link_c/issue/79416086 */
ScoreReq.AoU NoGuaranteeOnSubscriptionStateCorrectness {
description = "It shall be ensured that a wrong or outdated subscription state returned by GetSubscriptionState() will not harm a safety goal."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It shall be ensured that an application must not rely on a SubscriptionState of kSubscribed or kSubscriptionPending returned by GetSubscriptionState() or reported by the SubscriptionStateChangeHandler.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Note. On a technical level, we cannot reliably differentiate between these 2 states.

@bemerybmw bemerybmw Jul 14, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can link the requirement "SubscriptionState" https://codebeamer.bmwgroup.net/cb/issue/14034769 (actually link to trlc or the requirement name). The requirement needs to be updated on master (i.e. in trlc) to contain the information about the "active subscription" (https://codebeamer.bmwgroup.net/cb/issue/20003388) i.e. when we can be in kSubscribed / kSubscriptionPending.

ScoreReq.AoU NoGuaranteeOnSubscriptionStateCorrectness {
description = "It shall be ensured that a wrong or outdated subscription state returned by GetSubscriptionState() will not harm a safety goal."
safety = ScoreReq.Asil.B
note = "The subscription state is updated based on notifications, for which no guarantees are given - see also [NoGuaranteeInAvailabilityOfServices]. The returned state can therefore lag behind or deviate from the actual producer side state."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The application can rely on the SubscriptionState being kNotSubscribed until a successful subscription is made which transitions the SubscriptionState into kSubscriptionPending or kSubscribed. The SubscriptionState will then reliably transition back to kNotSubscribed once a successful unsubscription is made. All APIs which are documented to return a certain result in case the current SubscriptionState is kNotSubscribed are reliable.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't think we can put guarantees in AoUs. it's the other way around the Aou is where we state what we do not guarantee something and what the user must take care and any guarantee should be a requirement with evidence behind it (test or manual analysis) IMO

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

2 participants