Define Late-Joiner Protocol
We have not yet defined how to deal with late-joiners. In principle they have their own FSM state, which - after connecting - will be launched
. However, if the rest of the system is already in running
state, then we have an undefined state of the overall system, as some are running, others are just hangin' around waiting for their config.
This becomes very important when we regard #9 and the decision on whether all satellites are equal - then this would mean we would have to either push them through all FSM states to get them running directly, or the system would have to degrade.
Now from a user perspective (and also according to our initial goals) we want to be able to start up and kill UIs (loggers, control interfaces, statistics monitors) as we like without affecting the system. This in consequence would mean that those interface satellites live outside the general FSM and have a different rule set defined for them. This significantly complicates the system design...