Model Checking of Message Sequence Charts

  • Rajeev Alur
  • Mihalis Yannakakis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1664)

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.

References

  1. 1.
    R. Alur, G. J. Holzmann, and D. Peled. An analyzer for message sequence charts. Software Concepts and Tools, 17(2):70–77, 1996.MATHGoogle Scholar
  2. 2.
    R. Alur and M. Yannakakis. Model checking of hierarchical state machines. In Proc. Sixth ACM FSE, 175–188, 1998.Google Scholar
  3. 3.
    G. Booch, I. Jacobson, and J. Rumbaugh. Unified Modeling Language User Guide. Addison Wesley, 1997.Google Scholar
  4. 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
  5. 5.
    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.CrossRefGoogle Scholar
  6. 6.
    E. M. Clarke and R. P. Kurshan. Computer-aided verification. IEEE Spectrum, 33(6):61–67, 1996.CrossRefGoogle Scholar
  7. 7.
    J. Feigenbaum, J. A. Kahn, and C. Lund. Complexity results for pomset languages. In Proc. CAV, 1991.Google Scholar
  8. 8.
    D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8:231–274, 1987.MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    G. J. Holzmann. Early fault detection tools. Software Concepts and Tools, 17(2):63–69, 1996.MATHGoogle Scholar
  10. 10.
    G. J. Holzmann. The model checker spin. IEEE Trans. on Software Engineering, 23(5):279–295, 1997.CrossRefMathSciNetGoogle Scholar
  11. 11.
    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.CrossRefGoogle Scholar
  12. 12.
    R. P. Kurshan. Computer-aided Verification of Coordinating Processes: the automata-theoretic approach. Princeton University Press, 1994.Google Scholar
  13. 13.
    P. Ladkin and S. Leue. Interpreting message flow graphs. Formal Aspects of Computing, 3, 1994.Google Scholar
  14. 14.
    V. Levin, and D. Peled. Verification of message sequence charts via template matching. In Proc. TAPSOFT, 1997.Google Scholar
  15. 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. 16.
    S. Mauw and M. A. Reniers. An algebraic semantics of basic message sequence charts. Computer Journal, 37, 1994.Google Scholar
  17. 17.
    V. R. Pratt. Modeling concurrency with partial orders. International Journal of Parallel Programming, 15(1), 1986.Google Scholar
  18. 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. 19.
    B. Selic, G. Gullekson, and P. T. Ward. Real-time object oriented modeling and design. J. Wiley, 1994.Google Scholar
  20. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Rajeev Alur
    • 1
    • 2
  • Mihalis Yannakakis
    • 2
  1. 1.Department of Computer and Information ScienceUniversity of Pennsylvania
  2. 2.Bell Laboratories, Lucent TechnologiesUSA

Personalised recommendations