Abstract
The development of distributed systems is considered a complex task. The process of assuring the correctness of such systems is even more difficult if we consider open environments (e.g. Internet), where faults may occur. To help such process 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. We use a graphical and declarative formal specification language, called Object Based Graph Grammars, to model asynchronous distributed systems. The approach used to specify and analyze the behavior of distributed systems in the presence of faults is based on the observation that a fault behavior can be modeled as an unwanted but possible state transition of a system. Following this approach we can define a fault model, like crash for example, as being a transformation of a model. Thus, a model M 1 of a distributed system can be transformed into a model M 2, that comprehends the behavior of some kind of fault model. To show these methods and tools we model a pull-based failure detector as a case study.
This work is partially supported by HP Brasil – PUCRS agreement CASCO (24∘ TA.), and ForMOS Research Project – FAPERGS (Brazil) grant 01/0759.1 and CNPq (Brazil) grant 520269/98-5.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Copstein, B., Móra, M.C., Ribeiro, L.: An environment for formal modeling and simulation of control systems. In: 33rd Annual Simulation Symposium, USA, pp. 74–82. IEEE Computer Society Press, Los Alamitos (2000)
Cristian, F.: A rigorous approach to fault-tolerant programming. IEEE Transactions on Software Engineering 11(1), 23–31 (1985)
Dèharbe, D., Moreira, A.M., Ribeiro, L., Rodrigues, V.M.: Introduction to formal methods: specification, semantics and verification of concurrent systems. Revista de Informática Teórica e Aplicada – UFRGS 7(1), 7–48 (2000) (in portuguese)
Dotti, F.L., Duarte, L.M., Copstein, B., Ribeiro, L.: Simulation of mobile applications. In: Communication Networks and Distributed Systems Modeling and Simulation Conference, USA, pp. 261–267 (2002); The Society for Modeling and Simulation International
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, USA, pp. 1–9 (2002); Society for Design and Process Science
Dotti, F.L., Foss, L., Ribeiro, L., Santos, O.M.: Formal specification and verification of distributed systems. In: The Society for Modeling and Simulation International 17th Brazilian Symposium on Software Engineering (2003) (in portuguese) (accepted for publication)
Dotti, F.L., Ribeiro, L.: Specification of mobile code systems using graph grammars. In: 4th International Conference on Formal Methods for Open Object- Based Distributed Systems, USA. IFIP Conference Proceedings, vol. 177, pp. 45–63. Kluwer, Dordrecht (2000)
Duarte, L.M.: Development of distributed systems with mobile code using formal specifications. Master’s thesis, PUCRS – Faculdade de Informática – PPGCC, Brazil (2001) (in portuguese)
Ehrig, H.: Introduction to the algebraic theory of graph grammars. In: 1st International Workshop on Graph Grammars and Their Application to Computer Science and Biology, Germany. LNCS, vol. 73, pp. 1–69. Springer, Heidelberg (1979)
Fournet, C., Gonthier, G., Lévy, J.-J., Maranget, L., Rémy, D.: A calculus of mobile agents. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, 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, 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, USA, pp. 2–11. IEEE Computer Society Press, Los Alamitos (1985)
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)
Mathur, A.P., DeMillo, R.A., Li, T.: Architecture of tamer: a tool for dependability analysis of distributed fault-tolerant systems. Technical Report SERC-TR-158-P, Department of Computer Sciences – Purdue University (1994)
Rödel, E.T.: Formal modeling of faults in distributed systems with mobile code. Master’s thesis, PUCRS – Faculdade de Informática – PPGCC, Brazil (2003) (in portuguese)
Jahanian, F., Dawson, S.: Probing and fault injection of protocol implementations. In: 15th International Conference on Distributed Computing Systems, Canada, pp. 351–359. IEEE Computer Society Press, Los Alamitos (1995)
Silva, F.A.: A transaction model based on mobile agents. PhD thesis, Technical University Berlin – FB Informatik, Germany (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dotti, F.L., dos Santos, O.M., Rödel, E.T. (2003). On the Use of Formal Specifications to Analyze Fault Behaviors of Distributed Systems. In: de Lemos, R., Weber, T.S., Camargo, J.B. (eds) Dependable Computing. LADC 2003. Lecture Notes in Computer Science, vol 2847. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45214-0_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-45214-0_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20224-0
Online ISBN: 978-3-540-45214-0
eBook Packages: Springer Book Archive