A Class of Inherently Fault Tolerant Distributed Programs
IEEE Transactions on Software Engineering
Parallel program design: a foundation
Parallel program design: a foundation
A tree-based algorithm for distributed mutual exclusion
ACM Transactions on Computer Systems (TOCS)
Predicate calculus and program semantics
Predicate calculus and program semantics
Implementing fault-tolerant services using the state machine approach: a tutorial
ACM Computing Surveys (CSUR)
An efficient and fault-tolerant solution for distributed mutual exclusion
ACM Transactions on Computer Systems (TOCS)
Closure and Convergence: A Foundation of Fault-Tolerant Computing
IEEE Transactions on Software Engineering - Special issue on software reliability
A compositional framework for fault tolerance by specification transformation
Theoretical Computer Science - Special issue on dependable parallel computing
A token based k-resilient mutual exclusion algorithm for distributed systems
Information Processing Letters
Constraint satisfaction as a basis for designing nonmasking fault-tolerance
Journal of High Speed Networks
Component Based Design of Multitolerant Systems
IEEE Transactions on Software Engineering
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Science of Programming
A Discipline of Programming
ProCoS Proceedings of the Third International Symposium Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems
Compositional Design of Multitolerant Repetitive Byzantine Agreement
Proceedings of the 17th Conference on Foundations of Software Technology and Theoretical Computer Science
Designing masking fault-tolerance via nonmasking fault-tolerance
SRDS '95 Proceedings of the 14TH Symposium on Reliable Distributed Systems
Fundamentals of fault-tolerant distributed computing in asynchronous environments
ACM Computing Surveys (CSUR)
Design of Multi-Invariant Data Structures for Robust Shared Accesses in Multiprocessor Systems
IEEE Transactions on Software Engineering
Enhancing The Fault-Tolerance of Nonmasking Programs
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Real-Time Imaging - Special issue on software engineering
Superstabilizing mutual exclusion
Distributed Computing
The Effect of the Specification Model on the Complexity of Adding Masking Fault Tolerance
IEEE Transactions on Dependable and Secure Computing
Specifying and using intrusion masking models to process distributed operations
Journal of Computer Security
Assurance of dynamic adaptation in distributed systems
Journal of Parallel and Distributed Computing
Dependability Engineering of Silent Self-stabilizing Systems
SSS '09 Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems
A novel approach for component-based fault-tolerant software development
Information and Software Technology
Model-based analysis and development of dependable systems
MBEERTS'07 Proceedings of the 2007 International Dagstuhl conference on Model-based engineering of embedded real-time systems
Feasibility of Stepwise Design of Multitolerant Programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Towards scalable model checking of self-stabilizing programs
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
Masking fault-tolerance guarantees that programs continually satisfy their specification in the presence of faults. By way of contrast, nonmasking fault-tolerance does not guarantee as much: it merely guarantees that when faults stop occurring, program executions converge to states from where programs continually (re)satisfy their specification. We present in this paper a component based method for the design of masking fault-tolerant programs. In this method, components are added to a fault-intolerant program in a stepwise manner, first, to transform the fault-intolerant program into a nonmasking fault-tolerant one and, then, to enhance the fault-tolerance from nonmasking to masking. We illustrate the method by designing programs for agreement in the presence of Byzantine faults, data transfer in the presence of message loss, triple modular redundancy in the presence of input corruption, and mutual exclusion in the presence of process fail-stops. These examples also serve to demonstrate that the method accommodates a variety of fault-classes. It provides alternative designs for programs usually designed with extant design methods, and it offers the potential for improved masking fault-tolerant programs.