Abstract
Communicating Finite State Machines (CFSM) lack the high level syntactic and structural abstractions of Communicating Complex State Machines (CCSM), such as nesting and encapsulation, to model highly complex protocols that are likely to arise in web services environments. The incorporation of these features in a protocol specification model would require the design of a new validation technique to efficiently check for protocol errors, such as deadlocks and non-reachable transitions. A reachability graph is used to represent the execution states of the protocol and to verify their consistency. In this paper, we propose a new validation technique for protocols modeled with complex FSM, called RLRA (Reverse Leaping Reachability Analysis), which enables the detection of all deadlock errors. It is a backtracking approach, which first identifies an initial set of suspected states, those possibly containing deadlocks, then refines this set to those likely to cause deadlock, and finally backtracks through the graph while checking for errors until the root state of the protocol is reached. Leap graphs are employed to prune the number of execution states examined, and thereby mitigate the combinatorial explosion of the state space. Extensive tests and comparisons were performed, which show the effectiveness of our technique.
Similar content being viewed by others
References
Choi, T.Y.: A structured approach to the analysis and design of finite state protocols. Ph.D.Thesis, School of Electrical Engineering, Georgia Institute of Technology (1983)
Gouda, M.G., Yu, Y.T.: Protocol validation by maximal progress state exploration. In: Proceedings of ACM SIGCOMM, pp. 68–75 (1983)
Lin, F.J., Chu, P.M., Liu, M.T.: Protocol verification using reachability analysis: the state space explosion problem and relief strategies. Comput. Commun. Rev. 17(5), 126–143 (1987)
Peng, W., Purushothaman, S.: Data flow analysis of communicating finite state machines. ACM Trans. Program. Lang. Syst. 13(3), 399–442 (1991)
Hung, Y.C., Chen, G.H.: Reverse reachability analysis: a new technique for deadlock detection on communicating finite state machines. Softw. Pract. Exp. 23(9), 88–93 (1993)
Ozdemir, K.: Verifying the safety properties of concurrent systems via simultaneous reachability, Ph.D. Thesis, Department of CSI, University of Ottawa (1995)
Hans, V.S., Hasan, U.: A uniform approach to tackle state explosion in verifying progress properties for networks of CFSMs*. Department of Computer Science, University of Ottawa, TR-96-13, November 1996
Ozdemir, K., Ural, H.: Protocol validation by simultaneous reachability analysis. Comput. Commun. 20(9), 772–788 (1997)
Tari, Z., Arora, P.: A communication protocol validation approach based on partial exploration of complex state machines, ICDCIT (2007)
Brand, D., Zafiropulo, P.: On communicating finite state machines. Technical report, RZ 1053, IBM Zurich Research Lab., Riischlikon, Switzerland, January 1981
Pelanek, R., Hanzi, T., Cerna, I., Brim, L.: Enhancing random walk state space exploration. In: Foundations of Software Engineering, Proceedings of the 10th International Workshop on Formal Methods for Industrial Critical Systems, Lisbon, Portugal, pp. 98–105 (2005)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Ahmed K. Elmagarmid.
Rights and permissions
About this article
Cite this article
Zoubeyr, F., Tari, A. & Ouksel, A.M. Backward validation of communicating complex state machines in web services environments. Distrib Parallel Databases 27, 255–270 (2010). https://doi.org/10.1007/s10619-010-7061-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10619-010-7061-8