Skip to content

Verify op intent changes are always shared with the DSS #1379

@BenjaminPelletier

Description

@BenjaminPelletier

Is your feature request related to a problem? Please describe.
Despite our current checks and #1377 and #1378, a USS could potentially change the details of its operational intent without sharing that change with the DSS, and therefore be in violation of USS0105,1 and/or USS0005 because the op intent change was not made discoverable using the DSS, but uss_qualifier will not detect any failure.

As a specific example, a USS could provide op intent information where the reference time extent is consistently 1pm-2pm, but the details extent changes to a different 30-minute interval between 1pm and 2pm every time the USS provides op intent details (via query or notification). I do not think uss_qualifier would detect this problem currently unless one of the 30-minute intervals failed to cover the time range in which the flight planning was requested.

Describe the solution you'd like
uss_qualifier should, whenever convenient, check if the details of an op intent have changed without that op intent's version/OVN changing also. In other words, if the op intent's version/OVN are the same as a previous observation, then verify that the full op intent information exactly1 matches the previously-obtained information for this version of the op intent in the cache. This could perhaps be accomplished by retaining a global/test-run-scope cache of op intent details indexed by op intent ID + version, then verifying identical content if the same op intent ID + version is ever encountered (via separate query to USS or notification from USS) again during the test.

Note that op intent version and OVN should change in lockstep, but a failure for that to happen (OVN changes when version didn't or version changes when OVN didn't) is a DSS failure rather than a USS failure (or #1378 if the USS is transmitting DSS information incorrectly). Since this Issue is regarding USS behavior, the solution to this Issue specifically should check whether version/OVN are the same merely to determine whether to perform the full op intent information comparison, and not try to detect a version change without OVN change or OVN change without version change.

Describe alternatives you've considered
A global cache of op intent details could perhaps get large over the course of an entire test run; it would probably be nicer to scope the cache to a single test scenario (since op intents are unlikely to intentionally persist between scenarios).

1But we should be tolerant of numerical precision and formatting differences expressing fundamentally the same value.

Metadata

Metadata

Assignees

Labels

P2Normal priorityenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions