Message Sequence Chart

MessageSequenceCharts have been around for quite awhile in real-time system modeling. Essentially, they look like this:

 +-------------+    +-------------+    +-------------+
 | Component A |    | Component B |    | Component C |
 +-------------+    +-------------+    +-------------+
   um1  |                  |                  |
 ------>|                  |                  |
        |        m1        |                  |
        |----------------->|       m2         |
        |                  |----------------->|
        |                  |                  |
        |                  |       m3         |
        |                  |<-----------------|
        |                  |                  |
        |                  |       m4         |
        |                  |----------------->|
        |                  |                  |
        |                  |       m5         |
        |<------------------------------------|
        |                  |                  |
  ##############     ##############    ##############

Yes, they are InteractionDiagrams. The fundamental idea is that components communicate solely through messages (m1 through m5 plus um1). They are sequential; time runs down the diagram. In 1996, they finally added looping to MSCs. The looping syntax, which is almost identical to selection and parallelization is pretty disgusting. It involves, essentially, overlaying a gigantic post-it note over the diagram.

From the needs-driven design point of view in CarletonUniversitySoftwareSystemsDesign, the components come from the UseCaseMaps. The messages come partially from the ScenarioTextualDescriptions (UseCases) and partially from programmers inspiration (as I understand it).

What you get from the diagrams are protocol definitions between the various components.

Once again, this smells of BigDesignUpFront to me. I'll know more when I start creating them. -- SunirShah

In response to the complaint of this being to close to BigDesignUpFront, I must say how I came to search for this page - it was after reading an excellent paper at: http://www.cwi.nl/events/2002/wtixp/papers/Hussman.pdf I guess this was a paper accepted for WTiXP 2002; here are the rest of the papers: http://www.cwi.nl/events/2002/wtixp/papers/. Some very valid points are made there that things such as sequence diagrams facilitate PairProgramming communication, and guide the TestFirst process, if you follow the procedures outlined in the paper. -- JeffTulley

Think of it as a visual thinking tool. SequenceDiagrams (or "event traces") are a good way for visual thinkers to reason their way through complex interactions, and a concise way to describe the same.

EditText of this page (last edited November 10, 2004) or FindPage with title or text search