Skip to content

Commit

Permalink
[uss_qualifier] Verify F3548 DSS requirements (#433)
Browse files Browse the repository at this point in the history
* Verify F3548 DSS requirements

* Remove reference to DSS0005
  • Loading branch information
BenjaminPelletier authored Dec 29, 2023
1 parent acdcfaf commit d31b942
Show file tree
Hide file tree
Showing 7 changed files with 120 additions and 6 deletions.
7 changes: 7 additions & 0 deletions monitoring/uss_qualifier/configurations/dev/dss_probing.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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:
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ v1:
requirement_collections:
- requirement_sets:
- astm.f3548.v21.scd
- astm.f3548.v21.dss_provider
participant_requirements:
uss1: scd
uss2: scd
Expand Down
1 change: 1 addition & 0 deletions monitoring/uss_qualifier/configurations/dev/uspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
10 changes: 10 additions & 0 deletions monitoring/uss_qualifier/requirements/astm/f3548/v21.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,3 +162,13 @@ For information on these requirements, refer to [the ASTM standard F3548-21](htt
* <tt>DSS0210</tt>
* <tt>DSS0215</tt>
* <tt>DSS0300</tt>

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 (<tt>DSS0210,A2-7-2,1a</tt>) or modified (<tt>DSS0210,A2-7-2,1b</tt>) 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 (<tt>DSS0210,A2-7-2,1c</tt>), getOperationalIntentReference (<tt>DSS0210,A2-7-2,1d</tt>), queryConstraintReferences (<tt>DSS0210,A2-7-2,1e</tt>), and getConstraintReference (<tt>DSS0210,A2-7-2,1f</tt>).
2. *createOperationalIntentReference, updateOperationalIntentReference:* Tests must demonstrate that entities may not be created (<tt>DSS0210,A2-7-2,2a</tt>) or modified (<tt>DSS0210,A2-7-2,2b</tt>) 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 (<tt>DSS0210,A2-7-2,3a</tt>), getOperationalIntentReference (<tt>DSS0210,A2-7-2,3b</tt>), queryConstraintReferences (<tt>DSS0210,A2-7-2,3c</tt>), and getConstraintReference (<tt>DSS0210,A2-7-2,3d</tt>).
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 (<tt>DSS0210,A2-7-2,4a</tt>), and notifications for the subscription are triggered when intersecting entities are added (<tt>DSS0210,A2-7-2,4b</tt>) or modified (<tt>DSS0210,A2-7-2,4c</tt>) 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 (<tt>DSS0210,A2-7-2,4d</tt>) 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 <tt>DSS0210,A2-7-2,5a</tt>, and notifications for the subscription are not triggered when intersecting entities are added <tt>DSS0210,A2-7-2,5b</tt> or modified <tt>DSS0210,A2-7-2,5c</tt> 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 <tt>DSS0210,A2-7-2,6</tt>.
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 <tt>DSS0210,A2-7-2,7</tt>.
Original file line number Diff line number Diff line change
@@ -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**
27 changes: 25 additions & 2 deletions monitoring/uss_qualifier/suites/interuss/dss/all_tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -405,6 +407,27 @@
<td>Implemented</td>
<td><a href="../../../scenarios/astm/netrid/v22a/dss/heavy_traffic_concurrent.md">ASTM NetRID DSS: Concurrent Requests</a><br><a href="../../../scenarios/astm/netrid/v22a/dss/isa_expiry.md">ASTM NetRID DSS: ISA Expiry</a><br><a href="../../../scenarios/astm/netrid/v22a/dss/isa_subscription_interactions.md">ASTM NetRID DSS: ISA Subscription Interactions</a><br><a href="../../../scenarios/astm/netrid/v22a/dss/isa_simple.md">ASTM NetRID DSS: Simple ISA</a><br><a href="../../../scenarios/astm/netrid/v22a/dss/isa_validation.md">ASTM NetRID DSS: Submitted ISA Validations</a><br><a href="../../../scenarios/astm/netrid/v22a/dss/subscription_simple.md">ASTM NetRID DSS: Subscription Simple</a><br><a href="../../../scenarios/astm/netrid/v22a/dss/subscription_validation.md">ASTM NetRID DSS: Subscription Validation</a><br><a href="../../../scenarios/astm/netrid/v22a/dss/token_validation.md">ASTM NetRID DSS: Token Validation</a></td>
</tr>
<tr>
<td rowspan="4" style="vertical-align:top;"><a href="../../../requirements/astm/f3548/v21.md">astm<br>.f3548<br>.v21</a></td>
<td><a href="../../../requirements/astm/f3548/v21.md">DSS0005,1</a></td>
<td>Implemented</td>
<td><a href="../../../scenarios/astm/utm/op_intent_ref_access_control.md">ASTM F3548-21 UTM DSS Operational Intent Reference Access Control</a></td>
</tr>
<tr>
<td><a href="../../../requirements/astm/f3548/v21.md">DSS0005,2</a></td>
<td>Implemented</td>
<td><a href="../../../scenarios/astm/utm/op_intent_ref_access_control.md">ASTM F3548-21 UTM DSS Operational Intent Reference Access Control</a></td>
</tr>
<tr>
<td><a href="../../../requirements/astm/f3548/v21.md">DSS0300</a></td>
<td>Implemented</td>
<td><a href="../../../scenarios/astm/utm/dss_interoperability.md">ASTM F3548-21 UTM DSS interoperability</a></td>
</tr>
<tr>
<td><a href="../../../requirements/astm/f3548/v21.md">OPIN0035</a></td>
<td>Implemented</td>
<td><a href="../../../scenarios/astm/utm/op_intent_ref_access_control.md">ASTM F3548-21 UTM DSS Operational Intent Reference Access Control</a></td>
</tr>
<tr>
<td rowspan="2" style="vertical-align:top;"><a href="../../../requirements/interuss/f3411/dss_endpoints.md">interuss<br>.f3411<br>.dss_endpoints</a></td>
<td><a href="../../../requirements/interuss/f3411/dss_endpoints.md">GetISA</a></td>
Expand Down
35 changes: 31 additions & 4 deletions monitoring/uss_qualifier/suites/interuss/dss/all_tests.yaml
Original file line number Diff line number Diff line change
@@ -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:
Expand Down

0 comments on commit d31b942

Please sign in to comment.