The UAVCAN Guide says this:
A service may be designed in such a way where it is provided by a group of identical collaborating agents with strong logical cohesion . In this case, we admit that the means of differentiating said identical agents from each other belong to the business domain, and as such, the service specification should contain the necessary provisions for that. We call such designs multi-agent services . […] As a practical example of a multi-agent service, consider the propulsion system of a quad-plane VTOL: the propulsors creating lift in the hover mode belong to one multi-agent propulsion service, each propulsor being modeled as a separate service agent; the propulsors creating thrust in the forward flight belong to the second multi-agent service. In this example, the service consumers are unaware of which UAVCAN nodes implement which propulsor agent – each agent could be a dedicated ESC/FADEC, or they all could be managed by a single hardware unit, or something in between.
The idea is simple, but what is not simple is whether there are any well-defined criteria that justify the use of a multi-agent service architecture over the traditional service design?
To put the question into practical terms, consider the already introduced example of a group of motor drives (ESC) that are controlled synchronously using a shared setpoint message and publish some feedback/status messages. The multi-agent approach prescribes that the feedback messages from all ESCs are to be published on a shared subject, each publisher differentiated by its index in the group. The traditional architecture would designate a dedicated subject for each participant and remove the index from the definition of the message.
In both cases, the subject-ID of the feedback subject may be defined as some function of the setpoint subject and the index to reduce the state space of the configuration options; for example, if the setpoint is published over subject X, and the index of the given ESC is N, in the multi-agent case the feedback would be published over subject X+1; and in the traditional case it would be X+1+N. It follows that the complexity of configuration is a weak differentiator.
It is not obvious if either approach is architecturally beneficial compared to the other. Even if it may be so in the case of ESC specifically, how does one make a sensible choice between the two in other scenarios?