Maintaining Global Assertions on Distributed Systems

This paper develops a method for maintaining global assertions on a network of distributed processes. The global assertion has the form (X i is a variable which is local to one process in a distributed system and K is a constant. It is assumed that the initial values of all local variables are known and that the global assertion initially holds. This form is more general than the summation form considered in earlier work. This research has applications in distributed software development, and as a general synchronization mechanism. Many classical synchronization problems (mutual exclusion, dining philosophers, read-ers/writers) can be solved with the results of this work.