Matrix Board Communication¶
This DDS-Demonstrator is inspired by the communication of the well know “Matrix Boards” above the (Dutch) Highways.
Each MatrixBoard shows the maximal allowed speed; during traffic-jams. It needs the input from the next two boards; whose
sensors measure the speed at that location.
The real MatrixBoards have sensors (to measure the number of cars, there speed, etc), an actuators (showing the speed), and some simple algorithms (like: “the step is speed between 2 boards is small” and “when the speed changes, the light should blink for some time”). The communication between board is are hard-wired; by using land-lans.
The MatrixBoard DDS-Demonstrator shows some dynamic aspects of DDS in a similar setup. It uses DDS for all
communication.
When running a set of MatrixBoards, each MatrixBoard is started with a location (thinks about a “hectometer sign”).
Whenever the set of MatrixBoards changes, a MatrixBoard should automatically discover the new setup and act accordingly (cancel and add subscriptions) |
Example¶
Given a setup like below, where the MatrixBoard at loc=3
does not yet exist; and loc=21
does.
- MatrixBoard at
loc=1
should subscribe toloc=2
andloc=5
. - MatrixBoard at
loc=8
should subscribe toloc=13
andloc=21
.
Now suppose, MatrixBoard loc=3
is added and/or loc=21
is abruptly killed. Then:
- MatrixBoard at
loc=1
will useloc=2
andloc=3
(and not listen toloc=5
anymore). - MatrixBoard at
loc=8
will addloc=34
to is subscription-list.