Live and Let Die: LSC-Based Verification of UML-Models

  • Werner Damm
  • Bernd Westphal
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2852)


We present a strategy for automatic formal verification of Live Sequence Chart (LSC) specifications against UML models in the semantics of [7] employing the symmetry-based technique of Query Reduction [18,34,44] and the abstraction technique Data-type Reduction [34]. Altogether this allows for automatic formal verification without providing finite bounds on the numbers of objects created during a run of the system.

Our presentation is grounded on a specific formal interpretation of LSCs for the UML domain in terms of [7] which is rich enough to in particular express properties about objects which are created only during activation of the LSC.


Model Check Sequence Diagram Linear Temporal Logic Linear Temporal Logic Formula Instance Line 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Clarke, E.M., Enders, R., Filkorn, T., Jha, S.: Exploiting Symmetry in Temporal Logic Model Checking. Formal Methods in System Design 9(1/2), 77–104 (1996)CrossRefGoogle Scholar
  2. 2.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  3. 3.
    Corbett, J., Dwyer, M., Hatcliff, J., Robby: A Language Framework for Expressing Checkable Properties of Dynamic Software. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 205–223. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  4. 4.
    Csertán, G., Huszerl, G., Majzik, I., Pap, Z., Pataricza, A., Varró, D.: Viatra - visual automated transformations for formal verification of uml models. In: Proceedings International Conference on Automated Software Engineering, ASE 2002 (2002)Google Scholar
  5. 5.
    Damm, W., Harel, D.: LSCs: Breathing Life into Message Sequence Charts. Formal Methods in System Design 19(1), 121–141 (2001)zbMATHCrossRefGoogle Scholar
  6. 6.
    Damm, W., Jonsson, B.: Eliminating Queues from RT UML Model Representations. In: Damm and Olderog [8], pp. 375–394Google Scholar
  7. 7.
    Damm, W., Josko, B., Pnueli, A., Votintseva, A.: Understanding UML: A Formal Semantics of Concurrency and Communication in Real-Time UML. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 71–98. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  8. 8.
    Damm, W., Olderog, E.-R. (eds.): FTRTFT 2002. LNCS, vol. 2469. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  9. 9.
    David, A., Möller, M.O., Yi, W.: Formal Verification of UML Statecharts with Real-Time Extensions. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 218–232. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Emerson, E.A., Sistla, A.P.: Symmetry and Model Checking. Formal Methods in System Design 9(1/2), 105–131 (1996)CrossRefGoogle Scholar
  11. 11.
    Feather, M., Goedicke, M. (eds.): Proceedings of ASE2001 (16th IEEE International Conference on Automated Software Engineering). IEEE CS Press, Los Alamitos (November 2001)Google Scholar
  12. 12.
    Le Guennec, A.: Genie Logiciel et Methodes Formelles avec UML - Specification, Validation et Generation de Tests. PhD thesis, Université de Rennes 1 (2001)Google Scholar
  13. 13.
    Harel, D., Gery, E.: Executable Object Modeling with Statecharts. IEEE Computer 30(7), 31–42 (1997)Google Scholar
  14. 14.
    Harel, D., Marelly, R.: Specifying and executing behavioral requirements: The play-in/ play-out approach. Technical Report MCS01-15, The Weizmann Institute of Science (2001)Google Scholar
  15. 15.
    Hussmann, H.: Loose semantics for uml,ocl. In: Proceedings 6th World Conference on Integrated Design & Process Technology (IDPT 2002). Society for Design and Process Science (June 2002)Google Scholar
  16. 16.
    Iosif, R.: Exploiting heap symmetries in explicit-state model checking of software. In: Feather, M., Goedicke, M. (eds.) Proceedings of ASE-2001: The 16th IEEE Conference on Automated Software Engineering. IEEE CS Press, Los Alamitos (November 2001)Google Scholar
  17. 17.
    Iosif, R.: Symmetry reduction criteria for software model checking. In: Bošnački, D., Leue, S. (eds.) SPIN 2002. LNCS, vol. 2318, pp. 22–41. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  18. 18.
    Ip, C.N., Dill, D.L.: Better Verification Through Symmetry. Formal Methods in System Design 9(1/2), 41–75 (1996)Google Scholar
  19. 19.
    Ip, C.N., Dill, D.L.: Verifying Systems with Replicated Components in Murφ. Formal Methods in System Design 14(3), 273–310 (1999)CrossRefGoogle Scholar
  20. 20.
    ITU-T. ITU-T Recommendation Z.120: Message Sequence Chart (MSC). ITU-T, Geneva (1993)Google Scholar
  21. 21.
    ITU-T. ITU-T Recommendation Z.120: Message Sequence Chart (MSC). ITU-T, Geneva (1996) Google Scholar
  22. 22.
    ITU-T. ITU-T Recommendation Z.120: Message Sequence Chart (MSC). ITU-T, Geneva (1999)Google Scholar
  23. 23.
    Kleppe, A., Warmer, J.: Unification of static and dynamic semantics of uml. Technical report, Klasse Objecten, Soest, Netherlands (2001)Google Scholar
  24. 24.
    Klose, J.: Syntax and Semantics of Live Sequence Charts. PhD thesis, Carl von Ossietzky Universität Oldenburg (2003) (to appear)Google Scholar
  25. 25.
    Klose, J., Westphal, B.: Relating LSC Specifications to UML Models. In: Ehrig, H., Grosse-Rhode, M. (eds.) Proceedings INT2002- International Workshop on Integration of Specification Techniques for Applications in Engineering (April 2002)Google Scholar
  26. 26.
    Klose, J., Wittke, H.: An Automata Based Interpretation of Live Sequence Charts. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 512–527. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  27. 27.
    Knapp, A., Merz, S., Rauh, C.: Model Checking Timed UML State Machines and Collaborations. In: Damm and Olderog [8], pp. 395–416Google Scholar
  28. 28.
    Latella, D., Majzik, I., Massink, M.: Automatic Verification of a Behavioral Subset of UML Statechart Diagrams Using the SPIN Model-checker. Formal Aspects of Computing 11(6), 637–664 (1999)zbMATHCrossRefGoogle Scholar
  29. 29.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, New York (1991)zbMATHGoogle Scholar
  30. 30.
    Marelly, R., Harel, D., Kugler, H.: Multiple instances and symbolic variables in executable sequence charts. In: Proceedings of the 2002 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA 2002, Seattle, Washington, USA, November 4-8. SIGPLAN Notices, vol. 37(11), pp. 83–100. ACM, New York (2002)CrossRefGoogle Scholar
  31. 31.
    McMillan, K.L.: Verification of an Implementation of Tomasulo’s Algorithm by Compositional Model Checking. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427, pp. 110–121. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  32. 32.
    McMillan, K.L.: Getting Started with SMV. Technical report, Cadence Berkeley Labs (March 1999),
  33. 33.
    McMillan, K.L.: Verification of Infinite State Systems by Compositional Model Checking. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 219–233. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  34. 34.
    McMillan, K.L.: A Methodology for Hardware Verification using Compositional Model Checking. Science of Computer Programming 37, 279–309 (2000)zbMATHCrossRefGoogle Scholar
  35. 35.
    Ober, I.: Harmonizing Design Languages with Object-Oriented Extensions and an Executable Semantics. PhD thesis, Institut National Polytechnique de Toulouse (April 2001)Google Scholar
  36. 36.
    Ober, I.: An asm semantics of uml derived from the meta-model and incorporating actions. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589. Springer, Heidelberg (2003)Google Scholar
  37. 37.
    Ober, I., Bozga, M.: Adapting and optimizing existing timed model checking tools to uml tools. Technical Report IST/33522/WP2.1/D2.1.2, Verimag (December 2002)Google Scholar
  38. 38.
    OMG. OMG Unified Modeling Language Specification, Version 1.4 (September 2001)Google Scholar
  39. 39.
    Paltor, I., Lilius, J.: Formalising uml state machines for model checking. In: France, R.B., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 430–445. Springer, Heidelberg (1999)Google Scholar
  40. 40.
    Schäfer, T., Knapp, A., Merz, S.: Model Checking UML State Machines and Collaborations. Electronic Notes in Theoretical Computer Science 55(3) (2001)Google Scholar
  41. 41.
    Shen, W., Compton, K., Huggins, J.K.: A toolset for supporting uml static and dynamic model checking. In: Feather and Goedicke [11], pp. 315–318Google Scholar
  42. 42.
    Westphal, B.: Exploiting Object Symmetry in Verification of UML-Designs. Master’s thesis, Carl von Ossietzky Universität Oldenburg (April 2001)Google Scholar
  43. 43.
    Xie, F., Levin, V., Browne, J.: Model Checking for an Executable Subset of UML. In: Feather and Goedicke [11]Google Scholar
  44. 44.
    Xie, F., Browne, J.: Integrated State Space Reduction for Model Checking Executable Object-oriented Software System Designs. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, p. 64. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Werner Damm
    • 1
  • Bernd Westphal
    • 1
  1. 1.Department für InformatikCarl von Ossietzky Universität OldenburgOldenburgGermany

Personalised recommendations