Information Flow

The “Onhaye Crisis”

“By the morning of the 14th the advance guard of the 7th Motorized Infantry Regiment had reached Onhaye, two miles west of Dinant. Communicating by radio that he had “arrived” (eingetroffen), Colonel Georg von Bismarck was misunderstood as having announced he was “encircled” (eingeschlossen). Radio communication then failed, setting off a crisis that rippled all the way up the chain of command.”
- Dr. Michael Rinella - ‘Rommel’s Ghost Division‘ (article on warfare history network)

In the blog entry ‘Unit Hierarchy’ I discussed how unit hierarchy is modeled in Military Operations and mentioned how it constitutes an information network. This post delves a little bit deeper into what this network is and how we model it in Military Operations.

The Belgian Army and its Corps with communication links in white

Let us start with looking at what a “unit” actually is. Physically speaking a unit does not exist, the people and the equipment assigned to it are what is real about a unit. The main purpose of the unit within the hierarchy is to convert orders from “above” into multiple orders for “below” and to convert multiple reports from “below” into a single report for “above”. As mentioned in the blog post on Unit Hierarchy, next to each physical entity, every unit entity also has an AI. The unit AI determines how the unit views itself and its surroundings and determines how it should react to it. The question now becomes one of how does a unit sense itself and its environment?

A possible approach would be to let the unit AI code have direct and full access to the actual “live” state of its subordinates. This is by far the easiest to program and reuses data that is readily available. However, there are some serious drawbacks to this approach especially when you look at how it works in reality.

In the real world every subordinate unit will regularly notify its commanding unit of its situation by sending a report. Once a unit (or more specifically its commander or command staff) has “made up its mind” it will tell its subordinates what to do by issuing and orders to them. As the quote at the beginning of this article illustrates, mistakes can and will be made somewhere in that process. Another aspect is that during the second world war it actually took a while for a message to arrive and sometimes it didn’t arrive at all. If you want to model those, using the “live data” approach is actually not such a good one because these things do emerge naturally from this chosen approach.

A Messaging System for Information Flow

A better approach is actually modeling the communication that takes place. In Military Operations we have implemented a messaging system where units receive status reports from their subordinates. The unit AI code uses this information to determine its own picture of the situation and it responds by sending out orders to its subordinates. In turn, the unit will send regular reports to its parent unit where the same process is repeated. One of the benefits of this approach is that it becomes relatively easy to model things like errors in reporting, enemy interception of messages, injecting false information into the communication stream and messages that arrive too late or don’t arrive at all (the blog post about readiness talks about the effects that can have).

To see how this would work in practice, let’s have a look at a the following situation:

A lone squad of 5 soldiers is moving in a dispersed fashion and one of them spots a group of 50 enemy soldiers in the distance. The AI controlling the soldier will start to get a bit “nervous” because of the change in enemy/friends ratio and sends a report to the squad AI about the spotted enemies and their strength. The other squad member AIs have not yet seen these enemies, so they are still pretty relaxed and don’t report seeing any enemies. When the squad unit AI runs, it “reads” all reports to paint a picture of its situation. It suddenly finds that it is outnumbered 10:1 and then decides to retreat instead of continuing its current mission. In turn, it will send a report about the squad’s situation to the platoon. If more squads start reporting enemies, that might trigger the platoon to react as well, and the whole thing might snowball into having an effect at a level much higher in the hierarchy. This happens to correspond nicely to the description about what happened during the “Onhaye Crisis”.

The messaging system in Military Operations is the default way for units to communicate with each other. Besides reports and orders, other messages such as requests for resupply, artillery or air support are all done through messaging.

Comments and reactions to this blog entry can be made on our forum.