Model Checking of Message Sequence Charts
Scenario-based specifications such as message sequence charts (MSC) offer an intuitive and visual way of describing design requirements. Such specifications focus on message exchanges among communicating entities in distributed software systems. Structured specifications such as MSC-graphs and Hierarchical MSC-graphs (HMSC) allow convenient expression of multiple scenarios, and can be viewed as an early model of the system. In this paper, we present a comprehensive study of the problem of verifying whether this model satisfies a temporal requirement given by an automaton, by developing algorithms for the different cases along with matching lower bounds.
When the model is given as an MSC, model checking can be done by constructing a suitable automaton for the linearizations of the partial order specified by the MSC, and the problem is coNP-complete. When the model is given by an MSC-graph, we consider two possible semantics depending on the synchronous or asynchronous interpretation of concatenating two MSCs. For synchronous model checking of MSC-graphs and HMSCs, we present algorithms whose time complexity is proportional to the product of the size of the description and the cost of processing MSCs at individual vertices. Under the asynchronous interpretation, we prove undecidability of the model checking problem. We, then, identify a natural requirement of boundedness, give algorithms to check boundedness, and establish asynchronous model checking to be Pspace-complete for bounded MSC-graphs and Expspace-complete for bounded HMSCs.
- 2.R. Alur and M. Yannakakis. Model checking of hierarchical state machines. In Proc. Sixth ACM FSE, 175–188, 1998.Google Scholar
- 3.G. Booch, I. Jacobson, and J. Rumbaugh. Unified Modeling Language User Guide. Addison Wesley, 1997.Google Scholar
- 4.H. Ben-Abdallah and S. Leue. Syntactic detection of process divergence and nonlocal choice in message sequence charts. In Proc. of TACAS. 1997.Google Scholar
- 7.J. Feigenbaum, J. A. Kahn, and C. Lund. Complexity results for pomset languages. In Proc. CAV, 1991.Google Scholar
- 12.R. P. Kurshan. Computer-aided Verification of Coordinating Processes: the automata-theoretic approach. Princeton University Press, 1994.Google Scholar
- 13.P. Ladkin and S. Leue. Interpreting message flow graphs. Formal Aspects of Computing, 3, 1994.Google Scholar
- 14.V. Levin, and D. Peled. Verification of message sequence charts via template matching. In Proc. TAPSOFT, 1997.Google Scholar
- 15.A. Muscholl, D. Peled, and Z. Su. Deciding properties of message sequence charts. In Found. of Software Science and Computation Structures, 1998.Google Scholar
- 16.S. Mauw and M. A. Reniers. An algebraic semantics of basic message sequence charts. Computer Journal, 37, 1994.Google Scholar
- 17.V. R. Pratt. Modeling concurrency with partial orders. International Journal of Parallel Programming, 15(1), 1986.Google Scholar
- 18.E. Rudolph, P. Graubmann, and J. Gabowski. Tutorial on message sequence charts. In Computer Networks and ISDN Systems, volume 28. 1996.Google Scholar
- 19.B. Selic, G. Gullekson, and P. T. Ward. Real-time object oriented modeling and design. J. Wiley, 1994.Google Scholar
- 20.M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proc. First LICS, pages 332–344, 1986.Google Scholar