Given that a dozer machine is performing dozing operations in a specific area, the dozer occupies a certain working area, which is not safe to pass for other machines. This area is defined as an ExclusionZone. Other machines can read the ExclusionZone of the dozing machine. If the other machine wants to enter the ExclusionZone, the other machine can interrupt the dozer in its current operation.

Stopping the dozer from performing its current operation is made possible by being able to call the RequestStopOperation-Method or the ClearWay-Method provided by the dozer. The RequestStopOperation-Method stops the dozing machine’s operation and indicates that the dozer should not move at all. When calling the ClearWay-Method, the other machine needs to pass a list of CartesianCoordinates, defining a 2D Polygon, as an input argument for the method. The dozing machine then moves out of this area.

The other machine can subscribe the ExclusionZone of the dozer to receive notifications about updates to the dozer’s ExclusionZone. As soon as the dozer has stopped (if the RequestStopOperation-Method was called) or moved out of the area (if the ClearWay-Method was called), the ExclusionZone of the dozer changes, since the area is safe to pass now. The other machine can now pass safely. After leaving the former ExclusionZone, the other machine can call the method ResumeOperation. Then, the dozer continues its previous operation and changes the ExclusionZone to what it was before.

A sequence diagram of this UC interaction is shown in Figure 3.


Figure 3 – Sequence diagram of the Dozing Use Case