diff --git a/monitoring/uss_qualifier/configurations/dev/dss_probing.yaml b/monitoring/uss_qualifier/configurations/dev/dss_probing.yaml index 2d8639fbca..d194360ac7 100644 --- a/monitoring/uss_qualifier/configurations/dev/dss_probing.yaml +++ b/monitoring/uss_qualifier/configurations/dev/dss_probing.yaml @@ -7,13 +7,16 @@ v1: kentland_problematically_big_area: { $ref: 'library/resources.yaml#/kentland_problematically_big_area' } utm_auth: { $ref: 'library/environment.yaml#/utm_auth' } + second_utm_auth: {$ref: 'library/environment.yaml#/second_utm_auth'} utm_client_identity: { $ref: 'library/resources.yaml#/utm_client_identity' } id_generator: { $ref: 'library/resources.yaml#/id_generator' } scd_dss_instances: { $ref: 'library/environment.yaml#/scd_dss_instances' } netrid_dss_instances_v22a: { $ref: 'library/environment.yaml#/netrid_dss_instances_v22a' } netrid_dss_instances_v19: { $ref: 'library/environment.yaml#/netrid_dss_instances_v19' } + che_non_conflicting_flights: {$ref: 'library/resources.yaml#/che_non_conflicting_flights'} non_baseline_inputs: - v1.test_run.resources.resource_declarations.utm_auth + - v1.test_run.resources.resource_declarations.second_utm_auth - v1.test_run.resources.resource_declarations.scd_dss_instances - v1.test_run.resources.resource_declarations.netrid_dss_instances_v22a - v1.test_run.resources.resource_declarations.netrid_dss_instances_v19 @@ -23,10 +26,13 @@ v1: resources: f3411v19_dss_instances: netrid_dss_instances_v19 f3411v22a_dss_instances: netrid_dss_instances_v22a + f3548v21_dss_instances: scd_dss_instances utm_client_identity: utm_client_identity id_generator: id_generator service_area: kentland_service_area problematically_big_area: kentland_problematically_big_area + second_utm_auth: second_utm_auth + flight_intents: che_non_conflicting_flights execution: stop_fast: true artifacts: @@ -41,6 +47,7 @@ v1: - requirement_sets: - astm.f3411.v22a.dss_provider - astm.f3411.v19.dss_provider + - astm.f3548.v21.dss_provider participant_requirements: uss1: all_astm_dss_requirements uss2: all_astm_dss_requirements diff --git a/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml b/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml index fdf8365ab8..f147713bde 100644 --- a/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml +++ b/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml @@ -183,6 +183,7 @@ v1: requirement_collections: - requirement_sets: - astm.f3548.v21.scd + - astm.f3548.v21.dss_provider participant_requirements: uss1: scd uss2: scd diff --git a/monitoring/uss_qualifier/configurations/dev/uspace.yaml b/monitoring/uss_qualifier/configurations/dev/uspace.yaml index 69247f0396..0cc51bf68b 100644 --- a/monitoring/uss_qualifier/configurations/dev/uspace.yaml +++ b/monitoring/uss_qualifier/configurations/dev/uspace.yaml @@ -127,6 +127,7 @@ v1: - astm.f3411.v22a.display_provider#Operator Position transmitter - astm.f3411.v22a.dss_provider - astm.f3548.v21.scd#Automated verification + - astm.f3548.v21.dss_provider - requirements: - uspace.article8.MSLAltitude participant_requirements: diff --git a/monitoring/uss_qualifier/requirements/astm/f3548/v21.md b/monitoring/uss_qualifier/requirements/astm/f3548/v21.md index 79744b43f8..a7aefa15ed 100644 --- a/monitoring/uss_qualifier/requirements/astm/f3548/v21.md +++ b/monitoring/uss_qualifier/requirements/astm/f3548/v21.md @@ -162,3 +162,13 @@ For information on these requirements, refer to [the ASTM standard F3548-21](htt * DSS0210 * DSS0215 * DSS0300 + +Elaboration on testing methods for DSS0210 in section A2.7.2 implies the following requirements: + +1. *createOperationalIntentReference, updateOperationalIntentReference, createConstraintReference, updateConstraintReference:* Tests must demonstrate that after an entity reference is created (DSS0210,A2-7-2,1a) or modified (DSS0210,A2-7-2,1b) on any DSS instance in the DSS pool, it can be retrieved from all DSS instances in the DSS pool with consistent results using queryOperationalIntentReferences (DSS0210,A2-7-2,1c), getOperationalIntentReference (DSS0210,A2-7-2,1d), queryConstraintReferences (DSS0210,A2-7-2,1e), and getConstraintReference (DSS0210,A2-7-2,1f). +2. *createOperationalIntentReference, updateOperationalIntentReference:* Tests must demonstrate that entities may not be created (DSS0210,A2-7-2,2a) or modified (DSS0210,A2-7-2,2b) when necessary OVNs are not provided. +3. *deleteOperationalIntentReference, deleteConstraintReference:* Tests must demonstrate that an entity reference can be deleted on any DSS instance in the DSS pool and the deletion is reflected on all DSS instances in the DSS pool using queryOperationalIntentReferences (DSS0210,A2-7-2,3a), getOperationalIntentReference (DSS0210,A2-7-2,3b), queryConstraintReferences (DSS0210,A2-7-2,3c), and getConstraintReference (DSS0210,A2-7-2,3d). +4. *createSubscription, updateSubscription:* Tests must demonstrate that a subscription can be created on any DSS instance in the DSS pool, retrieved from any DSS instance in the DSS pool using getSubscription (DSS0210,A2-7-2,4a), and notifications for the subscription are triggered when intersecting entities are added (DSS0210,A2-7-2,4b) or modified (DSS0210,A2-7-2,4c) to any DSS instance within the DSS pool. In addition, the end time for a subscription governs when the DSS automatically removes it from the DSS. Tests must demonstrate that automatic removal of subscriptions occurs (DSS0210,A2-7-2,4d) on all DSS instances in the DSS pool. +5. *deleteSubscription*: Tests must demonstrate that a subscription can be deleted on any DSS instance in the DSS pool and the deletion is reflected on all DSS instances in the DSS pool using getSubscription DSS0210,A2-7-2,5a, and notifications for the subscription are not triggered when intersecting entities are added DSS0210,A2-7-2,5b or modified DSS0210,A2-7-2,5c to all DSS instances in the DSS pool. +6. *setUssAvailability:* Tests must demonstrate that USS availability can be set on any DSS instance in the DSS pool, and that availability is reflected on all DSS instances in the DSS pool using getUssAvailability DSS0210,A2-7-2,6. +7. *All interfaces:* Tests must demonstrate that access to the interfaces is denied when a properly formed authorization with an appropriate authorization scope is not provided DSS0210,A2-7-2,7. diff --git a/monitoring/uss_qualifier/requirements/astm/f3548/v21/dss_provider.md b/monitoring/uss_qualifier/requirements/astm/f3548/v21/dss_provider.md new file mode 100644 index 0000000000..fbebfc7d18 --- /dev/null +++ b/monitoring/uss_qualifier/requirements/astm/f3548/v21/dss_provider.md @@ -0,0 +1,45 @@ +# ASTM F3548-21: DSS Provider Role requirement set + +This file describes the set of ASTM F3548-21 requirements with which a USS providing a DSS instance must comply, according to ASTM F3548-21. + +## DSS Compliance Matrix + +* DSS0005 + * **astm.f3548.v21.DSS0005,1** + * **astm.f3548.v21.DSS0005,2** + * **astm.f3548.v21.DSS0005,3** + * **astm.f3548.v21.DSS0005,4** + * **astm.f3548.v21.DSS0005,5** +* **astm.f3548.v21.DSS0010** +* **astm.f3548.v21.DSS0015** +* **astm.f3548.v21.DSS0020** +* **astm.f3548.v21.DSS0100** +* **astm.f3548.v21.DSS0200** +* **astm.f3548.v21.DSS0205** +* **astm.f3548.v21.DSS0210** +* **astm.f3548.v21.DSS0215** +* **astm.f3548.v21.DSS0300** + +## Data Synchronization Requirements + +* **astm.f3548.v21.DSS0210,A2-7-2,1a** +* **astm.f3548.v21.DSS0210,A2-7-2,1b** +* **astm.f3548.v21.DSS0210,A2-7-2,1c** +* **astm.f3548.v21.DSS0210,A2-7-2,1d** +* **astm.f3548.v21.DSS0210,A2-7-2,1e** +* **astm.f3548.v21.DSS0210,A2-7-2,1f** +* **astm.f3548.v21.DSS0210,A2-7-2,2a** +* **astm.f3548.v21.DSS0210,A2-7-2,2b** +* **astm.f3548.v21.DSS0210,A2-7-2,3a** +* **astm.f3548.v21.DSS0210,A2-7-2,3b** +* **astm.f3548.v21.DSS0210,A2-7-2,3c** +* **astm.f3548.v21.DSS0210,A2-7-2,3d** +* **astm.f3548.v21.DSS0210,A2-7-2,4a** +* **astm.f3548.v21.DSS0210,A2-7-2,4b** +* **astm.f3548.v21.DSS0210,A2-7-2,4c** +* **astm.f3548.v21.DSS0210,A2-7-2,4d** +* **astm.f3548.v21.DSS0210,A2-7-2,5a** +* **astm.f3548.v21.DSS0210,A2-7-2,5b** +* **astm.f3548.v21.DSS0210,A2-7-2,5c** +* **astm.f3548.v21.DSS0210,A2-7-2,6** +* **astm.f3548.v21.DSS0210,A2-7-2,7** diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index 104c94ed23..b6f672bbf3 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -4,9 +4,11 @@ ## [Actions](../../README.md#actions) -1. Action generator: [`action_generators.astm.f3411.ForEachDSS`](../../../action_generators/astm/f3411/for_each_dss.py) - 1. Suite: [DSS testing for ASTM NetRID F3411-19](../../astm/netrid/f3411_19/dss_probing.md) ([`suites.astm.netrid.f3411_19.dss_probing`](../../astm/netrid/f3411_19/dss_probing.yaml)) +1. Action generator: [`action_generators.astm.f3548.ForEachDSS`](../../../action_generators/astm/f3548/for_each_dss.py) + 1. Suite: [DSS testing for ASTM NetRID F3548-21](../../astm/utm/dss_probing.md) ([`suites.astm.utm.dss_probing`](../../astm/utm/dss_probing.yaml)) 2. Action generator: [`action_generators.astm.f3411.ForEachDSS`](../../../action_generators/astm/f3411/for_each_dss.py) + 1. Suite: [DSS testing for ASTM NetRID F3411-19](../../astm/netrid/f3411_19/dss_probing.md) ([`suites.astm.netrid.f3411_19.dss_probing`](../../astm/netrid/f3411_19/dss_probing.yaml)) +3. Action generator: [`action_generators.astm.f3411.ForEachDSS`](../../../action_generators/astm/f3411/for_each_dss.py) 1. Suite: [DSS testing for ASTM NetRID F3411-22a](../../astm/netrid/f3411_22a/dss_probing.md) ([`suites.astm.netrid.f3411_22a.dss_probing`](../../astm/netrid/f3411_22a/dss_probing.yaml)) ## [Checked requirements](../../README.md#checked-requirements) @@ -405,6 +407,27 @@ Implemented ASTM NetRID DSS: Concurrent Requests
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations
ASTM NetRID DSS: Subscription Simple
ASTM NetRID DSS: Subscription Validation
ASTM NetRID DSS: Token Validation + + astm
.f3548
.v21
+ DSS0005,1 + Implemented + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control + + + DSS0005,2 + Implemented + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control + + + DSS0300 + Implemented + ASTM F3548-21 UTM DSS interoperability + + + OPIN0035 + Implemented + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control + interuss
.f3411
.dss_endpoints
GetISA diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.yaml b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.yaml index 9a0b8e142a..2b03bcb992 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.yaml +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.yaml @@ -1,12 +1,39 @@ name: ASTM DSS tests resources: - f3411v19_dss_instances: resources.astm.f3411.DSSInstancesResource - f3411v22a_dss_instances: resources.astm.f3411.DSSInstancesResource + f3411v19_dss_instances: resources.astm.f3411.DSSInstancesResource? + f3411v22a_dss_instances: resources.astm.f3411.DSSInstancesResource? + f3548v21_dss_instances: resources.astm.f3548.v21.dss.DSSInstancesResource? + utm_client_identity: resources.communications.ClientIdentityResource id_generator: resources.interuss.IDGeneratorResource - service_area: resources.netrid.ServiceAreaResource - problematically_big_area: resources.VerticesResource + + service_area: resources.netrid.ServiceAreaResource? + problematically_big_area: resources.VerticesResource? + + second_utm_auth: resources.communications.AuthAdapterResource? + flight_intents: resources.flight_planning.FlightIntentsResource? actions: + - action_generator: + generator_type: action_generators.astm.f3548.ForEachDSS + resources: + dss_instances: f3548v21_dss_instances + second_utm_auth: second_utm_auth? + flight_intents: flight_intents + id_generator: id_generator + specification: + action_to_repeat: + test_suite: + suite_type: suites.astm.utm.dss_probing + resources: + dss: dss + second_utm_auth: second_utm_auth? + all_dss_instances: dss_instances + flight_intents: flight_intents + id_generator: id_generator + on_failure: Continue + dss_instances_source: dss_instances + dss_instance_id: dss + on_failure: Continue - action_generator: generator_type: action_generators.astm.f3411.ForEachDSS resources: