PSync swMATH ID: 17450 Software Authors: Drăgoi, Cezara; Henzinger, Thomas A.; Zufferey, Damien Description: PSync: a partially synchronous language for fault-tolerant distributed algorithms. Fault-tolerant distributed algorithms play an important role in many critical/high-availability applications. These algorithms are notoriously difficult to implement correctly, due to asynchronous communication and the occurrence of faults, such as the network dropping messages or computers crashing. We introduce PSync, a domain specific language based on the Heard-Of model, which views asynchronous faulty systems as synchronous ones with an adversarial environment that simulates asynchrony and faults by dropping messages. We define a runtime system for PSync that efficiently executes on asynchronous networks. We formalise the relation between the runtime system and PSync in terms of observational refinement. The high-level lockstep abstraction introduced by PSync simplifies the design and implementation of fault-tolerant distributed algorithms and enables automated formal verification. We have implemented an embedding of PSync in the Scala programming language with a runtime system for partially synchronous networks. We show the applicability of PSync by implementing several important fault-tolerant distributed algorithms and we compare the implementation of consensus algorithms in PSync against implementations in other languages in terms of code size, runtime efficiency, and verification. Homepage: http://dl.acm.org/citation.cfm?doid=2837614.2837650 Keywords: automated verification; consensus; fault-tolerant distributed algorithms; partial synchrony; round model Related Software: Verdi; SPIN; CVC4; nuXmv; GitHub; Ivy; ByMC; z3; Distal; Isabelle/HOL; SMT-LIB; PVS; Coq; QuickCheck; Haskell; Horus; PlusCal; Lingeling; Chapar; FAST Cited in: 9 Documents all top 5 Cited by 16 Authors 3 Hurault, Aurélie 3 Lazić, Marijana 3 Quéinnec, Philippe 3 Widder, Josef 2 Shimi, Adam 2 Veith, Helmut 1 Andersen, Kristoffer Just Arndal 1 Chevrou, Florent 1 Dragoi, Cezara 1 Henzinger, Thomas A. 1 Houshmand, Farzin 1 Lesani, Mohsen 1 Li, Xiao 1 Sergey, Ilya 1 Stoilkovska, Ilina 1 Zufferey, Damien Cited in 4 Serials 2 Logical Methods in Computer Science 1 Formal Methods in System Design 1 Journal of Functional Programming 1 Journal of Logical and Algebraic Methods in Programming Cited in 2 Fields 9 Computer science (68-XX) 2 Mathematical logic and foundations (03-XX) Citations by Year