Integration simulator will load up two distinctly different types of plugins - integration plugins and simulation plugins.
Integration plugins are the Navtech Witness system plugins that integrate with external systems. The purpose of the integration simulator application is to enable testing these integrations without having to fully deploy a Navtech system.
Simulation plugins are specifically for the integration simulator. They simulate the rest of the Navtech system and provide output to the integration plugins, such as alarms or carriageway statistics. Selecting a plugin, whether integration plugin or simulation plugin, will display the plugin's configuration on the Plugin Configuration Panel.
Configuring Integration Plugins
To configure an integration plugin, we can select an integration plugin from the tree and click edit. This will give us the same configuration editor as we would get in the Witness 4 Client.
Saving the configuration will have the same effect as on an actual Witness system - plugins that are enabled will try to automatically start themselves.
Like Witness, on first launching the Integration Simulator, enabled plugins will automatically start. However they can be controlled using the Start and Stop buttons if required.
A plugin that is not enabled cannot be started.
Please see the details for each integration plugin:
Configuring Simulation Plugins
The simulation plugins are specific to the product, so ClearWay and AdvanceGuard have their own. These plugins simulate the Witness functionality associated with these products, such as raising alarms or generating tracks.
System Simulator
The System Simulator handles common system level settings, including System Profiles and Areas.
Profiles
System Profiles: This simulates the Witness System profile. It shows the currently selected profile and allows you to change the profile. The profile can be changed by selecting the required profile and selecting the Set System Profile button. This can trigger outgoing profile status reports (e.g. ICD-001) and also respond to incoming profile change requests.
Selected - checkbox to select a system profile
Profile Id - numeric Id of the profile
Profile Name - the name of the profile
Areas
Areas: This simulates a fixed list of areas. Each area has a different type and displays the state. The state can be changed by highlighting an area and selecting the Set State button. In addition, if an area state is changed through an integration plugin then the modified state will be displayed here.
Id - the area user Id
Name - area name
Type - the area type
Enabled - the current state of the area
Disarm Mode - the current mode of the area
System Health Simulator
The health simulator enables you to generate health status reports and alarms with details of radar and modules. You can adjust the status of the radar and the modules using the plugin configuration, for example you can change a radar’s health or connection health to unhealthy, and then you can generate a status report or an alarm to report this change.
Radars: This is a list of pre-configured radar showing their health and connection status. Both can be changed for testing purposes:
Include - option to include or exclude the radar within the health reporting
Name - name of the radar
Id - User Id of the radar
Health - health status of the radar
Connection Health - health status of the radar connection
The number of radars listed is based on the number of radars configured in the Security or Highways Simulator plugin. Both these plugins allow you to change the number of available radar. They will always provide 5 radar by default.
Modules: This is a list of pre-configured modules and active integration plugins showing their connection health status. The Management Server also has an additional status that simulates the database health. All available health states can be changed for testing purposes.
Include - option to include or exclude the radar within the health reporting
Module Name - name of the module
Connection Health - current module health status
Database Health - current database health
To trigger a topology update, which is usually translated to a status report by the integration plugins, select the Send Topology button. To trigger one or more health alarms based on any radars or modules that have health status set to anything other than Healthy, select the Send Alarms button.
To clear a health alarm, set the health status on the radar or the module back to Healthy and resend the alarms using Send Alarms.
Security Simulator
Configure Simulation
These buttons provide options to manage the simulator configuration:
Configure Radars - allows you to change the number of radars to simulate - both for alarms and health.
Save Configuration - enables you to force the configuration to be saved.
Reset Configuration - resets and reloads the configuration. This option honours the configured number of radar but it will also reset the data to the last saved state. This enables configs to be saved and moved to a different PC if required.
Security Alarms
Allows you to create, publish and clear security alarms:
Add Alarms - select this button to create a new alarm. Once clicked the alarm form will become enabled so you can populate the alarm details
Send Alarms - select this to publish all alarms to the plugins. The plugins will receive the alarms have send out messages based on the current alarm states.
Clear Alarms - select this to clear all selected alarms in the active alarms list
Acknowledge Alarms - select this to acknowledge the selected alarms. This will clear the alarms from the list
Adding Alarms
To add a new alarm:
Select Add Alarms.
Edit the alarm details.
Repeat steps 1 & 2 as required.
Once ready, select Send Alarms to publish the configured alarm list.
You can add several alarms at the same time. Once added, you will be able to edit any of these alarms by selecting them in the active list. However as soon as you select Send Alarms you will only be able to edit the alarm severity. Once you have sent the alarm list, the clear and acknowledge alarms options will become available.
To update an existing alarm
Select the alarm you wish to update.
Change the severity (this is the only property available to change after you have published the alarms at least once).
Select the Send Alarms.
Clearing Active Alarms
To clear active alarms:
Select the required alarms from the active list.
Select the Clear Alarms button.
Alarms will be marked as cleared in the list and alarm updates will be automatically published.
Alarms must have been sent before they can be cleared.
Acknowledging Alarms
To acknowledge a cleared alarm:
Select the cleared alarms you wish to acknowledge.
Select Acknowledge Alarms.
The alarm will be acknowledged and automatically removed from the list. Alarm updates will be automatically published.
Alarms must have been cleared before they can be acknowledged.
Camera Commands
Allows you to create and publish camera movement commands. The simulator provides 3 default cameras for testing.
Send Camera Command - sends a camera command for the selected camera
To send a camera control:
Select a camera from the list.
Enter a movement type and relay Id, if required.
Select the Send Camera Command button.
Tracks
Allows you to create and publish tracks. Tracks can include the normal position and movement data as well as broken rule information.
Add Track - allows you to enter new track details
Send Tracks - select this to publish the active list of tracks
Clear Tracks - select this to clear the selected tracks
To add tracks:
Select Add Track.
The track will be added to the active track list with default data.
Edit the settings to suit your testing.
Repeat these steps to add more tracks if required.
To send the active tracks, select the Send Tracks button.
To include rule Ids in the track broken rule data, select the required rules from the rule list before sending the tracks.
Once you have added a track, you can easily change the track attributes by selecting it in the list and then changing the attributes in the Tracks form. This allows you to add multiple tracks with the ability to update them as required. The tracks will remain editable even after you have selected Send Tracks. Each time you select Send Tracks the same tracks will be sent but with whatever values have been set in the Tracks form. This gives you the ability to simulate a moving track.
To remove a track:
Select one or more tracks from the active tracks list by using the Remove checkbox column
Select the Clear Tracks button.
Highways Simulator
The included Highways Simulator simulation plugin can be used to set up Carriageway and Radar entities and can also be used to create carriageway statistics and highway alarm messages.
Configuration
By default, the Highways Simulator creates 2 carriageways with 10 sections each and 5 radars.
Use "Configure Radars" to change the number of Radars. This will delete all existing radars and create news one until the number is reached. Any integration plugin tied directly to radar or radar entity updates will be affected by this.
Use "Configure Carriageways" to change the number of carriageways and / or the number of sections per carriageway. This will recreate carriageways to meet input. All carriageways will be created with the 6 default rules (debris, ERA, person, queue, reversing and slow) plus an additional stopped vehicle rule and with 4 lanes.
Carriageway Configurations
Carriageways are generated with default settings.
This includes 11 m/s queue threshold, 16 m/s heavy traffic density and track density queue as 4. In some integration plugins that are able to output section queue and heavy traffic flags, these criteria will need to be met.
On restarting the system, we will have the same radars and carriageways as last usage.
Select "Save Configuration" to save the current configuration to file. You will receive a log message indicating a successful save and where the configuration file has been saved to. It should look something like "C:\ProgramData\Navtech\Integration Simulator\HighwaysSimulatorConfig.xml". C:\ProgramData will be different depending on where your window's application data folder is located.
To load the configuration file from your application data folder, click Load Configuration. If the relevant file is not found, a new configuration will be generated based on defaults.
You can pass configuration from one computer to another using save and load.
Sending Statistics
We can use the commands available in the Carriageway Statistics section to send statistics or traffic analysis reports.
"Send Statistics" will send random statistics for each section of the selected carriageway. You can change the selected carriageway from the Carriageway dropdown.
"Clear Traffic" will send stats for every section of the selected carriageway with 0 traffic and 0 speed. This will also raise the flag that the entire carriageway is clear of traffic.
If any section is selected, you can also send out Traffic Analysis messages from "Send Section TA". This will send out a randomized traffic analysis message with reports for the selected sections.
Similarly, you can use "Send Clear TA" to send a traffic analysis message with 0 traffic and 0 speed for all selected sections.
Need to verify if you have received the data correctly? Check what statistics were sent out from the log output.
Sending Alarms
To send alarms against carriageway rules, we first select the sections and rules we want to raise the alarm against. Optionally, we can select a lane for the alarms as well. We can then Add Alarms to include the selected alarms in the local alarm list. Note that the alarm simulator contains the same limitations as the actual Witness 4 system in that only one alarm can be raised for each rule and section combination and does not generate separate alarms for different lanes.
To remove an alarm, tick the checkbox for the alarm under "Clear" and click "Clear Alarms". You can select all alarms by selecting the checkbox in the column header.
The alarms are only send to the integration plugins on clicking the "Send Alarms" button.