-
Key: C2MS11-55
-
Status: closed
-
Source: Kratos RT Logic, Inc. ( Mr. Mike Anderson)
-
Summary:
Numerous field tables in C2MS allow reusing the same REQUEST-ID for a request to provide a "replacement". For example, MVAL REQ Message says in the Fields table (Table 8-99) under REQUEST-ID:
"ID to identify the request message - if different request messages have the same value, the request is a replacement; else, it is a new request"
In all cases, this is the only explanatory text of what is meant by "replacement". This is pretty ambiguous about expected result. So, for example,
- If I send an initial request to start receiving MVAL A and B, and then send another request of the same REQUEST-ID for MVAL C, is the result that I'm now subscribed to A, B and C, or just to C?
- If I send a request to start receiving MVAL X and Y with a PUBLISH-RATE of 1 and then send another request for a duration of 120 minutes, and then send another request wit the same REQUEST-ID for MVAL Y with a PUBLISH-RATE of 5, am I subscribed to X at 1 and Y at 5, or just Y at 5?
There's no description of semantics regarding what is being replaced.
A related issue is STOP request, specifying non-symmetrical MVALs, and what to do in that situation.
- If I send a request to start receiving MVAL 11 and 12, and then send a STOP, but only specify MVAL 11, do I still get 12?
In C2MS 1.0, in every instance of sending a REQUEST-ID as part of a request, the Notes for the field states the identical, "ID to identify the request message – if different request messages have the same value, the request is a replacement; else, it is a new request." However this copy-paste doesn't always make sense.
Re-use of a REQUEST-ID only makes sense if the request leaves some process continuing to fulfill data streaming. Only two request messages have a start/stop concept. Therefore, this resolution assumes no other messages have a use case for 'replacement' and removes the confusing extra text.
Additionally, the concept of 'replacement' is not needed in the two cases where start/stop actions are present... just stop the old one and start a new one. Using 'replacement' can lead to confusion.
-
Reported: C2MS 1.0 — Fri, 4 Mar 2022 00:28 GMT
-
Disposition: Resolved — C2MS 1.1b1
-
Disposition Summary:
Do it in 1.1
Remove the reference about replacement from the Notes column of the corresponding table for messages that don't have any ongoing aspect controlled by start/stop. These are the following:
- Archive Message Retrieval Request Message (Table 8-20)
- Directive Request Message (Table 8-32)
- Archive Mnemonic Value Request Message (Table 8-114)
- Command Request Message (Table 8-131)
- Product Request Message (Table 8-146)
- Simple Service Request Message (Table 8-160)
Modify the text and table notes associated with the following messages to include explanation of the re-use of REQUEST-ID.
- Replay Telemetry Data Request
- Mnemonic Value Request Message
-
Updated: Mon, 16 Sep 2024 14:18 GMT
C2MS11 — REQUEST-ID as "Replacement" and related STOP
- Key: C2MS11-55
- OMG Task Force: Command and Control Message Specification (C2MS) 1.1 RTF