Message sequence chart: Difference between revisions

Content deleted Content added
m External links: clean up using AWB (11979)
#suggestededit-add 1.0
Tags: Mobile edit Mobile app edit Android app edit
 
(18 intermediate revisions by 16 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 77 ⟶ 81:
* The relationship between the MSC requirements and the executable specification is not clear,
and proposed Live Sequence Charts (LSC) as an extension on the MSC standard .<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/ sequencediagram.org] – Free online text to MSC generator, support edit on Web UI directly.
 
==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
 
{{Reflist}}
 
[[Category:Diagrams]]