Content deleted Content added
Arianwen88 (talk | contribs) #suggestededit-add 1.0 Tags: Mobile edit Mobile app edit Android app edit |
|||
(35 intermediate revisions by 23 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
The 1996 version added references, ordering and [[Inline expansion|inlining]] expressions concepts, and introduced HMSC<ref>{{cite web
Line 12 ⟶ 13:
| title=HMSC
| publisher=sdl-forum.org
| accessdate=2009-09-19}}</ref> ('''H'''igh-level '''M'''essage '''S'''equence '''C'''harts), which are the
The MSC 2000 version<ref>{{cite web
|
|
|
|
| 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
▲
| url=http://www.sdl-forum.org/MSC2000present/sld007.htm
| title=What is new in MSC 2000 relative to MSC 96.
Line 26 ⟶ 31:
Latest version has been published in February 2011.
==Symbols in MSC==
The existing symbols are:
* MSC head, lifeline, and end: a vertical line with a box at the top, and a box or a cross at the bottom.
* Instance creation: horizontal dashed arrow to the newly created instance.[[File:Dynamic Process Creation in a Message Sequence Chart.png|thumb|Dynamic process creation in an MSC]]
* Message exchange: horizontal arrow.
* Control flow: horizontal arrow with the 'call' prefix, dashed arrow for reply symbol, method and suspension symbols in between. [[File:MSC CallOperation.png|thumb|Call operation in an MSC]]
* Timers: start, cancel, time out.
* Time interval: relative and absolute with a dashed vertical arrow. [[File:MSC TimeConstraint.png|thumb|Time constraint in an MSC]]
* Conditions: usually used to represent a state of the underlying state machine.
* Action: a box.
* In-line expressions: alternative composition, sequential composition, exception, optional region, parallel composition, iteration (loop).
* Reference: reference to another MSC. [[File:MSC Reference.png|thumb|MSC Reference in an MSC]]
* Data concept: The user can use any data concept, if binding is undefined the default data concept is the one from [[Specification and Description Language|SDL]] as defined in Z.121 recommendation.
* Coregion: a double dashed instance line to describe unordered events.
==Symbol extensions==
* [[SDL-RT]] has introduced:
** a semaphore instance representation. [[File:SDL-RT MSC Semaphore.png|thumb|SDL-RT Semaphore extension to MSC]]
** a save symbol to save messages.
==Comparison to UML==
UML 2.0 [[Sequence diagram|Sequence Diagram]]
* 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 34 ⟶ 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
| url=http://www.swe.informatik.uni-goettingen.de/publications/
| title=Towards a Harmonization of UML-Sequence Diagrams and MSC
| year=1999
| publisher=[[University of Göttingen]]
|
▲| accessdate=2009-09-20}}</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 53 ⟶ 77:
==Live Sequence Charts==
[[David Harel]]
* 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
|
|
|
|
|
|url-status = dead
|archiveurl = https://web.archive.org/web/20060826195305/http://www.comp.nus.edu.sg/~thiagu/public_papers/surveymsc.pdf
|archivedate = 2006-08-26
}}</ref><ref>{{cite journal
| title=LSCs: Breathing Life into Message Sequence Charts
| volume=19
| pages=45–80
| date=2005-02-22
▲| publisher=[[Formal Methods in System Design]]
| doi=10.1023/A:1011227529550
▲| author=[[David Harel]]
| s2cid=1551133
|author-link = David Harel}}</ref><ref>{{cite journal
| 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
| doi=10.1145/583854.582429
▲| author=[[David Harel]]
| citeseerx=10.1.1.20.5984
| author-link=David Harel
}}</ref>
==See also==
* [http://www.di.univaq.it/psc2ba/ PSC] Property Sequence Chart, a way to describe properties in an MSC<ref>{{cite book
* [[Unified Modeling Language#Interaction diagrams|Interaction diagrams in UML]]▼
| year=2013
| publisher=Springer
|author1=Emmanuel Gaudin |title = SDL 2013: Model-Driven 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]].
==References==
Line 95 ⟶ 129:
==External links==
* [http://www.itu.int/rec/T-REC-Z.120 ITU-T Recommendation Z.120] message sequence chart (MSC)
[[Category:Diagrams]]
Line 104 ⟶ 135:
[[Category:Telephone exchanges]]
[[Category:Unified Modeling Language diagrams]]
[[Category:Software modeling language]]
|