Can loosely coupled cyclic sequential processes synchronize effectively? This paper explores how to maintain the relation "the system is in a legitimate state" invariant within such systems, as often found in operating systems. It emphasizes that each process step, prone to relation violation, should be preceded by a test to assess whether it is permissible to proceed or whether it should be delayed. This paper examines the implementation of such designs, especially when different processes gain mutually exclusive access to a common store where 'the current system state' is recorded. The paper gives insights into fault-tolerant system design, suggesting the method is especially implemented where processes get exclusive access to a common data store to record the current system state. Overall, it offers a practical guide for system designers aiming to build robust and reliable software architectures.
This article in Communications of the ACM directly aligns with the journal's focus on computer science, software engineering, and hardware-software interactions. The research on self-stabilizing systems and distributed control contributes to the understanding and improvement of complex computing environments, a key topic for the journal's readership. The citations to/from computer science literature support this contextualization.