Global predicates in rough real time - Mayo, J.; Kearns, P. (Proceedings.Seventh IEEE Symposium on Parallel and Distributed Processing, 1995)
Evaluation of predicates on the state of a distributed system is complicated by the lack of either a common clock or common memory. In these systems, message passing is often used to order local events globally. This leads to a partial, causal ordering of system events. Predicate evaluation algorithms based on this causal ordering generally cannot determine if an unstable predicate was true at some instant of real time without freezing the underlying application. They only determine whether or not the predicate could have occurred. This ordering is sufficient for evaluating stable predicates, but algorithms based on it require a good deal of message passing. We present two algorithms which conclusively evaluate both stable and a restricted class of unstable predicates for a given execution. The algorithms are based on the use of roughly synchronized clocks. We present an algorithm for scheduled evaluation as well as a centralized detection algorithm.