Message sequence chart: Difference between revisions

Content deleted Content added
#suggestededit-add 1.0
Tags: Mobile edit Mobile app edit Android app edit
 
(22 intermediate revisions by 18 users not shown)
Line 1:
{{Short description|Interaction diagram from the SDL family}}
[[File:Typical MSC (Message Sequence Chart).png|thumb|The diagram shows three entities. At start the phone is disconnected. A user tries to establish a connection. A connection request is sent to the switch and a timer is started. An alternative deals with two possibles responses: 1 - The timer goes off because the switch did not reply and the phone goes back to the disconnected state.2 - The switch grants the connection and the call is established.]]
A '''message sequence chart''' (or '''MSC''') is an [[interaction diagram]] from the [[Specification and Description Language|SDL]] family standardized by the [[International Telecommunication Union]].
Line 6 ⟶ 7:
 
==History==
The first version of the MSC standard was released inon March 12, 1993.
 
The 1996 version added references, ordering and [[Inline expansion|inlining]] expressions concepts, and introduced HMSC<ref>{{cite web
Line 15 ⟶ 16:
 
The MSC 2000 version<ref>{{cite web
| url = http://folk.uio.no/intime/msc2000.pdf
| title = MSC 2000
| publisher = [[Ericsson]]
| author = Øystein Haugen
| accessdate = 2009-09-20}}</ref>19
| accessdate=2009-09-19}}</ref> added object orientation, refined the use of data and time in diagrams, and added the concept of remote method calls.<ref>{{cite web
|url-status = dead
|archiveurl = https://web.archive.org/web/20110607104113/http://folk.uio.no/intime/msc2000.pdf
|archivedate = 2011-06-07
| accessdate=2009-09-19}}</ref> added object orientation, refined the use of data and time in diagrams, and added the concept of remote method calls.<ref>{{cite web
| url=http://www.sdl-forum.org/MSC2000present/sld007.htm
| title=What is new in MSC 2000 relative to MSC 96.
Line 48 ⟶ 53:
 
==Comparison to UML==
UML 2.0 [[Sequence diagram|Sequence Diagram]] is strongly inspired by the ITU-T MSC. Still, for historical reasons, the default basic principles are quite different:
* Lifelines
:* In an MSC, the vertical lines are autonomous execution entities. They usually represent state machines executing in parallel. The state machines need not be on the same computer.
Line 54 ⟶ 59:
* Arrows
:* In an MSC an arrow is usually an asynchronous message sent from one entity to another one. Once the message is sent the sending entity resumes its execution.
:* In a Sequence Diagram an arrow is usually understood as an operation call on a class. It is therefore synchronous and the calling entity hangs until the operation returns.{{fact|date=November 2022}}
It has been said that MSC has been considered as a candidate for the [[Unified Modeling Language#Interaction diagrams|interaction diagrams]] in UML.<ref>{{cite web
Line 61 ⟶ 66:
| year=1999
| publisher=[[University of Göttingen]]
| authorauthor1=Ekkart Rudolph, |author2=Jens Grabowski, |author3=Peter Graubmann | accessdate=2014-08-25}}</ref>
| accessdate=2014-08-25}}</ref>
 
However, proponents of MSC such as [[Ericsson]] think that MSC is better than [[Unified Modeling Language|UML 2.0]] for modelling large or complex systems.<ref>{{cite web
Line 73 ⟶ 77:
 
==Live Sequence Charts==
[[David Harel]] thinkssuggested that MSC still has severalhad shortcomings such as:
* MSC propose a weak [[Partially ordered set|partial ordering]] semantics that makes it impossible to capture some behavioral requirements,
* The relationship between the MSC requirements and the executable specification is not clear.,
Toand addressproposed whatLive heSequence seesCharts (LSC) as weaknesses in the MSC model, David Harel proposed an extension on the MSC standard called '''LSC''' ('''L'''ive '''S'''equence '''C'''harts).<ref>{{cite web
| url = http://www.comp.nus.edu.sg/~thiagu/public_papers/surveymsc.pdf
| title = Message Sequence Charts
| date = 2003-04-08
| author =[[ David Harel]]
| accessdate = 2009-09-20}}</ref><ref>{{cite web
|url-status = dead
| url=http://www.springerlink.com/content/hfnna0r9jbl54ya4/
|archiveurl = https://web.archive.org/web/20060826195305/http://www.comp.nus.edu.sg/~thiagu/public_papers/surveymsc.pdf
|archivedate = 2006-08-26
| author-link =[[ David Harel]]
}}</ref><ref>{{cite journal
| title=LSCs: Breathing Life into Message Sequence Charts
| publisherjournal=[[Formal Methods in System Design]]
| volume=19
| pages=45–80
| date=2005-02-22
| author=[[David Harel]]
| publisher=[[Formal Methods in System Design]]
| doi=10.1023/A:1011227529550
| author=[[David Harel]]
| s2cid=1551133
| accessdate=2009-09-20}}</ref><ref>{{cite web
|author-link = David Harel}}</ref><ref>{{cite journal
| url=http://portal.acm.org/citation.cfm?id=582429
| title=Multiple instances and symbolic variables in executable sequence charts
| journal=ACM SIGPLAN Notices
| volume=37
| issue=11
| pages=83–100
| year=2002
| author=David Harel
| publisher=[[Association for Computing Machinery]]
| doi=10.1145/583854.582429
| author=[[David Harel]]
| citeseerx=10.1.1.20.5984
| accessdate=2009-09-20}}</ref>
| author-link=David Harel
 
}}</ref>
==Tools==
* [http://www.pragmadev.com/product/tracing.html PragmaDev Tracer] Free tracing tool based on MSC.
*[[MscGen]] – Automatic generation of diagrams based on text descriptions of the messages.
*[http://sourceforge.net/projects/msc-generator/ MscGenerator] - Advanced version of MscGen, designed for telecom message flows.
*[http://websequencediagrams.com/ Web-based MSC Generator]
*[http://code.google.com/p/msc2svg/ Msc2Svg – Generates charts as SVG from a simple text description file]
*[http://www.eventhelix.com/eventstudio/ EventStudio – Message sequence chart generation tool]
*[http://www.doc.ic.ac.uk/ltsa/ LTSA] – Supports the drawing and subsequent [[Formal verification|automated verification]] of message sequence charts.
*[http://plantuml.com/ PlantUML] – Versatile UML sequence diagrams based on text description.
*[http://scstudio.sourceforge.net Sequence Chart Studio] – Extends [[Microsoft Visio]] to draw and verify Z.120 compliant sequence charts.
*[http://trace2uml.tigris.org/ Trace2UML] – Tool for drawing and recording sequence charts.
*[http://satoss.uni.lu/mscpackage/ MSC Latex package] – a [[LaTeX]] package for creating message sequence charts.
*[http://tools.valid8.com/ Online PCAP to MSC chart Generator] – Generates MSC arrow diagram charts from PCAP files.
*[http://sequencediagram.org/ Online Text to MSC chart Generator] – Automatic generation of MSC based on description of messages in plain text, support directly edit on Web UI.
 
==See also==
* [http://www.di.univaq.it/psc2ba/ PSC] Property Sequence Chart, a way to describe properties in an MSC<ref>{{cite webbook
| url=http://link.springer.com/chapter/10.1007%2F978-3-642-38911-5_2
| title=Property Verification with MSC
| year=2013
| publisher=Springer
| authorauthor1=Emmanuel Gaudin, Eric|title Brunel}}</ref>= orSDL a2013: SequenceModel-Driven Diagram.Dependability Engineering| volume=7916
| pages=19–35
|author2=Eric Brunel | doi=10.1007/978-3-642-38911-5_2
| series=Lecture Notes in Computer Science
| isbn=978-3-642-38910-8
}}</ref> or a Sequence Diagram.
* [[Specification and Description Language|SDL]] Specification and Description Language, an MSC related ITU-T language.
* [[Unified Modeling Language#Interaction diagrams|Interaction diagrams in UML]].
Line 124 ⟶ 129:
 
==External links==
* [http://www.itu.int/rec/T-REC-Z.120 ITU-T Recommendation Z.120] message sequence chart (MSC)
*Michel Reniers: “[http://www.win.tue.nl/~michelr/Files/proefschrift.pdf Message sequence charts – syntax and semantics]”, PhD thesis, [[Eindhoven University of Technology]], 1999
 
<references/>
 
[[Category:Diagrams]]