A simple model for agreement in distributed systems
Fault-tolerant distributed computing
Handbook of theoretical computer science (vol. B)
Automating the Addition of Fault-Tolerance
FTRTFT '00 Proceedings of the 6th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Safety and Liveness in Branching Time
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Synthesis of fault-tolerant concurrent programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
LICS '05 Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science
Distributed reactive systems are hard to synthesize
SFCS '90 Proceedings of the 31st Annual Symposium on Foundations of Computer Science
FTSyn: a framework for automatic synthesis of fault-tolerance
International Journal on Software Tools for Technology Transfer (STTT)
Distributed synthesis of fault-tolerant programs in the high atomicity model
SSS'07 Proceedings of the 9h international conference on Stabilization, safety, and security of distributed systems
On verifying fault tolerance of distributed protocols
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Distributed synthesis for well-connected architectures
FSTTCS'06 Proceedings of the 26th international conference on Foundations of Software Technology and Theoretical Computer Science
Generalized rabin(1) synthesis with applications to robust system synthesis
NFM'11 Proceedings of the Third international conference on NASA Formal methods
MGSyn: automatic synthesis for industrial automation
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Hi-index | 0.01 |
A distributed system is fault-tolerant if it continues to perform correctly even when a subset of the processes becomes faulty. Fault-tolerance is highly desirable but often difficult to implement. In this paper, we investigate fault-tolerant synthesis , i.e., the problem of determining whether a given temporal specification can be implemented as a fault-tolerant distributed system. As in standard distributed synthesis, we assume that the specification of the correct behaviors is given as a temporal formula over the externally visible variables. Additionally, we introduce the fault-tolerance specification , a CTL* formula describing the effects and the duration of faults. If, at some point in time, a process becomes faulty, it becomes part of the external environment and its further behavior is only restricted by the fault-tolerance specification. This allows us to model a large variety of fault types. Our method accounts for the effect of faults on the values communicated by the processes, and, hence, on the information available to the non-faulty processes. We prove that for fully connected system architectures, i.e., for systems where each pair of processes is connected by a communication link, the fault-tolerant synthesis problem from CTL* specifications is 2EXPTIME-complete.