Abstract
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.
Supported in part by NSF CAREER award CCR-9734115 and by the DARPA grant NAG2-1214.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
R. Alur, G. J. Holzmann, and D. Peled. An analyzer for message sequence charts. Software Concepts and Tools, 17(2):70–77, 1996.
R. Alur and M. Yannakakis. Model checking of hierarchical state machines. In Proc. Sixth ACM FSE, 175–188, 1998.
G. Booch, I. Jacobson, and J. Rumbaugh. Unified Modeling Language User Guide. Addison Wesley, 1997.
H. Ben-Abdallah and S. Leue. Syntactic detection of process divergence and nonlocal choice in message sequence charts. In Proc. of TACAS. 1997.
E. M. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proc. Workshop on Logic of Programs, LNCS 131, pages 52–71, 1981.
E. M. Clarke and R. P. Kurshan. Computer-aided verification. IEEE Spectrum, 33(6):61–67, 1996.
J. Feigenbaum, J. A. Kahn, and C. Lund. Complexity results for pomset languages. In Proc. CAV, 1991.
D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8:231–274, 1987.
G. J. Holzmann. Early fault detection tools. Software Concepts and Tools, 17(2):63–69, 1996.
G. J. Holzmann. The model checker spin. IEEE Trans. on Software Engineering, 23(5):279–295, 1997.
G. J. Holzmann, D. A. Peled, and M. H. Redberg. Design tools for for requirements engineering. Lucent Bell Labs Technical Journal, 2(1):86–95, 1997.
R. P. Kurshan. Computer-aided Verification of Coordinating Processes: the automata-theoretic approach. Princeton University Press, 1994.
P. Ladkin and S. Leue. Interpreting message flow graphs. Formal Aspects of Computing, 3, 1994.
V. Levin, and D. Peled. Verification of message sequence charts via template matching. In Proc. TAPSOFT, 1997.
A. Muscholl, D. Peled, and Z. Su. Deciding properties of message sequence charts. In Found. of Software Science and Computation Structures, 1998.
S. Mauw and M. A. Reniers. An algebraic semantics of basic message sequence charts. Computer Journal, 37, 1994.
V. R. Pratt. Modeling concurrency with partial orders. International Journal of Parallel Programming, 15(1), 1986.
E. Rudolph, P. Graubmann, and J. Gabowski. Tutorial on message sequence charts. In Computer Networks and ISDN Systems, volume 28. 1996.
B. Selic, G. Gullekson, and P. T. Ward. Real-time object oriented modeling and design. J. Wiley, 1994.
M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proc. First LICS, pages 332–344, 1986.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Alur, R., Yannakakis, M. (1999). Model Checking of Message Sequence Charts. In: Baeten, J.C.M., Mauw, S. (eds) CONCUR’99 Concurrency Theory. CONCUR 1999. Lecture Notes in Computer Science, vol 1664. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48320-9_10
Download citation
DOI: https://doi.org/10.1007/3-540-48320-9_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66425-3
Online ISBN: 978-3-540-48320-5
eBook Packages: Springer Book Archive