I would like to have a multiprocessor share its current state with another machine that would be operating in parallel. This way, proper tracking of utilzation can be done for the process as a whole. To do this, On State Change has been used as a trigger to update the resource of the secondary multiprocessor with the following code, where token_ref.EquipmentResource is a pointer to a resource:
Object equipment = token_ref.EquipmentResource;
equipment2.setState(toState);
The proper triggers are hit, but bizarre behavior occurs with the secondary resource. The sequence of states goes as such:
1. Object enters to be processed: Equipment 1 - waiting for operator, Equipment 2 - waiting for operator
2. Operator arrives: Equipment 1 - processing, Equipment 2 - idle
3. First process is finished: Equipment 1 - processing, Equipment 2 - processing
4. Second process is finished: Equipment 1 - processing, Equipment 2 - busy?