Skip to content

376. System Signal

The system_signal monitors various vehicle system signals and raises an issue when a signal remains in a specific, user-defined state. This framework is designed to be extensible, allowing users to monitor both standard vehicle indicators and custom properties.

The modifier contains three example checkers:

  • lights_signals_checker: Monitors the vehicle's turn signals.
  • hazard_lights_checker: Monitors the vehicle's hazard lights.
  • additional_properties_checker: Monitors a custom signal from the vehicle's additional_properties list, which is useful for evaluating proprietary or non-standard system data, often from log replay scenarios.

A new interval is triggered each time a monitored signal enters one of the configured signal_states and continues until the signal transitions to another state. The lights_signals_checker and hazard_lights_checker use the vehicle.state.vehicle_indicators struct to retrieve information on the vehicle's sensors. The additional_properties_checker should use the vehicle.state.additional_properties list, so the signal_name parameter must match one of the items in this list.

The signal_states list varies according to the monitored signal, and is user-customizable. The checkers will raise an issue when the state is in the issue_states list, which is the list of states that raise issues when entered and also user-customizable. The severity of the raised issues (issue_severity) is also user-customizable.

The user can configure whether a checker is enabled by default by setting the enable parameter accordingly.

376.0.1 Start condition

The system_signal monitors the signals at each top.clk. An interval begins when a signal's current state is found within the configured signal_states list and continues until the signal transitions to another state.

376.0.2 End condition

An interval is closed as soon as the signal's state changes or is no longer a member of the configured signal_states list. The while_w construct automatically terminates the interval when the trigger condition is no longer met at the next top.clk.

376.1 Plot

System Signals Checker interval representation

376.2 Attributes

The following attributes define the behavior and characteristics of the evaluator.

Checker attribute Description
Parent object vehicle.system_signal
Issue category sut or other
Issue kind system_signals, signal_not_found, multiple_signal_names_found, empty_signal_states_list, unknown_signal_state
Default severity ignore, warning
Trigger condition Based on while_w watcher

376.3 Configuration parameters

The following parameters can be configured to customize the evaluator's behavior.

Parameter Type Description Default Value
signal_name string Name of the signal to monitor No default
signal_states list A list of available signal states to monitor No default
issue_states list A subset of signal_states that raises an issue No default

376.4 Metrics

The following metrics are recorded and tracked by the evaluator.

Metric item Unit / Type Description
system The system monitored by the checker
system_state The state that the system was on during the interval

376.5 Log and Error Messages

Output Condition Description Default Severity
If the signal's state is not found in the list of configured signal_states. Signal << signal_name_lights_signals >> has a value of << current_state_lights_signals >>, which is not defined in the provided signal_states configuration Warning
If the checker's triggering conditions are met and the signal's state is in issue_states. Vehicle had its turn signal lights << current_state_lights_signals >> Warning
If the list of configured signal_states is empty. The provided signal_states configuration for lights_signals_checker is empty Warning
If the signal's state is not found in the list of configured signal_states. Signal << signal_name_hazard_lights >> has a value of << current_state_hazard_lights >>, which is not defined in the provided signal_states configuration Warning
If the checker's triggering conditions are met and the signal's state is in issue_states. Vehicle had its hazard lights << current_state_hazard_lights >> Warning
If the list of configured signal_states is empty. The provided signal_states configuration for hazard_lights_checker is empty Warning
If the signal's state is not found in the list of configured signal_states. Signal << signal_name_additional_properties_checker >> has a value of << current_state_additional_properties_checker >>, which is not defined in the provided signal_states configuration Warning
If the signal's state is not found in the list of configured signal_states. The specified signal (<< signal_name_additional_properties_checker >>) is not available in the Ego's protobuf data Warning
If the signal's state is not found in the list of configured signal_states. The specified signal (<< signal_name_additional_properties_checker >>) has multiple instances in the Ego's protobuf data Warning
If the checker's triggering conditions are met and the signal's state is in issue_states. Vehicle had its << signal_name_additional_properties_checker >> << current_state_additional_properties_checker >> Warning
If the list of configured signal_states is empty. The provided signal_states configuration for additional_properties_checker is empty Warning