A synchronous system model is a simple yet powerful distributed system model that reduces the complexity of the design and implementation of dependable distributed applications. However, a late message arrival or a missed deadline violates the properties of a completely synchronous system. Therefore, an application that depends upon these properties might violate its safety properties due to a late message or a missed deadline. In this paper we propose a family of protocols that enforce the synchronous system properties. These protocols transform performance and omission failures that cannot be masked into crash failures. The protocols are designed to be correct for any number of performance and omission failures. They enforce synchronous system properties on top of a timed asynchronous system extended by hardware watchdogs. The described approach is targeted towards “nearly synchronous systems”, i.e., systems in which the probability of performance and omission failures is low bu...