Skip to main content

Adding Fault-Tolerance Using Pre-synthesized Components

  • Conference paper
Book cover Dependable Computing - EDCC 5 (EDCC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3463))

Included in the following conference series:

Abstract

We present a hybrid synthesis method for automatic addition of fault-tolerance to distributed programs. In particular, we automatically specify and add pre-synthesized fault-tolerance components to programs in the cases where existing heuristics fail to add fault-tolerance. Such addition of pre-synthesized components has the advantage of reusing pre-synthesized fault-tolerance components in the synthesis of different programs, and as a result, reusing the effort put in the synthesis of one program for the synthesis of another program. Our synthesis method is sound in that the synthesized fault-tolerant program satisfies its specification in the absence of faults, and provides desired level of fault-tolerance in the presence of faults. We illustrate our synthesis method by adding pre-synthesized components with linear topology to a token ring program that tolerates the corruption of all processes. Also, we have reused the same component in the synthesis of a fault-tolerant alternating bit protocol. Elsewhere, we have applied this method for adding presynthesized components with hierarchical topology.

This work was partially sponsored by NSF CAREER CCR-0092724, DARPA Grant OSURS01-C-1901, ONR Grant N00014-01-1-0744, NSF grant EIA-0130724, and a grant from Michigan State University.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Kulkarni, S.S., Arora, A.: Automating the addition of fault-tolerance. Formal Techniques in Real-Time and Fault-Tolerant Systems, 82 (2000)

    Google Scholar 

  2. Kulkarni, S.S., Arora, A., Chippada, A.: Polynomial time synthesis of Byzantine agreement. In: Symposium on Reliable Distributed Systems (2001)

    Google Scholar 

  3. Kulkarni, S.S., Ebnenasir, A.: The complexity of adding failsafe fault-tolerance. In: International Conference on Distributed Computing Systems, pp. 337–334 (2002)

    Google Scholar 

  4. Kulkarni, S.S., Ebnenasir, A.: Enhancing the fault-tolerance of nonmasking programs. In: International Conference on Distributed Computing Systems, pp. 441–450 (2003)

    Google Scholar 

  5. Kulkarni, S.S.: Component-based design of fault-tolerance. PhD thesis, Ohio State University (1999)

    Google Scholar 

  6. Ebnenasir, A., Kulkarni, S.S.: FTSyn: A framework for automatic synthesis of fault-tolerance, http://www.cse.msu.edu/~ebnenasi/research/tools/ftsyn.htm

  7. Ebnenasir, A., Kulkarni, S.S.: Hierarchical presynthesized components for automatic addition of fault-tolerance: A case study. In: In the extended abstracts of the ACM workshop on the Specification and Verification of Component-Based Systems (SAVCBS), Newport Beach, California (2004)

    Google Scholar 

  8. Alpern, B., Schneider, F.B.: Defining liveness. Information Processing Letters 21, 181–185 (1985)

    Article  MATH  MathSciNet  Google Scholar 

  9. Arora, A., Gouda, M.G.: Closure and convergence: A foundation of faulttolerant computing. IEEE Transactions on Software Engineering 19(11), 1015–1027 (1993)

    Article  Google Scholar 

  10. Arora, A., Kulkarni, S.S.: Detectors and correctors: A theory of fault-tolerance components. In: International Conference on Distributed Computing Systems, pp. 436–443 (May 1998)

    Google Scholar 

  11. Attie, P., Emerson, A.: Synthesis of concurrent programs for an atomic read/write model of computation. ACM TOPLAS (a preliminary version of this paper appeared in PODC96) 23(2) (March 2001)

    Google Scholar 

  12. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1990)

    Google Scholar 

  13. Kulkarni, S.S., Ebnenasir, A.: Adding fault-tolerance using presynthesized components. Technical report MSU-CSE-03-28, Department of Computer Science, Michigan State University, East Lansing, Michigan, USA. A revised version is available at http://www.cse.msu.edu/~sandeep/auto_component_techreport.ps (2003)

  14. Arora, A., Kulkarni, S.S.: Component based design of multi-tolerant systems. IEEE Transactions on Software Engineering (1998)

    Google Scholar 

  15. Zaremski, A.M., Wing, J.M.: Specification matching of software components. In: Proceedings of the 3 rd ACM SIGSOFT Symposium on the Foundations of Software Engineering (1995)

    Google Scholar 

  16. Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Communications of the ACM (1974)

    Google Scholar 

  17. Liu, Z., Joseph, M.: Transformations of programs for fault-tolerance. Formal Aspects of Computing (1992)

    Google Scholar 

  18. Tomlinson, A.I., Garg, V.K.: Detecting relational global predicates in distributed systems. In: Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging, San Diego, California, pp. 21–31 (May 1993)

    Google Scholar 

  19. Mittal, N.: Techniques for Analyzing Distributed Computations. PhD thesis, The University of Texas at Austin (2002)

    Google Scholar 

  20. Arora, A., Attie, P.C., Emerson, E.A.: Synthesis of fault-tolerant concurrent programs. In: Proceedings of the 17th ACM Symposium on Principles of Distributed Computing (PODC) (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kulkarni, S.S., Ebnenasir, A. (2005). Adding Fault-Tolerance Using Pre-synthesized Components. In: Dal Cin, M., Kaâniche, M., Pataricza, A. (eds) Dependable Computing - EDCC 5. EDCC 2005. Lecture Notes in Computer Science, vol 3463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11408901_6

Download citation

  • DOI: https://doi.org/10.1007/11408901_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25723-3

  • Online ISBN: 978-3-540-32019-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics