Skip to Main Content
Failure detection protocols - a fundamental building block for crafting fault-tolerant distributed systems - are in many cases described by their authors making use of informal pseudo-codes of their conception. Often these pseudo-codes use syntactical constructs that are not available in COTS programming languages such as C or C++. This translates into informal descriptions that call for ad hoc interpretations and implementations. Being informal, these descriptions cannot be tested by their authors, which may translate into insufficiently detailed or even faulty specifications. This study tackles this problem by introducing a formal syntax for those constructs and a C library that implements them - a tool set to express and reason about failure detection protocols. The resulting specifications are longer but non-ambiguous, and eligible for becoming a standard form.