Skip to main content

Verifying Fault-Tolerant Distributed Systems Using Object-Based Graph Grammars

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3747))

Abstract

Assuring the correctness of fault-tolerant distributed systems can be an overwhelming task. Besides dealing with complex problems of distributed systems, it is also necessary to design the system in such a way that a well-defined failure behaviour, or the masking of failure components, is presented by the system when components fail. To help reasoning about such systems, the use of formal methods becomes desirable. In previous work we introduced a graphical formal specification language, called Object-Based Graph Grammars (OBGG), for modelling asynchronous distributed systems. We also defined a method for automatically inserting classical fault behaviours into OBGG models. The obtained models could be analysed using simulation. In this paper a new method for automatically inserting fault behaviours into OBGG models, which is suitable for using verification as the analysis method, is proposed. Moreover, we show how to formally verify OBGG models in the presence of such faults. A two phase commit protocol is used to illustrate the contributions.

This work is partially sponsored by IQ-MObile (CNPq/CNR) and DACHIA (FAPERGS/IB-BMBF) projects. Authors appear in alphabetical order.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Birman, K.P.: Building secure and reliable network applications. Manning Publications, USA (1996)

    Google Scholar 

  2. Burch, J.R., et al.: Symbolic model checking: 1020 states and beyond. Information and Computation 98(2), 142–170 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  3. Chechik, M., Păun, D.O.: Events in property patterns. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 154–167. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  4. Cristian, F.: A rigorous approach to fault-tolerant programming. IEEE Trans. on Soft. Eng. 11(1), 23–31 (1985)

    Article  Google Scholar 

  5. Cristian, F.: Understanding fault-tolerant distributed systems. Communications of the ACM 34(2), 56–78 (1991)

    Article  Google Scholar 

  6. Dotti, F.L., Duarte, L.M., Copstein, B., Ribeiro, L.: Simulation of mobile applications. In: 2002 Communication Networks and Distributed Systems Modeling and Simulation Conference, USA, pp. 261–267. SCS (2002)

    Google Scholar 

  7. Dotti, F.L., et al.: An environment for the development of concurrent object-based applications. Eletronic Notes in Theoretical Computer Science 127, 3–13 (2005)

    Article  Google Scholar 

  8. Dotti, F.L., Foss, L., Ribeiro, L., Santos, O.M.: Verification of object-based distributed systems. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 261–275. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  9. Dotti, F.L., Ribeiro, L.: Specification of mobile code systems using graph grammars. In: 4th Int. Conference on Formal Methods for Open Object-Based Distributed Systems, IFIP Conference Proceedings, USA, vol. 177, pp. 45–64. Kluwer Academic Publishers, Dordrecht (2000)

    Google Scholar 

  10. Dotti, F.L., Santos, O.M., Rödel, E.T.: On the use of formal specifications to analyze fault behaviors of distributed systems. In: de Lemos, R., Weber, T.S., Camargo Jr., J.B. (eds.) LADC 2003. LNCS, vol. 2847, pp. 341–360. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  11. Fournet, C., et al.: A calculus of mobile agents. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 406–421. Springer, Heidelberg (1996)

    Google Scholar 

  12. Gärtner, F.C.: Specification for fault tolerance: a comedy of failures. Technical Report TUD-BS-1998-03, Department of Computer Science - Darmstadt University of Technology, Germany (1998)

    Google Scholar 

  13. Gärtner, F.C.: Fundamentals of fault-tolerant distributed computing in asynchronous environments. ACM Computing Surveys 31(1), 1–26 (1999)

    Article  Google Scholar 

  14. Hadzilacos, V., Toueg, S.: A modular approach to fault-tolerant broadcasts and related problems. Technical Report TR94-1425, Department of Computer Science, Cornell University, USA (1994)

    Google Scholar 

  15. Holzmann, G.J.: The model checker SPIN. IEEE Trans. on Soft. Eng. 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  16. Jalote, P.: Fault tolerance in distributed systems. Prentice Hall, USA (1994)

    Google Scholar 

  17. Lamport, L., Lynch, N.: Distributed computing: models and methods. In: Handbook of theoretical computer science, vol. B. formal models and semantics, Elsevier, Amsterdam (1990)

    Google Scholar 

  18. Lynch, N.A.: Distributed algorithms. Morgan Kaufmann, USA (1996)

    MATH  Google Scholar 

  19. Perraju, T.S., Rana, S.P., Sarkar, S.P.: Specifying fault tolerance in mission critical systems. In: 1st IEEE High Assurance Systems Engineering Workshop, Canada, pp. 24–31. IEEE Computer Society Press, Los Alamitos (1996)

    Google Scholar 

  20. Perry, K.J., Toueg, S.: Distributed agreement in the presence of processor and communication faults. IEEE Trans. on Soft. Eng. 12(3), 477–482 (1986)

    Google Scholar 

  21. Rensink, A., Schmidt, Á., Varró, D.: Model checking graph transformations: a comparison of two approaches. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 226–241. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  22. Rozenberg, G. (ed.): Handbook of graph grammars and computing by graph transformation, Foundations, vol. 1. World Scientific Publisher, Singapore (1997)

    Google Scholar 

  23. Santos, O.M., Dotti, F.L., Ribeiro, L.: Verifying object-based graph grammars. Eletronic Notes in Theoretical Computer Science 109, 125–136 (2004)

    Article  Google Scholar 

  24. Yokogawa, T., Tsuchiya, T., Kikuno, T.: Automatic verification of fault tolerance using model checking. In: 2001 Pacific Rim Int. Symposium on Dependable Computing, Korea, pp. 95–102. IEEE Computer Society Press, Los Alamitos (2001)

    Chapter  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

Dotti, F.L., Mendizabal, O.M., dos Santos, O.M. (2005). Verifying Fault-Tolerant Distributed Systems Using Object-Based Graph Grammars. In: Maziero, C.A., Gabriel Silva, J., Andrade, A.M.S., de Assis Silva, F.M. (eds) Dependable Computing. LADC 2005. Lecture Notes in Computer Science, vol 3747. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11572329_9

Download citation

  • DOI: https://doi.org/10.1007/11572329_9

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-32092-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics