Change the way algorithmic operations are done
Description
Instead of each system doing one operation and returning control, each system does as many operations as possible until reaching a barrier, then returns. For this purpose updating interactions are considered barriers. This solves the issue of some systems getting ahead of others in a way that might create a deadlock.