Abstract
In this paper, we focus on automating the transformation of a given fault-intolerant program into a fault-tolerant program. We show how such a transformation can be done for three levels of fault-tolerance properties, failsafe, nonmasking and masking. For the high atomicity model where the program can read all the variables and write all the variables in one atomic step, we show that all three transformations can be performed in polynomial time in the state space of the fault-intolerant program. For the low atomicity model where restrictions are imposed on the ability of programs to read and write variables, we show that all three transformations can be performed in exponential time in the state space of the fault-intolerant program. We also show that the the problem of adding masking fault-tolerance is NP-hard and, hence, exponential complexity is inevitable unless P =NP.
Email: sandeep@cse.msu.edu, nish@cis.ohio-state.edu. Web: http://www.cse.msu. edu/~sandeep, http://www.cis.ohio-state.edu/~anish. Tel: +1-517-355-2387. Arora is currently on sabbatical leave at Microsoft Research. This work was partially sponsored by NSA Grant MDA904-96-1-0111, NSF Grant NSF-CCR-9972368, an Ameritech Faculty Fellowship, a grant from Microsoft Research, and a grant from Michigan State University.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Arora and S. S. Kulkarni. Detectors and correctors: A theory of fault-tolerance components. International Conference on Distributed Computing Systems, pages 436–443, May 1998.
S. S. Kulkarni. Component-based design of fault-tolerance. PhD thesis, Ohio State University, 1999.
Sandeep S. Kulkarni and Anish Arora. Automating the addition of fault-tolerance. Technical Report MSU-CSE-00-13, Computer Science and Engineering, Michigan State University, East Lansing, Michigan, June 2000.
B. Alpern and F. B. Schneider. Defining liveness. Information Processing Letters, 21:181–185, 1985.
E. A. Emerson and E. M. Clarke. Using branching time temporal logic to synchronize synchronization skeletons. Science of Computer Programming, 2:241–266, 1982.
Z. Manna and P. Wolper. Synthesis of communicating processes from temporal logic speci_cations. ACM Transactions on Programming Languages and Systems, 6:68–93, 1984.
A. Pnueli and R. Rosner. On the synthesis of a reactive module. ACM Symposium on Principles of Programming Languages, pages 179–190, 1989.
A. Anuchitanukul and Z. Manna. Reliability and synthesis of reactive modules. International Conference on Computer-Aided Verification, pages 156–169, 1994.
A. Arora, P. C. Attie, and E. A. Emerson. Synthesis of fault-tolerant concurrent programs. Proceedings of the 17th ACM Symposium on Principles of Distributed Computing (PODC), 1998.
O. Kupferman and M. Vardi. Synthesis with incomplete information. ICTL, 1997.
D. Dill and H. Wong-Toi. Synthesizing processes and schedulers from temporal specifications. International Conference on Computer-Aided Verification, 1990.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kulkarni, S.S., Arora, A. (2000). Automating the Addition of Fault-Tolerance. In: Joseph, M. (eds) Formal Techniques in Real-Time and Fault-Tolerant Systems. FTRTFT 2000. Lecture Notes in Computer Science, vol 1926. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45352-0_9
Download citation
DOI: https://doi.org/10.1007/3-540-45352-0_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41055-3
Online ISBN: 978-3-540-45352-9
eBook Packages: Springer Book Archive