diff --git a/monitoring/monitorlib/fetch/scd.py b/monitoring/monitorlib/fetch/scd.py index d66927fb10..3911910404 100644 --- a/monitoring/monitorlib/fetch/scd.py +++ b/monitoring/monitorlib/fetch/scd.py @@ -375,10 +375,17 @@ def constraints( class FetchedSubscription(fetch.Query): @property def success(self) -> bool: + """ + Returns: True if the query was successful OR if it returned a 404. + """ return not self.errors @property def errors(self) -> List[str]: + """ + Returns: A list of messages describing the errors encountered during the query. + IMPORTANT: a 404 is not considered as an error for this query. + """ if self.status_code == 404: return [] if self.status_code != 200: diff --git a/monitoring/uss_qualifier/resources/astm/f3548/v21/dss.py b/monitoring/uss_qualifier/resources/astm/f3548/v21/dss.py index 582a26a5e1..b9a085013d 100644 --- a/monitoring/uss_qualifier/resources/astm/f3548/v21/dss.py +++ b/monitoring/uss_qualifier/resources/astm/f3548/v21/dss.py @@ -261,6 +261,7 @@ def put_op_intent( ovn: Optional[str] = None, subscription_id: Optional[str] = None, force_query_scopes: Optional[Scope] = None, + force_no_implicit_subscription: bool = False, ) -> Tuple[OperationalIntentReference, List[SubscriberToNotify], Query,]: """ Create or update an operational intent. @@ -272,6 +273,8 @@ def put_op_intent( Scenarios that wish to test the behavior of the DSS when an incorrect scope is used can force the scope to be with the 'force_query_scope' parameter. + If 'force_no_implicit_subscription' is True, no implicit subscription will be requested under any circumstance. + Returns: the operational intent reference created or updated, the subscribers to notify, the query Raises: @@ -313,7 +316,7 @@ def put_op_intent( uss_base_url=base_url, subscription_id=subscription_id, new_subscription=ImplicitSubscriptionParameters(uss_base_url=base_url) - if subscription_id is None + if subscription_id is None and force_no_implicit_subscription is False else None, ) query = query_and_describe( @@ -674,6 +677,7 @@ def get_subscription(self, sub_id: str) -> FetchedSubscription: """ Retrieve a subscription from the DSS, using only its ID """ + # TODO should be migrated to the pattern where failures raise a QueryError self._uses_scope(Scope.StrategicCoordination) return fetch.get_subscription( self.client, diff --git a/monitoring/uss_qualifier/resources/astm/f3548/v21/planning_area.py b/monitoring/uss_qualifier/resources/astm/f3548/v21/planning_area.py index 118cc82ac7..efa6e38ff7 100644 --- a/monitoring/uss_qualifier/resources/astm/f3548/v21/planning_area.py +++ b/monitoring/uss_qualifier/resources/astm/f3548/v21/planning_area.py @@ -34,6 +34,15 @@ class PlanningAreaSpecification(ImplicitDict): volume: Volume3D """3D volume of service area""" + def get_volume4d( + self, time_start: datetime.datetime, time_end: datetime.datetime + ) -> Volume4D: + return Volume4D( + volume=self.volume, + time_start=Time(time_start), + time_end=Time(time_end), + ) + def get_new_subscription_params( self, subscription_id: str, @@ -83,13 +92,7 @@ def get_new_operational_intent_ref_params( Note that this method allows building inconsistent parameters: """ return PutOperationalIntentReferenceParameters( - extents=[ - Volume4D( - volume=self.volume, - time_start=Time(time_start), - time_end=Time(time_end), - ).to_f3548v21() - ], + extents=[self.get_volume4d(time_start, time_end).to_f3548v21()], key=key, state=state, uss_base_url=uss_base_url, @@ -115,13 +118,7 @@ def get_new_constraint_ref_params( as for testing authentication or parameter validation. """ return PutConstraintReferenceParameters( - extents=[ - Volume4D( - volume=self.volume, - time_start=Time(time_start), - time_end=Time(time_end), - ).to_f3548v21() - ], + extents=[self.get_volume4d(time_start, time_end).to_f3548v21()], uss_base_url=self.base_url, ) diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/__init__.py b/monitoring/uss_qualifier/scenarios/astm/utm/dss/__init__.py index 52ef20bd46..aa79d182bd 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/__init__.py +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/__init__.py @@ -9,3 +9,4 @@ from .op_intent_ref_simple import OIRSimple from .subscription_interactions import SubscriptionInteractions from .subscription_interactions_deletion import SubscriptionInteractionsDeletion +from .oir_implicit_sub_handling import OIRImplicitSubHandling diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/sub/implicit_correct.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/sub/implicit_correct.md new file mode 100644 index 0000000000..e470e33218 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/sub/implicit_correct.md @@ -0,0 +1,10 @@ +# Implicit subscription validity test step fragment + +This test step fragment validates the time-bounds of an implicit subscription + +## 🛑 Implicit subscription has correct temporal parameters check + +If the implicit subscription time boundaries do not match the OIR's, either one, or both, of the following are possible: + +The DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../../requirements/astm/f3548/v21.md)**, as the implicit subscription does not cover the OIR's time boundaries; +Entities that should have been cleaned up earlier are still present in the DSS, and this scenario cannot proceed. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/sub/implicit_create.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/sub/implicit_create.md new file mode 100644 index 0000000000..f8450f1b22 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/sub/implicit_create.md @@ -0,0 +1,16 @@ +# Implicit subscription creation test step fragment + +This test step fragment validates that implicit subscriptions are created and can be queried, +and that they have the correct temporal parameters. + +## 🛑 An implicit subscription was created and can be queried check + +The creation of an operational intent which: + - requires an implicit subscription + - is within a geo-temporal volume for which the client has not yet established any subscription + +is expected to trigger the creation of a new implicit subscription. + +If the DSS does not create the implicit subscription, it is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../../requirements/astm/f3548/v21.md)**. + +## [Correct temporal parameters](implicit_correct.md) diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/oir_implicit_sub_handling.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/oir_implicit_sub_handling.md new file mode 100644 index 0000000000..45c6f14832 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/oir_implicit_sub_handling.md @@ -0,0 +1,190 @@ +# ASTM SCD DSS: Implicit Subscription handling test scenario + +## Overview + +Checks that implicit subscriptions are properly created, mutated and cleaned up. + +## Resources + +### dss + +[`DSSInstanceResource`](../../../../resources/astm/f3548/v21/dss.py) to be tested in this scenario. + +### id_generator + +[`IDGeneratorResource`](../../../../resources/interuss/id_generator.py) providing the Subscription IDs for this scenario. + +### planning_area + +[`PlanningAreaResource`](../../../../resources/astm/f3548/v21/planning_area.py) describes the 3D volume in which subscriptions will be created. + +### utm_client_identity + +[`ClientIdentityResource`](../../../../resources/communications/client_identity.py) provides the identity that will be used to interact with the DSS. + +## Setup test case + +### [Ensure clean workspace test step](clean_workspace.md) + +This step ensures that no OIRs with the known test IDs exists in the DSS. + +## Single OIR implicit subscription is removed upon OIR deletion test case + +### Create an OIR with implicit subscription test step + +This step creates an OIR with an implicit subscription and confirms that the subscription can be queried + +#### [Create OIR](./fragments/oir/crud/create_query.md) + +#### [Valid Implicit Subscription](./fragments/sub/implicit_create.md) + +### Delete the OIR with implicit subscription test step + +#### [Delete OIR](./fragments/oir/crud/delete.md) + +#### 🛑 The implicit subscription was removed check + +Upon deletion of an OIR that is associated to an implicit subscription, if the subscription has no other +associated OIRs, the DSS is expected to remove it. + +If a query attempting to fetch the implicit subscription succeeds, it implies that the implicit subscription has not +been removed, and the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)**. + +#### 🛑 After removal of the only created OIR, subscriptions should be as before its creation check + +If, after the DSS is left in the same state as it was 'found' for an area, the subscriptions currently active do not correspond to the ones +that were present when the test case started, the DSS may be failing to properly implement **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)** +or **[astm.f3548.v21.DSS0005,5](../../../../requirements/astm/f3548/v21.md)**. + +## Implicit subscriptions always properly cover their OIR test case + +This test case verifies that implicit subscriptions belonging to OIRs that are created, updated and deleted +are properly managed. + +In particular, the scenario verifies that: + - implicit subscriptions attached to an OIR always correctly cover the OIR after it was created or mutated; + - implicit subscriptions are properly removed when they are no longer necessary. + +### Create an OIR with implicit subscription test step + +Create an OIR with which interactions will be tested and request an implicit +subscription to be created. + +#### [Create OIR](./fragments/oir/crud/create_query.md) + +#### [Valid Implicit Subscription](./fragments/sub/implicit_create.md) + +### Create an overlapping OIR without any subscription test step + +This step creates an OIR in the `ACCEPTED` state that overlaps with the previously created OIR: +it does not request the creation of an implicit subscription and does not attach the OIR to any subscription explicitly. + +This step expects that the implicit subscription from the previously created OIR is mentioned in the response's notifications, +and that no new implicit subscription is created. + +#### [Create OIR](./fragments/oir/crud/create_query.md) + +#### 🛑 New OIR creation response contains previous implicit subscription to notify check + +If the newly created OIR does not mention the implicit subscription from the previous OIR in its notifications, +the DSS is either improperly managing implicit subscriptions, or failing to report the subscriptions relevant to an OIR, +and therefore in violation of **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)** or **[astm.f3548.v21.DSS0005,5](../../../../requirements/astm/f3548/v21.md)** respectively. + +#### 🛑 No implicit subscription was attached check + +If the DSS attached an implicit subscription, by either creating or re-using an existing one, to the OIR that was created in this step, +the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)**. + +### Mutate OIR with implicit subscription to not overlap anymore test step + +This step mutates the first OIR, which has an implicit subscription, to no longer overlap with the second OIR. + +The mutation request does not specify an existing subscription, and provides the parameters required for the creation of an implicit subscription. + +#### [Mutate OIR](./fragments/oir/crud/update_correct.md) + +#### 🛑 The implicit subscription can be queried check + +The implicit subscription attached to the mutated OIR should be able to be queried. + +If it cannot, the DSS is either improperly managing implicit subscriptions for OIRs, or failing to report the subscriptions relevant to an OIR, +in which case the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)** or **[astm.f3548.v21.DSS0005,5](../../../../requirements/astm/f3548/v21.md)**, respectively. + +#### [Correct temporal bounds](fragments/sub/implicit_correct.md) + +#### 🛑 Non-mutated implicit subscription is deleted check + +If the DSS chose to create a new implicit subscription instead of updating the existing one, and the DSS did not remove the previous subscription, +the DSS is in violation of either **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)** or **[astm.f3548.v21.DSS0005,5](../../../../requirements/astm/f3548/v21.md)**. + +### Create an OIR overlapping with the second OIR but not the first test step + +This step creates a new OIR that only overlaps the OIR that has no implicit subscription, +and expects to not have to notify any subscription related to the OIRs created in this scenario. + +#### [Create OIR](./fragments/oir/crud/create_query.md) + +#### 🛑 Within a temporal frame not overlapping a newly created implicit subscription, subscriptions should be the same as at the start of the test case check + +Within a geotemporal area that does not intersect with any of the implicit subscriptions that are left within the DSS, +the subscriptions returned for an OIR created within said area should correspond to the ones +that were present when the test case started. + +Otherwise, the DSS may be failing to properly implement **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)** +or **[astm.f3548.v21.DSS0005,5](../../../../requirements/astm/f3548/v21.md)**. + +#### 🛑 No implicit subscription was attached check + +If the DSS attached an implicit subscription, by either creating or re-using an existing one, to the OIR that was created in this step, +the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)**. + +## Implicit subscriptions are properly deleted when required by OIR mutation test case + +This test case verifies that implicit subscriptions are properly removed if they become unnecessary following the mutation of an OIR. + +### [Ensure clean workspace test step](clean_workspace.md) + +This test step resets the workspace for this test case. + +### Create two OIRs with implicit subscription test step + +Creates two OIRs with an implicit subscription, which will then be replaced by an explicitly created subscription +and deleted by an update that requests no subscription, respectively. + +#### [Create OIR](./fragments/oir/crud/create_query.md) + +#### [Valid Implicit Subscription](./fragments/sub/implicit_create.md) + +### Create a subscription test step + +This test step creates a subscription that will be used to replace the implicit subscription that was created for an OIR. + +#### [Create subscription](./fragments/sub/crud/create_query.md) + +Check creation succeeds and response is correct. + +### Update OIR with implicit subscription to use explicit subscription test step + +This step updates the OIR to use the subscription that was created in the previous step, +and expects the previous implicit subscription to be removed. + +#### [Mutate OIR](./fragments/oir/crud/update_query.md) + +#### 🛑 Previously attached implicit subscription was deleted check + +If the implicit subscription that was attached to the OIR is still present after the OIR is updated to use another subscription, +the DSS is failing to properly manage implicit subscriptions for OIRs, and is therefore in violation of **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)**. + +### Update OIR with implicit subscription to use no subscription test step + +This step updates the OIR to not use any subscription, and expects the implicit subscription to be removed. + +#### [Mutate OIR](./fragments/oir/crud/update_query.md) + +#### 🛑 Previously attached implicit subscription was deleted check + +If the implicit subscription that was attached to the OIR is still present after the OIR is updated to use another subscription, +the DSS is failing to properly manage implicit subscriptions for OIRs, and is therefore in violation of **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)**. + + +## [Cleanup](./clean_workspace.md) diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/oir_implicit_sub_handling.py b/monitoring/uss_qualifier/scenarios/astm/utm/dss/oir_implicit_sub_handling.py new file mode 100644 index 0000000000..3190082284 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/oir_implicit_sub_handling.py @@ -0,0 +1,661 @@ +from datetime import datetime, timedelta +from typing import Dict, List, Set, Optional, Tuple + +import arrow +from uas_standards.astm.f3548.v21.api import ( + Subscription, + SubscriptionID, + EntityID, + OperationalIntentReference, + OperationalIntentState, + SubscriberToNotify, +) +from uas_standards.astm.f3548.v21.constants import Scope + +from monitoring.monitorlib.fetch import QueryError, Query +from monitoring.monitorlib.geotemporal import Volume4D +from monitoring.prober.infrastructure import register_resource_type +from monitoring.uss_qualifier.resources.astm.f3548.v21 import PlanningAreaResource +from monitoring.uss_qualifier.resources.astm.f3548.v21.dss import ( + DSSInstanceResource, +) +from monitoring.uss_qualifier.resources.communications import ClientIdentityResource +from monitoring.uss_qualifier.resources.interuss.id_generator import IDGeneratorResource +from monitoring.uss_qualifier.scenarios.astm.utm.dss import test_step_fragments +from monitoring.uss_qualifier.scenarios.astm.utm.dss.fragments.sub.crud import ( + sub_create_query, +) +from monitoring.uss_qualifier.scenarios.scenario import ( + TestScenario, +) +from monitoring.uss_qualifier.suites.suite import ExecutionContext + +OIR_A_TYPE = register_resource_type(391, "OIR for implicit sub handling") +OIR_B_TYPE = register_resource_type(392, "OIR for implicit sub handling") +OIR_C_TYPE = register_resource_type(393, "OIR for implicit sub handling") +SUB_TYPE = register_resource_type(394, "Subscription for implicit sub handling") + +TIME_TOLERANCE_SEC = 1 + +# A scenario-specific base URL which will be used to easily identify the qualifier's subscriptions +DUMMY_BASE_URL = "example.interuss.org/uss_base_oir_implicit_sub_handling" + + +class OIRImplicitSubHandling(TestScenario): + """ + A scenario that tests that a DSS properly handles the creation and mutation of implicit subscriptions + """ + + # TODO additional improvements: + # - check the handling of the implicit subscription when, on mutation, the implicit subscription + # is specified. + # - update and don't mention anything (ie, no subscription ID and not implicit sub creation params) + # - test what happens if ACCEPTED -> either implicit sub removal or mutation + # - update and mention the existing implicit sub -> expect to mutate the sub + + # Identifiers for the test OIRs + _oir_a_id: str + _oir_b_id: str + _oir_c_id: str + + _sub_id: str + + _oir_a_ovn: Optional[str] + _oir_b_ovn: Optional[str] + + _current_subs: Dict[SubscriptionID, Subscription] + _current_oirs: Dict[EntityID, OperationalIntentReference] + + # Reference times for the subscriptions and operational intents + _time_0: datetime + _time_1: datetime + _time_2: datetime + _time_3: datetime + + _manager: str + + # Keeps track of existing subscriptions in the planning area + _initial_subscribers: List[SubscriberToNotify] + _implicit_sub_1: Optional[Subscription] + _implicit_sub_2: Optional[Subscription] + _explicit_sub: Optional[Subscription] + + def __init__( + self, + dss: DSSInstanceResource, + id_generator: IDGeneratorResource, + planning_area: PlanningAreaResource, + utm_client_identity: ClientIdentityResource, + ): + """ + Args: + dss: primary dss to test + id_generator: will let us generate specific identifiers + planning_area: An Area to use for the tests. It should be an area for which the DSS is responsible, + but has no other requirements. + """ + super().__init__() + scopes = { + Scope.StrategicCoordination: "create and delete operational intents with implicit subscriptions" + } + self._dss = dss.get_instance(scopes) + self._pid = [self._dss.participant_id] + self._planning_area = planning_area.specification + + self._oir_a_id = id_generator.id_factory.make_id(OIR_A_TYPE) + self._oir_b_id = id_generator.id_factory.make_id(OIR_B_TYPE) + self._oir_c_id = id_generator.id_factory.make_id(OIR_C_TYPE) + self._sub_id = id_generator.id_factory.make_id(SUB_TYPE) + + self._manager = utm_client_identity.subject() + + def run(self, context: ExecutionContext): + self.begin_test_scenario(context) + self.begin_test_case("Setup") + self._setup_case() + self.end_test_case() + + self.begin_test_case( + "Single OIR implicit subscription is removed upon OIR deletion" + ) + self.begin_test_step("Create an OIR with implicit subscription") + self._case_1_step_create_oir_1() + self.end_test_step() + + self.begin_test_step("Delete the OIR with implicit subscription") + self._case_1_step_delete_single_oir() + self.end_test_step() + self.end_test_case() + + self.begin_test_case("Implicit subscriptions always properly cover their OIR") + + self.begin_test_step("Create an OIR with implicit subscription") + self._case_2_step_create_oir_1() + self.end_test_step() + + self.begin_test_step("Create an overlapping OIR without any subscription") + self._case_2_step_create_overlapping_oir_no_sub() + self.end_test_step() + + self.begin_test_step( + "Mutate OIR with implicit subscription to not overlap anymore" + ) + self._case_2_step_mutate_oir_with_implicit_sub_specify_implicit_params() + self.end_test_step() + + self.begin_test_step( + "Create an OIR overlapping with the second OIR but not the first" + ) + self._case_2_step_create_oir_2() + self.end_test_step() + self.end_test_case() + + self.begin_test_case( + "Implicit subscriptions are properly deleted when required by OIR mutation" + ) + self._setup_case() + self.begin_test_step("Create two OIRs with implicit subscription") + self._case_3_create_oirs_with_implicit_sub() + self.end_test_step() + + self.begin_test_step("Create a subscription") + self._case_3_step_create_sub() + self.end_test_step() + + self.begin_test_step( + "Update OIR with implicit subscription to use explicit subscription" + ) + self._case_3_update_oir_with_explicit_sub() + self.end_test_step() + + self.begin_test_step( + "Update OIR with implicit subscription to use no subscription" + ) + self._case_3_update_oir_with_no_sub() + self.end_test_step() + + self.end_test_case() + + self.end_test_scenario() + + """ + +Create OI3 in DSS from t2 to t3, confirm no subscriptions beyond pre-existing subscriptions in step 2 are among subscribers +Clean up + """ + + def _case_1_step_create_oir_1(self): + oir, subs, impl_sub, _ = self._create_oir( + self._oir_a_id, self._time_2, self._time_3, [], True + ) + + # We filter out the created implicit subscription from the list of subscribers to notify + self._initial_subscribers = [ + sub for sub in subs if sub.uss_base_url != DUMMY_BASE_URL + ] + self._oir_a_ovn = oir.ovn + self._implicit_sub_1 = impl_sub + + def _case_2_step_create_oir_1(self): + oir, subs, impl_sub, _ = self._create_oir( + self._oir_b_id, self._time_0, self._time_3, [], True + ) + + # TODO as a sanity check, confirm that subs don't contain a dangling implicit sub from the previous step + self._oir_b_ovn = oir.ovn + self._implicit_sub_2 = impl_sub + + def _case_2_step_create_overlapping_oir_no_sub(self): + oir, subs, _, _ = self._create_oir( + self._oir_c_id, self._time_2, self._time_3, [self._oir_b_ovn], False + ) + + with self.check( + "New OIR creation response contains previous implicit subscription to notify" + ) as check: + if self._implicit_sub_2.id not in to_sub_ids(subs): + check.record_failed( + summary="Previous implicit subscription not found in subscribers to notify", + details=f"The subscription {self._implicit_sub_2.id} was not found among the subscribers of the new OIR: {subs}", + ) + + self._oir_c_ovn = oir.ovn + + def _case_2_step_mutate_oir_with_implicit_sub_specify_implicit_params(self): + # Mutate the OIR with an implicit sub but don't mention the existing sub and + # don't request an implicit sub. + with self.check( + "Mutate operational intent reference query succeeds", self._pid + ) as check: + try: + oir, subs, q = self._dss.put_op_intent( + extents=[ + self._planning_area.get_volume4d( + self._time_0, self._time_1 + ).to_f3548v21() + ], + key=[], + state=OperationalIntentState.Accepted, + base_url=DUMMY_BASE_URL, + oi_id=self._oir_b_id, + ovn=self._oir_b_ovn, + # We want to observe the behavior if the request to the DSS + # contains the implicit sub params (default when subscription_id is None) + subscription_id=None, + ) + self.record_query(q) + except QueryError as e: + self.record_queries(e.queries) + check.record_failed( + summary="OIR Creation failed", + details=str(e), + query_timestamps=e.query_timestamps, + ) + + with self.check("The implicit subscription can be queried", self._pid) as check: + sub = self._dss.get_subscription(oir.subscription_id) + self.record_query(sub) + if not sub.success: + check.record_failed( + summary="Subscription query failed", + details=f"Failed to query subscription {oir.subscription_id} with code {sub.response.status_code}. Message: {sub.error_message}", + query_timestamps=sub.query_timestamps, + ) + + # Also check that the subscription parameters match the temporality of the OIR: + with self.check( + "Implicit subscription has correct temporal parameters", self._pid + ) as check: + if ( + abs( + sub.subscription.time_start.value.datetime - self._time_0 + ).total_seconds() + > TIME_TOLERANCE_SEC + ): + check.record_failed( + summary="Subscription time_start does not match OIR", + details=f"Subscription time_start is {sub.subscription.time_start.value.datetime}, expected {self._time_0}", + query_timestamps=[sub.request.timestamp], + ) + if ( + abs( + sub.subscription.time_end.value.datetime - self._time_1 + ).total_seconds() + > TIME_TOLERANCE_SEC + ): + check.record_failed( + summary="Subscription time_end does not match OIR", + details=f"Subscription time_end is {sub.subscription.time_end.value.datetime}, expected {self._time_0}", + query_timestamps=[sub.request.timestamp], + ) + + if sub.subscription.id != self._implicit_sub_2.id: + # Mutation caused the creation of a new implicit subscription: + # Need to confirm that the old implicit subscription was removed + + with self.check( + "Non-mutated implicit subscription is deleted", self._pid + ) as check: + sub_exp_fail = self._dss.get_subscription(self._implicit_sub_2.id) + self.record_query(sub_exp_fail) + if sub_exp_fail.status_code != 404: + check.record_failed( + summary="Previous implicit subscription still exists", + details=f"Subscription {self._implicit_sub_2.id} was not deleted after the OIR it was attached to was mutated and attached to a new implicit subscription.", + query_timestamps=[sub_exp_fail.request.timestamp], + ) + + def _case_2_step_create_oir_2(self): + + oir, subs, _, q = self._create_oir( + self._oir_a_id, self._time_2, self._time_3, [self._oir_c_ovn], False + ) + + self._oir_a_ovn = oir.ovn + + with self.check( + "Within a temporal frame not overlapping a newly created implicit subscription, subscriptions should be the same as at the start of the test case", + self._pid, + ) as check: + if to_sub_ids(subs) != to_sub_ids(self._initial_subscribers): + check.record_failed( + summary="Subscriptions not left as before", + details=f"Subscription outside of remaining implicit subscriptions {subs} are not the same as the initial subscriptions: {self._initial_subscribers}", + query_timestamps=[q.request.timestamp], + ) + + def _create_oir( + self, oir_id, time_start, time_end, relevant_ovns, with_implicit_sub + ) -> Tuple[ + OperationalIntentReference, + List[SubscriberToNotify], + Optional[Subscription], + Query, + ]: + """ + + Args: + oir_id: Identifier for the OIR + time_start: when the OIR starts + time_end: when the OIR ends + with_implicit_sub: if true, an implicit subscription will be created. + + Returns: + A triple of: + - the created OIR + - a list of subscribers that need to be notified + - the implicit subscription that was created, if it was requested + + """ + + with self.check( + "Create operational intent reference query succeeds", self._pid + ) as check: + try: + oir, subs, oir_q = self._dss.put_op_intent( + extents=[ + self._planning_area.get_volume4d( + time_start, time_end + ).to_f3548v21() + ], + key=relevant_ovns, + state=OperationalIntentState.Accepted, + base_url=DUMMY_BASE_URL, + oi_id=oir_id, + ovn=None, + subscription_id=None, + force_no_implicit_subscription=not with_implicit_sub, + ) + self.record_query(oir_q) + except QueryError as e: + self.record_queries(e.queries) + check.record_failed( + summary="OIR Creation failed", + details=str(e), + query_timestamps=e.query_timestamps, + ) + + implicit_sub = None + if with_implicit_sub: + with self.check( + "An implicit subscription was created and can be queried", self._pid + ) as check: + sub = self._dss.get_subscription(oir.subscription_id) + self.record_query(sub) + if not sub.success: + check.record_failed( + summary="Subscription query failed", + details=f"Failed to query subscription {oir.subscription_id} with code {sub.response.status_code}. Message: {sub.error_message}", + query_timestamps=sub.query_timestamps, + ) + + # Also check that the subscription parameters match the temporality of the OIR: + # If we have issues because of dangling subscriptions this can help us identify the issue + with self.check( + "Implicit subscription has correct temporal parameters", self._pid + ) as check: + if ( + abs( + sub.subscription.time_start.value.datetime - time_start + ).total_seconds() + > TIME_TOLERANCE_SEC + ): + check.record_failed( + summary="Subscription time_start does not match OIR", + details=f"Subscription time_start is {sub.subscription.time_start.value.datetime}, expected {time_start}", + query_timestamps=[sub.request.timestamp], + ) + if ( + abs( + sub.subscription.time_end.value.datetime - time_end + ).total_seconds() + > TIME_TOLERANCE_SEC + ): + check.record_failed( + summary="Subscription time_end does not match OIR", + details=f"Subscription time_end is {sub.subscription.time_end.value.datetime}, expected {time_end}", + query_timestamps=[sub.request.timestamp], + ) + implicit_sub = sub.subscription + else: + with self.check( + "No implicit subscription was attached", self._pid + ) as check: + # The official DSS implementation will set the subscription ID to 00000000-0000-4000-8000-000000000000 + # Other implementations may use a different value, as the OpenAPI spec does not allow the value to be empty + # We may at some point decide to tolerate accepting empty returned values here, + # but in the meantime we simply attempt to obtain the subscription and check that it does not exist + sub = self._dss.get_subscription(oir.subscription_id) + self.record_query(sub) + if sub.status_code != 404: + check.record_failed( + summary="Implicit subscription was created", + details=f"Subscription {oir.subscription_id} was created when it was not expected to be.", + query_timestamps=[sub.request.timestamp], + ) + + implicit_sub = None + + return oir, subs, implicit_sub, oir_q + + def _case_1_step_delete_single_oir(self): + + with self.check( + "Delete operational intent reference query succeeds", self._pid + ) as check: + try: + deleted_oir, subs, q = self._dss.delete_op_intent( + self._oir_a_id, self._oir_a_ovn + ) + self.record_query(q) + except QueryError as e: + self.record_queries(e.queries) + check.record_failed( + summary="OIR Deletion failed", + details=str(e), + query_timestamps=e.query_timestamps, + ) + + with self.check("The implicit subscription was removed", self._pid) as check: + non_existing_sub = self._dss.get_subscription(self._implicit_sub_1.id) + self.record_query(non_existing_sub) + # non_existing_sub.success will return true on a 404 + if not non_existing_sub.errors and non_existing_sub.status_code != 404: + check.record_failed( + summary="Subscription still exists", + details=f"Subscription {self._implicit_sub_1.id} is still returned, while it was expected to not be found.", + query_timestamps=[non_existing_sub.request.timestamp], + ) + elif non_existing_sub.status_code != 404: + check.record_failed( + summary=f"Unexpected error code: {non_existing_sub.response.status_code}", + details=f"Querying subscription {self._implicit_sub_1.subscription_id}, which is not expected to exist, should result in an HTTP 404 error. Got {non_existing_sub.response.status_code} instead.", + query_timestamps=[non_existing_sub.request.timestamp], + ) + + self._implicit_sub_1 = None + + with self.check( + "After removal of the only created OIR, subscriptions should be as before its creation", + self._pid, + ) as check: + no_self_subs = [sub for sub in subs if sub.uss_base_url != DUMMY_BASE_URL] + if to_sub_ids(no_self_subs) != to_sub_ids(self._initial_subscribers): + check.record_failed( + summary="Subscriptions not left as before", + details=f"Subscriptions after the OIR with implicit subscription was deleted: {subs} are not the same as the initial subscriptions: {self._initial_subscribers}", + query_timestamps=[non_existing_sub.request.timestamp], + ) + + def _case_3_create_oirs_with_implicit_sub(self): + oir_a, _, impl_sub_1, _ = self._create_oir( + self._oir_a_id, self._time_0, self._time_1, [], True + ) + + self._oir_a_ovn = oir_a.ovn + self._implicit_sub_1 = impl_sub_1 + + oir_b, _, impl_sub_2, _ = self._create_oir( + self._oir_b_id, self._time_2, self._time_3, [], True + ) + + self._oir_b_ovn = oir_b.ovn + self._implicit_sub_2 = impl_sub_2 + + def _case_3_step_create_sub(self): + self._explicit_sub, _, _ = sub_create_query( + self, + self._dss, + self._planning_area.get_new_subscription_params( + self._sub_id, + self._time_0, + self._time_1 - self._time_0, + notify_for_op_intents=True, + notify_for_constraints=False, + ), + ) + + def _case_3_update_oir_with_explicit_sub(self): + # Set the OIR's subscription to the explicit subscription we created + with self.check( + "Mutate operational intent reference query succeeds", self._pid + ) as check: + try: + oir, subs, q = self._dss.put_op_intent( + extents=[ + self._planning_area.get_volume4d( + self._time_0, self._time_1 + ).to_f3548v21() + ], + key=[], + state=OperationalIntentState.Accepted, + base_url=DUMMY_BASE_URL, + oi_id=self._oir_a_id, + ovn=self._oir_a_ovn, + # We want to observe the behavior if the request to the DSS + # contains the implicit sub params (default when subscription_id is None) + subscription_id=self._explicit_sub.id, + ) + self.record_query(q) + except QueryError as e: + self.record_queries(e.queries) + check.record_failed( + summary="OIR Creation failed", + details=str(e), + query_timestamps=e.query_timestamps, + ) + + self._oir_a_ovn = oir.ovn + + # Now check that the previously attached implicit subscription is not present anymore + with self.check( + "Previously attached implicit subscription was deleted", self._pid + ) as check: + sub_exp_fail = self._dss.get_subscription(self._implicit_sub_1.id) + self.record_query(sub_exp_fail) + if sub_exp_fail.status_code != 404: + check.record_failed( + summary="Previous implicit subscription still exists", + details=f"Subscription {self._implicit_sub_1.id} was not deleted after the OIR it was attached to was mutated and attached to an explicitly created subscription.", + query_timestamps=[sub_exp_fail.request.timestamp], + ) + + def _case_3_update_oir_with_no_sub(self): + # Mutate the OIR so it has no more subscription + with self.check( + "Mutate operational intent reference query succeeds", self._pid + ) as check: + try: + oir, subs, q = self._dss.put_op_intent( + extents=[ + self._planning_area.get_volume4d( + self._time_2, self._time_3 + ).to_f3548v21() + ], + key=[], + state=OperationalIntentState.Accepted, + base_url=DUMMY_BASE_URL, + oi_id=self._oir_b_id, + ovn=self._oir_b_ovn, + force_no_implicit_subscription=True, + ) + self.record_query(q) + except QueryError as e: + self.record_queries(e.queries) + check.record_failed( + summary="OIR Creation failed", + details=str(e), + query_timestamps=e.query_timestamps, + ) + + self._oir_b_ovn = oir.ovn + + # Now check that the previously attached implicit subscription is not present anymore + with self.check( + "Previously attached implicit subscription was deleted", self._pid + ) as check: + sub_exp_fail = self._dss.get_subscription(self._implicit_sub_2.id) + self.record_query(sub_exp_fail) + if sub_exp_fail.status_code != 404: + check.record_failed( + summary="Previous implicit subscription still exists", + details=f"Subscription {self._implicit_sub_2.id} was not deleted after the OIR it was attached to was mutated to not have a subscription anymore.", + query_timestamps=[sub_exp_fail.request.timestamp], + ) + + def _setup_case(self): + # T0 corresponds to 'now' + self._time_0 = arrow.utcnow().datetime + + # T1, T2 and T3 are chronologically ordered and relatively far from T0 + self._time_1 = self._time_0 + timedelta(hours=20) + self._time_2 = self._time_1 + timedelta(hours=1) + self._time_3 = self._time_2 + timedelta(hours=1) + + self._ensure_clean_workspace_step() + + self._oir_a_ovn = None + self._oir_b_ovn = None + self._oir_c_ovn = None + + self._initial_subscribers = [] + self._implicit_sub_1 = None + self._implicit_sub_2 = None + self._explicit_sub = None + + def _ensure_clean_workspace_step(self): + self.begin_test_step("Ensure clean workspace") + self._clean_workspace() + self.end_test_step() + + def _clean_workspace(self): + extents = Volume4D(volume=self._planning_area.volume) + test_step_fragments.cleanup_active_oirs( + self, + self._dss, + extents, + self._manager, + ) + for oir_id in [self._oir_a_id, self._oir_b_id, self._oir_c_id]: + test_step_fragments.cleanup_op_intent(self, self._dss, oir_id) + test_step_fragments.cleanup_active_subs( + self, + self._dss, + extents, + ) + test_step_fragments.cleanup_sub(self, self._dss, self._sub_id) + + def cleanup(self): + self.begin_cleanup() + self._clean_workspace() + self.end_cleanup() + + +def to_sub_ids(subscribers: List[SubscriberToNotify]) -> Set[SubscriptionID]: + """Flatten the passed list of subscribers to notify to a set of subscription IDs""" + sub_ids = set() + for subscriber in subscribers: + for subscription in subscriber.subscriptions: + sub_ids.add(subscription.subscription_id) + + return sub_ids diff --git a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md index 414970d6a1..87bb2c38e9 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md @@ -4,22 +4,23 @@ ## [Actions](../../README.md#actions) -1. Scenario: [ASTM SCD DSS: Operational Intent Reference Simple](../../../scenarios/astm/utm/dss/op_intent_ref_simple.md) ([`scenarios.astm.utm.dss.OIRSimple`](../../../scenarios/astm/utm/dss/op_intent_ref_simple.py)) -2. Scenario: [ASTM SCD DSS: Constraint Reference Synchronization](../../../scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.CRSynchronization`](../../../scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.py)) -3. Scenario: [ASTM SCD DSS: USS Availability Synchronization](../../../scenarios/astm/utm/dss/synchronization/uss_availability_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.USSAvailabilitySynchronization`](../../../scenarios/astm/utm/dss/synchronization/uss_availability_synchronization.py)) -4. Scenario: [ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions](../../../scenarios/astm/utm/dss/op_intent_ref_state_transitions.md) ([`scenarios.astm.utm.dss.OpIntentReferenceStateTransitions`](../../../scenarios/astm/utm/dss/op_intent_ref_state_transitions.py)) -5. Scenario: [ASTM SCD DSS: Subscription and entity deletion interaction](../../../scenarios/astm/utm/dss/subscription_interactions_deletion.md) ([`scenarios.astm.utm.dss.SubscriptionInteractionsDeletion`](../../../scenarios/astm/utm/dss/subscription_interactions_deletion.py)) -6. Scenario: [ASTM SCD DSS: Subscription and entity interaction](../../../scenarios/astm/utm/dss/subscription_interactions.md) ([`scenarios.astm.utm.dss.SubscriptionInteractions`](../../../scenarios/astm/utm/dss/subscription_interactions.py)) -7. Scenario: [ASTM SCD DSS: Operational Intent Reference Key Validation](../../../scenarios/astm/utm/dss/op_intent_ref_key_validation.md) ([`scenarios.astm.utm.dss.OIRKeyValidation`](../../../scenarios/astm/utm/dss/op_intent_ref_key_validation.py)) -8. Scenario: [ASTM SCD DSS: Operational Intent Reference Synchronization](../../../scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.OIRSynchronization`](../../../scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.py)) -9. Scenario: [ASTM SCD DSS: Interfaces authentication](../../../scenarios/astm/utm/dss/authentication/authentication_validation.md) ([`scenarios.astm.utm.dss.authentication.AuthenticationValidation`](../../../scenarios/astm/utm/dss/authentication/authentication_validation.py)) -10. Scenario: [ASTM SCD DSS: Subscription Simple](../../../scenarios/astm/utm/dss/subscription_simple.md) ([`scenarios.astm.utm.dss.SubscriptionSimple`](../../../scenarios/astm/utm/dss/subscription_simple.py)) -11. Scenario: [ASTM SCD DSS: Subscription Validation](../../../scenarios/astm/utm/dss/subscription_validation.md) ([`scenarios.astm.utm.dss.SubscriptionValidation`](../../../scenarios/astm/utm/dss/subscription_validation.py)) -12. Scenario: [ASTM F3548-21 UTM DSS Operational Intent Reference Access Control](../../../scenarios/astm/utm/dss/op_intent_ref_access_control.md) ([`scenarios.astm.utm.dss.OpIntentReferenceAccessControl`](../../../scenarios/astm/utm/dss/op_intent_ref_access_control.py)) -13. Scenario: [ASTM F3548-21 UTM DSS interoperability](../../../scenarios/astm/utm/dss/dss_interoperability.md) ([`scenarios.astm.utm.dss.DSSInteroperability`](../../../scenarios/astm/utm/dss/dss_interoperability.py)) -14. Scenario: [ASTM SCD DSS: Subscription Synchronization](../../../scenarios/astm/utm/dss/synchronization/subscription_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.SubscriptionSynchronization`](../../../scenarios/astm/utm/dss/synchronization/subscription_synchronization.py)) -15. Scenario: [ASTM UTM DSS: Direct CRDB access](../../../scenarios/astm/utm/dss/crdb_access.md) ([`scenarios.astm.utm.dss.CRDBAccess`](../../../scenarios/astm/utm/dss/crdb_access.py)) -16. Scenario: [ASTM SCD DSS: Report](../../../scenarios/astm/utm/dss/report.md) ([`scenarios.astm.utm.dss.Report`](../../../scenarios/astm/utm/dss/report.py)) +1. Scenario: [ASTM SCD DSS: Implicit Subscription handling](../../../scenarios/astm/utm/dss/oir_implicit_sub_handling.md) ([`scenarios.astm.utm.dss.OIRImplicitSubHandling`](../../../scenarios/astm/utm/dss/oir_implicit_sub_handling.py)) +2. Scenario: [ASTM SCD DSS: Operational Intent Reference Simple](../../../scenarios/astm/utm/dss/op_intent_ref_simple.md) ([`scenarios.astm.utm.dss.OIRSimple`](../../../scenarios/astm/utm/dss/op_intent_ref_simple.py)) +3. Scenario: [ASTM SCD DSS: Constraint Reference Synchronization](../../../scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.CRSynchronization`](../../../scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.py)) +4. Scenario: [ASTM SCD DSS: USS Availability Synchronization](../../../scenarios/astm/utm/dss/synchronization/uss_availability_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.USSAvailabilitySynchronization`](../../../scenarios/astm/utm/dss/synchronization/uss_availability_synchronization.py)) +5. Scenario: [ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions](../../../scenarios/astm/utm/dss/op_intent_ref_state_transitions.md) ([`scenarios.astm.utm.dss.OpIntentReferenceStateTransitions`](../../../scenarios/astm/utm/dss/op_intent_ref_state_transitions.py)) +6. Scenario: [ASTM SCD DSS: Subscription and entity deletion interaction](../../../scenarios/astm/utm/dss/subscription_interactions_deletion.md) ([`scenarios.astm.utm.dss.SubscriptionInteractionsDeletion`](../../../scenarios/astm/utm/dss/subscription_interactions_deletion.py)) +7. Scenario: [ASTM SCD DSS: Subscription and entity interaction](../../../scenarios/astm/utm/dss/subscription_interactions.md) ([`scenarios.astm.utm.dss.SubscriptionInteractions`](../../../scenarios/astm/utm/dss/subscription_interactions.py)) +8. Scenario: [ASTM SCD DSS: Operational Intent Reference Key Validation](../../../scenarios/astm/utm/dss/op_intent_ref_key_validation.md) ([`scenarios.astm.utm.dss.OIRKeyValidation`](../../../scenarios/astm/utm/dss/op_intent_ref_key_validation.py)) +9. Scenario: [ASTM SCD DSS: Operational Intent Reference Synchronization](../../../scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.OIRSynchronization`](../../../scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.py)) +10. Scenario: [ASTM SCD DSS: Interfaces authentication](../../../scenarios/astm/utm/dss/authentication/authentication_validation.md) ([`scenarios.astm.utm.dss.authentication.AuthenticationValidation`](../../../scenarios/astm/utm/dss/authentication/authentication_validation.py)) +11. Scenario: [ASTM SCD DSS: Subscription Simple](../../../scenarios/astm/utm/dss/subscription_simple.md) ([`scenarios.astm.utm.dss.SubscriptionSimple`](../../../scenarios/astm/utm/dss/subscription_simple.py)) +12. Scenario: [ASTM SCD DSS: Subscription Validation](../../../scenarios/astm/utm/dss/subscription_validation.md) ([`scenarios.astm.utm.dss.SubscriptionValidation`](../../../scenarios/astm/utm/dss/subscription_validation.py)) +13. Scenario: [ASTM F3548-21 UTM DSS Operational Intent Reference Access Control](../../../scenarios/astm/utm/dss/op_intent_ref_access_control.md) ([`scenarios.astm.utm.dss.OpIntentReferenceAccessControl`](../../../scenarios/astm/utm/dss/op_intent_ref_access_control.py)) +14. Scenario: [ASTM F3548-21 UTM DSS interoperability](../../../scenarios/astm/utm/dss/dss_interoperability.md) ([`scenarios.astm.utm.dss.DSSInteroperability`](../../../scenarios/astm/utm/dss/dss_interoperability.py)) +15. Scenario: [ASTM SCD DSS: Subscription Synchronization](../../../scenarios/astm/utm/dss/synchronization/subscription_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.SubscriptionSynchronization`](../../../scenarios/astm/utm/dss/synchronization/subscription_synchronization.py)) +16. Scenario: [ASTM UTM DSS: Direct CRDB access](../../../scenarios/astm/utm/dss/crdb_access.md) ([`scenarios.astm.utm.dss.CRDBAccess`](../../../scenarios/astm/utm/dss/crdb_access.py)) +17. Scenario: [ASTM SCD DSS: Report](../../../scenarios/astm/utm/dss/report.md) ([`scenarios.astm.utm.dss.Report`](../../../scenarios/astm/utm/dss/report.py)) ## [Checked requirements](../../README.md#checked-requirements) @@ -34,27 +35,27 @@ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,2 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,3 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,4 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,5 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0015 diff --git a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.yaml b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.yaml index 4744e93a82..51ebd29b5d 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.yaml +++ b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.yaml @@ -11,6 +11,13 @@ resources: problematically_big_area: resources.VerticesResource test_exclusions: resources.dev.TestExclusionsResource? actions: + - test_scenario: + scenario_type: scenarios.astm.utm.dss.OIRImplicitSubHandling + resources: + dss: dss + id_generator: id_generator + planning_area: planning_area + utm_client_identity: utm_client_identity - test_scenario: scenario_type: scenarios.astm.utm.dss.OIRSimple resources: diff --git a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md index 342c2c882d..24964a7996 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md +++ b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md @@ -41,27 +41,27 @@ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path DSS0005,2 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path
Validation of operational intents + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path
Validation of operational intents DSS0005,3 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,4 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,5 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0015 diff --git a/monitoring/uss_qualifier/suites/faa/uft/message_signing.md b/monitoring/uss_qualifier/suites/faa/uft/message_signing.md index 7675492d04..70c5583b51 100644 --- a/monitoring/uss_qualifier/suites/faa/uft/message_signing.md +++ b/monitoring/uss_qualifier/suites/faa/uft/message_signing.md @@ -21,27 +21,27 @@ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path DSS0005,2 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path
Validation of operational intents + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path
Validation of operational intents DSS0005,3 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,4 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,5 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0015 diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index 2689f57ff5..b3adc65b36 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -411,27 +411,27 @@ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,2 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,3 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,4 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,5 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0015 diff --git a/monitoring/uss_qualifier/suites/uspace/flight_auth.md b/monitoring/uss_qualifier/suites/uspace/flight_auth.md index 7093bb21b7..a69cb1d6f3 100644 --- a/monitoring/uss_qualifier/suites/uspace/flight_auth.md +++ b/monitoring/uss_qualifier/suites/uspace/flight_auth.md @@ -22,27 +22,27 @@ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path DSS0005,2 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path
Validation of operational intents + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path
Validation of operational intents DSS0005,3 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,4 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,5 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0015 diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md index ab2c74a109..38c9dc3183 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.md +++ b/monitoring/uss_qualifier/suites/uspace/required_services.md @@ -457,27 +457,27 @@ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path DSS0005,2 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path
Validation of operational intents + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Solo happy path
Validation of operational intents DSS0005,3 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,4 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0005,5 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Implicit Subscription handling
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Simple
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction DSS0015