Abstract
In this paper we make use of formal methods and tools as means to specify and reason about the behavior of distributed systems in the presence of faults. The approach used is based on the observation that a fault behavior can be modeled as an unwanted but possible transition of a system. It is then possible to define a transformation of a model M 1 of a distributed system into a model M 2 representing the behavior of the original system in the presence of a selected fault. We use a formal specification language called Object Based Graph Grammars to describe models of asynchronous distributed systems and present, for models written in terms of this language, the transformation steps for introducing a set of classical fault models found in the literature. As a result of this process, over the transformed model(s) it is possible for the developer to reason about the behavior of the original model(s) in the presence of a selected fault behavior. As a case study, we present the specification of a pull-based failure detector, then we transform this model to include the behavior of the crash fault model and analyze, through simulation, the behavior of the pull-based failure detector in the presence of a crash.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This work is partially supported by HP Brasil – PUCRS agreement CASCO, ForMOS (FAPERGS/CNPq), PLATUS (CNPq), IQ-Mobile II (CNPq/CNR) and DACHIA (FAPERGS/IB-BMBF) Research Projects.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Copstein, B., Mora, M., Ribeiro, L.: An environment for formal modeling and simulation of control system. In: Proc. of the 33rd Annual Simulation Symposium, pp. 74–82. SCS (2000)
Copstein, B., Ribeiro, L.: Compositional Construction of Simulation Models using Graph Grammars. In: Münch, M., Nagl, M. (eds.) AGTIVE 1999. LNCS, vol. 1779, pp. 87–94. Springer, Heidelberg (2000)
Cristian, F.: A rigorous approach to Fault-Tolerant programming. IEEE Transactions on Software Engineering 11(1), 23–31 (1985)
Dotti, F., Ribeiro, L.: Specification of mobile code systems using graph grammars. In: Smith, S., Talcott, C. (eds.) Formal Methods for Open Object-based Systems IV, pp. 45–64. Kluwer Academic Publishers, Dordrecht (2000)
Dotti, F.L., Duarte, L.M., Copstein, B., Ribeiro, L.: Simulation of Mobile Applications. In: Communication Networks and Distributed Systems Modeling and Simulation Conference, pp. 261–267. SCS International (2002)
Dotti, F.L., Duarte, L.M., Silva, F.A., Andrade, A.S.: A Framework for Supporting the Development of Correct Mobile Applications based on Graph Grammars. In: 6th World Conference on Integrated Design & Process Technology, pp. 1–9. SDPS (2002)
Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.): Handbook of Graph Grammars and Computing by Graph Transformations. Applications, Languages and Tools, vol. 2, World Scientific, Singapore (1999)
Fournet, C., Gonthier, G., Lévy, J.-J., Maranget, L., Rémy, D.: A Calculus of Mobile Agents. In: 7th International Conference on Concurrency Theory, pp. 406–421. Springer, Heidelberg (1996)
Gärtner, F.C.: Specifications for Fault Tolerance: A Comedy of Failures. Technical Report TUD-BS-1998-03, Darmstadt University of Technology, Department of Computer Science, Germany (1998)
Gärtner, F.C.: Fundamentals of Fault-Tolerant Distributed Computing in Asynchronous Environments. ACM Computing Surveys 31(1), 1–26 (1999)
Hadzilacos, V., Toueg, S.: A Modular Approach to Fault-Tolerant Broadcasts and Related Problems. Technical Report TR94-1425, Cornell University, Department of Computer Science, Ithaca, NY, USA (1994)
Holzmann, G.J.: The Model Checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)
Jalote, P.: Fault Tolerance in Distributed Systems, pp. 51–53. Prentice Hall, Englewood Cliffs (1994)
Lamport, L., Shostak, R., Pease, M.: The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems 4(3), 382–401 (1982)
Laprie, J.-C.: Dependable Computing and Fault Tolerance: Concepts and Terminology. In: 15th International Symposium on Fault-Tolerant Computing, pp. 2–11. IEEE Computer Society Press, Los Alamitos (1985)
Lynch, N.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)
Lynch, N., Tuttle, M.: An Introduction to Input/Output Automata. CWIQuarterly 3(2), 219–246 (1989)
Perry, K.J., Toueg, S.: Distributed Agreement in the Presence of Processor and Communication Faults. IEEE Transactions on Software Engineering 12(3), 477–482 (1986)
Rödel, E.T.: Modelagem Formal de Falhas em Sistemas Distribuídos envolvendo Mobilidade (Formal Modeling of Faults in Distributed Systems with Code Mobility). Master’s thesis, Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, RS, Brasil (2003)
Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations. Foundations, vol. 1. World Scientific, Singapore (1997)
Silva, F.A.: A Transaction Model based on Mobile Agents. PhD thesis, Technical University Berlin - FB Informatik, Berlin, Germany (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dotti, F.L., Ribeiro, L., dos Santos, O.M. (2004). Specification and Analysis of Fault Behaviours Using Graph Grammars. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds) Applications of Graph Transformations with Industrial Relevance. AGTIVE 2003. Lecture Notes in Computer Science, vol 3062. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25959-6_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-25959-6_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22120-3
Online ISBN: 978-3-540-25959-6
eBook Packages: Springer Book Archive