Skip to content

Commit

Permalink
[uss_qualifier/scenarios/netrid/nominal_behavior] Add checks for UA t…
Browse files Browse the repository at this point in the history
…ype in DP (NET0470)
  • Loading branch information
mickmis committed Dec 16, 2024
1 parent 58d213e commit 79b8619
Show file tree
Hide file tree
Showing 8 changed files with 79 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
injection,
)
from uas_standards.interuss.automated_testing.rid.v1.injection import (
RIDAircraftState,
RIDAircraftPosition,
)

Expand Down Expand Up @@ -69,23 +68,36 @@ def evaluate_sp_flight(

def evaluate_dp_flight(
self,
injected_flight: RIDAircraftState,
injected_telemetry: injection.RIDAircraftState,
injected_flight: injection.TestFlight,
observed_flight: observation_api.Flight,
participants: List[str],
query_timestamp: datetime.datetime,
):
"""Implements fragment documented in `common_dictionary_evaluator_dp_flight.md`."""

self._evaluate_ua_type(
injected_flight.get("aircraft_type"),
observed_flight.get("aircraft_type"),
participants,
query_timestamp,
)

# If the state is present, we do validate its content,
# but its presence is optional
if injected_flight.has_field_with_value("current_state"):
if injected_telemetry.has_field_with_value("current_state"):
self._evaluate_speed(
injected_flight.speed, observed_flight.current_state.speed, participants
injected_telemetry.speed,
observed_flight.current_state.speed,
participants,
)
self._evaluate_track(
injected_flight.track, observed_flight.current_state.track, participants
injected_telemetry.track,
observed_flight.current_state.track,
participants,
)
self._evaluate_timestamp(
injected_flight.timestamp,
injected_telemetry.timestamp,
observed_flight.current_state.timestamp,
participants,
)
Expand All @@ -97,10 +109,12 @@ def evaluate_dp_flight(
)

self._evaluate_position(
injected_flight.position, observed_flight.most_recent_position, participants
injected_telemetry.position,
observed_flight.most_recent_position,
participants,
)
self._evaluate_height(
injected_flight.get("height"),
injected_telemetry.get("height"),
observed_flight.most_recent_position.get("height"),
participants,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -406,9 +406,11 @@ def _evaluate_normal_observation(
)

self._common_dictionary_evaluator.evaluate_dp_flight(
injected_flight=injected_telemetry,
observed_flight=mapping.observed_flight,
participants=[observer.participant_id],
injected_telemetry,
mapping.injected_flight.flight,
mapping.observed_flight,
[observer.participant_id],
query.request.timestamp,
)

# Check that flights using telemetry are not using extrapolated position data
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@

This fragment is implemented in `common_dictionary_evaluator.py:RIDCommonDictionaryEvaluator.evaluate_dp_flight`.

#### Correct up-to-date altitude if present check
## ⚠️ UA type is present and consistent with injected one check

**[astm.f3411.v19.NET0470](../../../../requirements/astm/f3411/v19.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary.
The UA type being a required field, this check will fail as per **[astm.f3411.v19.NET0470,Table1,3](../../../../requirements/astm/f3411/v19.md)** if it is missing.
In addition, if the UA type reported for an observation does not correspond to the injected one, the DP is not providing timely and accurate data and is thus in breach of **[astm.f3411.v19.NET0450](../../../../requirements/astm/f3411/v19.md)**

## ⚠️ UA type is consistent with Common Data Dictionary check

**[astm.f3411.v19.NET0470](../../../../requirements/astm/f3411/v19.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary.
This check will fail if the observed UA type has an invalid value as per **[astm.f3411.v19.NET0470,Table1,3](../../../../requirements/astm/f3411/v19.md)**.

## Correct up-to-date altitude if present check

If the observed altitude of a flight is reported, but it does not match the altitude of the injected telemetry, the display provider is not providing precise and up-to-date information, and thus does not respect **[astm.f3411.v19.NET0450](../../../../requirements/astm/f3411/v19.md)**.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@

This fragment is implemented in `common_dictionary_evaluator.py:RIDCommonDictionaryEvaluator.evaluate_dp_flight`.

## ⚠️ UA type is present and consistent with injected one check

**[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary.
The UA type being a required field, this check will fail as per **[astm.f3411.v22a.NET0470,Table1,2](../../../../requirements/astm/f3411/v22a.md)** if it is missing.
In addition, if the UA type reported for an observation does not correspond to the injected one, the DP is not providing timely and accurate data and is thus in breach of **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**

## ⚠️ UA type is consistent with Common Data Dictionary check

**[astm.f3411.v22a.NET0470](../../../../requirements/astm/f3411/v22a.md)** requires that Net-RID Display Provider shall provide access to required and optional fields to Remote ID Display Applications according to the Common Dictionary.
This check will fail if the observed UA type has an invalid value as per **[astm.f3411.v22a.NET0470,Table1,2](../../../../requirements/astm/f3411/v22a.md)**.

## Correct up-to-date altitude if present check

If the observed altitude of a flight is reported, but it does not match the altitude of the injected telemetry, the display provider is not providing precise and up-to-date information, and thus does not respect **[astm.f3411.v22a.NET0450](../../../../requirements/astm/f3411/v22a.md)**.
Expand Down
12 changes: 11 additions & 1 deletion monitoring/uss_qualifier/suites/astm/netrid/f3411_19.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<th><a href="../../README.md#checked-in">Checked in</a></th>
</tr>
<tr>
<td rowspan="76" style="vertical-align:top;"><a href="../../../requirements/astm/f3411/v19.md">astm<br>.f3411<br>.v19</a></td>
<td rowspan="78" style="vertical-align:top;"><a href="../../../requirements/astm/f3411/v19.md">astm<br>.f3411<br>.v19</a></td>
<td><a href="../../../requirements/astm/f3411/v19.md">DSS0010</a></td>
<td>Implemented</td>
<td><a href="../../../scenarios/astm/netrid/v19/dss/token_validation.md">ASTM NetRID DSS: Token Validation</a></td>
Expand Down Expand Up @@ -361,6 +361,16 @@
<td>Implemented</td>
<td><a href="../../../scenarios/astm/netrid/v19/nominal_behavior.md">ASTM NetRID nominal behavior</a></td>
</tr>
<tr>
<td><a href="../../../requirements/astm/f3411/v19.md">NET0470</a></td>
<td>Implemented</td>
<td><a href="../../../scenarios/astm/netrid/v19/nominal_behavior.md">ASTM NetRID nominal behavior</a></td>
</tr>
<tr>
<td><a href="../../../requirements/astm/f3411/v19.md">NET0470,Table1,3</a></td>
<td>Implemented</td>
<td><a href="../../../scenarios/astm/netrid/v19/nominal_behavior.md">ASTM NetRID nominal behavior</a></td>
</tr>
<tr>
<td><a href="../../../requirements/astm/f3411/v19.md">NET0480</a></td>
<td>Implemented</td>
Expand Down
7 changes: 6 additions & 1 deletion monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<th><a href="../../README.md#checked-in">Checked in</a></th>
</tr>
<tr>
<td rowspan="101" style="vertical-align:top;"><a href="../../../requirements/astm/f3411/v22a.md">astm<br>.f3411<br>.v22a</a></td>
<td rowspan="102" style="vertical-align:top;"><a href="../../../requirements/astm/f3411/v22a.md">astm<br>.f3411<br>.v22a</a></td>
<td><a href="../../../requirements/astm/f3411/v22a.md">DSS0010</a></td>
<td>Implemented</td>
<td><a href="../../../scenarios/astm/netrid/v22a/dss/token_validation.md">ASTM NetRID DSS: Token Validation</a></td>
Expand Down Expand Up @@ -446,6 +446,11 @@
<td>Implemented</td>
<td><a href="../../../scenarios/astm/netrid/v22a/nominal_behavior.md">ASTM NetRID nominal behavior</a></td>
</tr>
<tr>
<td><a href="../../../requirements/astm/f3411/v22a.md">NET0470,Table1,2</a></td>
<td>Implemented</td>
<td><a href="../../../scenarios/astm/netrid/v22a/nominal_behavior.md">ASTM NetRID nominal behavior</a></td>
</tr>
<tr>
<td><a href="../../../requirements/astm/f3411/v22a.md">NET0470,Table1,20</a></td>
<td>Implemented</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<th><a href="../README.md#checked-in">Checked in</a></th>
</tr>
<tr>
<td rowspan="101" style="vertical-align:top;"><a href="../../requirements/astm/f3411/v22a.md">astm<br>.f3411<br>.v22a</a></td>
<td rowspan="102" style="vertical-align:top;"><a href="../../requirements/astm/f3411/v22a.md">astm<br>.f3411<br>.v22a</a></td>
<td><a href="../../requirements/astm/f3411/v22a.md">DSS0010</a></td>
<td>Implemented</td>
<td><a href="../../scenarios/astm/netrid/v22a/dss/token_validation.md">ASTM NetRID DSS: Token Validation</a></td>
Expand Down Expand Up @@ -442,6 +442,11 @@
<td>Implemented</td>
<td><a href="../../scenarios/astm/netrid/v22a/nominal_behavior.md">ASTM NetRID nominal behavior</a></td>
</tr>
<tr>
<td><a href="../../requirements/astm/f3411/v22a.md">NET0470,Table1,2</a></td>
<td>Implemented</td>
<td><a href="../../scenarios/astm/netrid/v22a/nominal_behavior.md">ASTM NetRID nominal behavior</a></td>
</tr>
<tr>
<td><a href="../../requirements/astm/f3411/v22a.md">NET0470,Table1,20</a></td>
<td>Implemented</td>
Expand Down
7 changes: 6 additions & 1 deletion monitoring/uss_qualifier/suites/uspace/required_services.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<th><a href="../README.md#checked-in">Checked in</a></th>
</tr>
<tr>
<td rowspan="101" style="vertical-align:top;"><a href="../../requirements/astm/f3411/v22a.md">astm<br>.f3411<br>.v22a</a></td>
<td rowspan="102" style="vertical-align:top;"><a href="../../requirements/astm/f3411/v22a.md">astm<br>.f3411<br>.v22a</a></td>
<td><a href="../../requirements/astm/f3411/v22a.md">DSS0010</a></td>
<td>Implemented</td>
<td><a href="../../scenarios/astm/netrid/v22a/dss/token_validation.md">ASTM NetRID DSS: Token Validation</a></td>
Expand Down Expand Up @@ -443,6 +443,11 @@
<td>Implemented</td>
<td><a href="../../scenarios/astm/netrid/v22a/nominal_behavior.md">ASTM NetRID nominal behavior</a></td>
</tr>
<tr>
<td><a href="../../requirements/astm/f3411/v22a.md">NET0470,Table1,2</a></td>
<td>Implemented</td>
<td><a href="../../scenarios/astm/netrid/v22a/nominal_behavior.md">ASTM NetRID nominal behavior</a></td>
</tr>
<tr>
<td><a href="../../requirements/astm/f3411/v22a.md">NET0470,Table1,20</a></td>
<td>Implemented</td>
Expand Down

0 comments on commit 79b8619

Please sign in to comment.