The Middleware coordinates the communication with the DDS domain of the vehicle, LCC and further participants with the HLC. It is responsible for sending timed pre-aggregated vehicle information to the HLC which can be interpreted as a start signal for starting the computation using this data, and it sends the commands generated by the HLC as a reaction to this start signal to the vehicles. Any timing task is performed by the Middleware, so period and offset for the interaction with the HLC are set here (and can be set when starting the application using command line parameters).  The HLC is informed about the current time, in case that is necessary for its own computations.

The application also manages further internal timing according to the current simulated and real time, propagating the LLC's start and stop signals and waiting for the HLC to finish its computation in the simulated case.

Command Line Parameters

Parameter Usage Example

./middleware --vehicle_ids=1,7,8 --node_id=middleware --wait_for_start=true --dds_domain=1 --simulated_time=false

Important parameters

Other parameters

Scripts

Different scripts have already been written to test and deploy the middleware together with all necessary libraries and a matlab program on the local or other machines. These scripts can be found in ./Middleware/remote and ./Middleware/local.