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 0a5b394d5a..165db1152a 100644
--- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/__init__.py
+++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/__init__.py
@@ -10,3 +10,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..6c322888df
--- /dev/null
+++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/sub/implicit_correct.md
@@ -0,0 +1,8 @@
+# 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 cover the OIR's,
+the DSS is in violation of **[astm.f3548.v21.DSS0005,1](../../../../../../requirements/astm/f3548/v21.md)**.
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 66b99255be..8784916439 100644
--- a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md
+++ b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md
@@ -4,23 +4,24 @@
## [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 Simple](../../../scenarios/astm/utm/dss/constraint_ref_simple.md) ([`scenarios.astm.utm.dss.CRSimple`](../../../scenarios/astm/utm/dss/constraint_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))
+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 Simple](../../../scenarios/astm/utm/dss/constraint_ref_simple.md) ([`scenarios.astm.utm.dss.CRSimple`](../../../scenarios/astm/utm/dss/constraint_ref_simple.py))
+4. 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))
+5. 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))
+6. 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))
+7. 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))
+8. 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))
+9. 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))
+10. 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))
+11. 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))
+12. 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))
+13. 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))
+14. 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))
+15. 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))
+16. 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))
+17. 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))
+18. 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)
@@ -35,27 +36,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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 ecdf163e63..d0045a6a22 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 d132355ecd..d0922c0bff 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 204cae4737..e4f52df0de 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 589d0a4770..3f8915e3d1 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 add365c88d..b3d9fa4bc0 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 b60b6a5741..4e201b2411 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 Simple 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 |