Formal Methods in System Design

, Volume 19, Issue 1, pp 45–80 | Cite as

LSCs: Breathing Life into Message Sequence Charts

  • Werner Damm
  • David Harel
Article

Abstract

While message sequence charts (MSCs) are widely used in industry to document the interworking of processes or objects, they are expressively weak, being based on the modest semantic notion of a partial ordering of events as defined, e.g., in the ITU standard. A highly expressive and rigorously defined MSC language is a must for serious, semantically meaningful tool support for use-cases and scenarios. It is also a prerequisite to addressing what we regard as one of the central problems in behavioral specification of systems: relating scenario-based inter-object specification to state-machine intra-object specification. This paper proposes an extension of MSCs, which we call live sequence charts (or LSCs), since our main extension deals with specifying “liveness”, i.e., things that must occur. In fact, LSCs allow the distinction between possible and necessary behavior both globally, on the level of an entire chart and locally, when specifying events, conditions and progress over time within a chart. This makes it possible to specify forbidden scenarios, for example, and enables naturally specified structuring constructs such as subcharts, branching and iteration.

formal specification sequence charts UML 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    R. Alur, G.J. Holzmann, and D. Peled, “An analyzer for message sequence charts,” in T. Margaria and B. Steffen (Eds.), Tools and Algorithms for the Construction and Analysis of Systems (TACAS'96). Lecture Notes in Computer Science, Vol. 1055, Springer-Verlag, 1996, pp. S.35–48.Google Scholar
  2. 2.
    R. Alur, G.J. Holzmann, and D. Peled, “An analyzer for message sequence charts,” Software—Concepts and Tools, Vol. 17, No. 2, pp. 70–77, 1996.Google Scholar
  3. 3.
    J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and J. Hwang, “Symbolic model checking: 1020 states and beyond,” Information and Computation, Vol. 98, No. 2, pp. 142–170, 1992.Google Scholar
  4. 4.
    J.R. Burch, E.M. Clarke, K.L. McMillan, and D.L. Dill, “Sequential circuit verification using symbolic model checking,” in Proc. 27th ACM/IEEE Design Automation Conference, 1990, pp. 46–51.Google Scholar
  5. 5.
    G. Booch, I. Jacobson, and J. Rumbaugh, Unified Modeling Language for Object-Oriented Development, Rational Software Corporation, 1996.Google Scholar
  6. 6.
    H. Ben-Abdallah and S. Leue, “Expressing, and Analyzing Timing Constraints in Message Sequence Chart Specifications,” Technical Report 97–04, Department of Electrical and Computer Engineering, University of Waterloo, 1997.Google Scholar
  7. 7.
    H. Ben-Abdallah and S. Leue, “Timing constraints in message sequence chart specifications,” in Proc. 10th International Conference on Formal Description Techniques FORTE/PSTV'97, Chapman and Hall, 1997.Google Scholar
  8. 8.
    U. Brockmeyer and G. Wittich, “Tamagotchis need not die–verification of Statemate designs,” in Tools and Algorithms for the Construction and Analysis of Systems (TACAS'98), 1998, LNCS 1384, pp. 217–231.Google Scholar
  9. 9.
    U. Brockmeyer and G. Wittich, “Real-Time verification of STATEMATE designs,” in Proc. CAV 98, LNCS 1427, pp. 537–541.Google Scholar
  10. 10.
    M. Broy, C. Hofmann, I. Kröger, and M. Schmidt, “A graphical description technique for communication in software architectures,” in Joint 1997 Asia Pacific Software Engineering Conference and International Computer Science Conference (APSEC'97/ICSC'97), 1997.Google Scholar
  11. 11.
    W. Damm, M. Eckrich, U. Brockmeyer, H.-J. Holberg, and G. Wittich, “Einsatz formaler Methoden zur Erhöhung der Sicherheit eingebetteter Systeme im Kfz,” in 17. VDI/VW-Gemeinschaftstagung System-Engineering in der Kfz-Entwicklung, VDI-Tagungsbericht, 1997.Google Scholar
  12. 12.
    W. Damm, B. Josko, H. Hungar, and A. Pnueli, “A compositional real-time semantics for STATEMATE designs,” in Proc. COMPOS'97. Lecture Notes in Computer Science 1536, pp. 186–238, Springer Verlag, 1998.Google Scholar
  13. 13.
    W. Damm, B. Josko, and R. Schlör, “Specification and verification of VHDL-based system-level hardware designs,” in E. Börger (Ed.), Specification and Validation Methods, Oxford University Press, 1995, pp. 331–410.Google Scholar
  14. 14.
    W. Damm and A. Pnueli, “Verifying out-of-order execution,” in D.K. Probst (Ed.), Advances in Hardware Design andVerification: IFIPWG10.5 International Conference on Correct Hardware Design and Verification Methods (CHARME), Montreal, Canada, Chapman and Hall, 1997, pp. 23–47.Google Scholar
  15. 15.
    B.P. Douglass, Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns, Addison Wesley, Reading, MA, 1999.Google Scholar
  16. 16.
    K. Feyerabend and B. Josko, “A visual formalism for real time requirement specifications,” in M. Bertran and T. Rus (Eds.), Transformation-Based Reactive Systems Development, Proc. 4th International AMAST Workshop on Real-Time Systems and Concurrent and Distributed Software, ARTS'97. Lecture Notes in Computer Science, Vol. 1231, Springer-Verlag, 1997, pp. 156–168.Google Scholar
  17. 17.
    J. Grabowski, P. Graubmann, and E. Rudolph, “Towards a Petri net based semantics definition for message sequence charts,” in O. Ffrgemand and A. Sarma (Eds.), SDL'93: Using Objects, Proc. 6th SDL Forum, North-Holland, 1993, pp. 179–190.Google Scholar
  18. 18.
    D. Harel, “Statecharts: A visual formalism for complex systems,” Science of Computer Programming, Vol. 8, pp. 231–274, 1987.Google Scholar
  19. 19.
    D. Harel, “From play-in scenarios to code: An achievable dream,” Computer, to appear. Preliminary version in Tom Maibaum (Ed.), Proc. Fundamental Approaches to Software Engineering (FASE). Lecture Notes in Computer Science, Vol. 1783, Springer-Verlag, 2000, pp. 22–34, IEE Computer 34:1, Jan. 2001, pp. 53–60.Google Scholar
  20. 20.
    D. Harel and E. Gery, “Executable object modeling with statecharts,” IEEE Computer, Vol. 30, No. 7, pp. 31–42, 1997.Google Scholar
  21. 21.
    D. Harel, H. Lachover, A. Naamad, A. Pnueli, M. Politi, R. Sherman, A. Shtull-Trauring, and M. Trakhtenbrot, “STATEMATE: A working environment for the development of complex reactive systems,” IEEE Trans. Software Engineering, Vol. 16, pp. 403–414, 1990.Google Scholar
  22. 22.
    D. Harel and H. Kugler, “Synthesizing object systems from LSC specifications,” in Proc. Fifth Int. Conf. on Implementation and Application of Automata (CIAA 2000). July 2000 Lecture Notes in Computer Science, Springer-Verlag, 2000.Google Scholar
  23. 23.
    D. Harel and M. Politi, Modeling Reactive Systems with Statecharts: The STATEMATE Approach, McGraw-Hill, 1998.Google Scholar
  24. 24.
    J. Helbig and P. Kelb, “An OBDD representation of statecharts,” in Proc. European Design and Test Conference (EDAC), 1994, pp. 142–148.Google Scholar
  25. 25.
    I. Jacobson, Object-Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley, Reading, MA, 1992.Google Scholar
  26. 26.
    K. Koskimies and E. Makinen, “Automatic synthesis of state machines from trace diagrams,” Software— Practice and Experience, Vol. 24, No. 7, pp. 643–658, 1994.Google Scholar
  27. 27.
    K. Koskimies, T. Systa, J. Tuomi, and T. Mannisto, “Automated support for modeling OO software,” IEEE Software, Vol. 15, No. 1, pp. 87–94, 1998.Google Scholar
  28. 28.
    I. Krüger, R. Grosu, P. Scholz, and M. Broy, “From MSCs to Statecharts,” in Proc. DIPES'98, Kluwer, 1999.Google Scholar
  29. 29.
    P.B. Ladkin and S. Leue, “Interpreting message flow graphs,” Formal Aspects of Computing, Vol. 7, No. 5, pp. 473–509, 1995.Google Scholar
  30. 30.
    S. Leue, L. Mehrmann, and M. Rezai, “Synthesizing ROOM models from message sequence chart specifications,” University of Waterloo Tech. Report 98–06, 1998.Google Scholar
  31. 31.
    R. Schlör, “Symbolic timing diagrams: A visual formalism for model verification,” Dissertation, Universität Oldenburg, 1998, March 2001.Google Scholar
  32. 32.
    R. Schlör and W. Damm, “Specification and verification of system level hardware designs using timing diagrams,” in Proc. European Conference on Design Automation, Paris, France, Feb. 1993, pp. 518–524.Google Scholar
  33. 33.
    R. Schlör, B. Josko, and D. Werth, “Using a visual formalism for design verification in industrial environments,” in Proc. Workshop on Visualization Issues for Formal Methods, VISUAL'98. Lecture Notes in Computer Science 1385, Springer-Verlag, 1998, pp. 208–221.Google Scholar
  34. 34.
    ITU-TS Recommendation Z.120: Message Sequence Chart (MSC), ITU-TS, Geneva, 1996.Google Scholar
  35. 35.
    ITU-TS Recommendation Z.120: Message Sequence Chart (MSC)Annex B: Algebraic Semantics of Message Sequence Charts, ITU-TS, Geneva, 1995.Google Scholar
  36. 36.
    Various documents on the Unified Modeling Language (UML), available from the Object Management Group (OMG), http://www.omg.org.Google Scholar

Copyright information

© Kluwer Academic Publishers 2001

Authors and Affiliations

  • Werner Damm
    • 1
  • David Harel
    • 2
  1. 1.OFFISOldenburgGermany
  2. 2.The Weizmann Institute of ScienceRehovotIsrael

Personalised recommendations