Fact-checked by Grok 2 weeks ago

Message sequence chart

A Message Sequence Chart (MSC) is a graphical and textual language standardized by the (ITU-T) for specifying and describing the interactions between independent entities in a system, particularly through sequences of message exchanges that represent communication behavior over time. It serves as a trace language to visualize and document system runs, aiding in the design, simulation, validation, testing, and verification of and distributed systems, such as those in . The notation originated in the early as a tool for protocol engineering but was first formally standardized in ITU-T Recommendation Z.120 in 1992 (MSC'92), with subsequent revisions enhancing its expressiveness, including the addition of inline expressions, data interfaces, and time constraints in versions from 1996 onward. The current version, ITU-T Z.120 (02/2011), refines these elements while maintaining , supporting both basic MSCs for simple traces and high-level MSCs (HMSCs) for modular, hierarchical specifications of complex interaction patterns. MSCs are widely integrated with other formal description techniques, such as the (SDL) and the Testing and Test Control Notation (TTCN), to provide complementary views of system behavior. In an MSC diagram, vertical lifelines represent entities (or instances), horizontal arrows depict messages passed between them, and the horizontal axis indicates the progression of time, with optional elements like conditions, actions, timers, and structural operators (e.g., alternatives, loops, parallels) to capture conditional, repetitive, or concurrent behaviors. This notation's simplicity and intuitiveness make it suitable for requirement elicitation, conformance testing, and interoperability analysis in standards bodies like ETSI and ITU, as well as in industry for software and protocol development.

Overview

Definition and Purpose

A Message Sequence Chart (MSC) is a graphical and textual language for the specification and description of interactions between system components, standardized as part of the ITU-T Recommendation Z.120. As a member of the (SDL) family, an MSC describes one or more traces of an SDL system specification, emphasizing message exchanges over internal processes. The primary purpose of an is to provide a trace language for specifying and describing the communication behavior of components and their through interchanges. It enables the of how entities, such as processes or objects in distributed systems, interact over time, capturing the sequence of events without delving into the internal state transitions of individual components. This focus on temporal ordering makes MSCs particularly useful for requirement specification, interface design, validation, and documentation in real-time systems, including telecommunication applications. Key characteristics of MSCs include their intuitive graphical representation, which uses vertical lifelines for and horizontal arrows for messages to denote causality and ordering. Unlike more comprehensive modeling languages, MSCs prioritize external communications and local actions, omitting detailed internal logic to maintain clarity and simplicity. For example, a basic MSC for a client-server might illustrate a client sending a "request" message to a , followed by the emitting a "response" message back, thereby highlighting the ordered flow of communication without specifying the 's processing steps. Originating in the context of modeling, MSCs were developed to address the need for traceable diagrams in distributed environments.

Applications and Scope

Message Sequence Charts (MSCs) are primarily applied in the specification of communication protocols within , where they model signaling in networks such as those defined by standards. They also facilitate the description of in distributed software and serve as a tool in to capture high-level behavioral specifications. In these domains, MSCs support phases from initial and to of behaviors. The scope of MSCs centers on depicting the external behavior of entities through sequences of exchanges over time, without addressing internal computations or state transitions. This focus on message flows makes them suitable for outlining trace-like interactions but limits their use to observable interfaces rather than detailed logic. MSCs have inherent limitations in handling constraints or probabilistic behaviors, as the core notation lacks mechanisms for timing specifications or probability distributions unless augmented by extensions such as timed or probabilistic MSCs. They emphasize deterministic message sequences, making them less appropriate for systems requiring modeling without additional formalisms. In practice, MSCs integrate with (SDL) to aid design by providing visual traces that inform SDL process definitions. They are also employed in to generate scenarios for verifying exchanges against expected sequences, often combined with tools like TTCN for automated derivation.

Historical Development

Origins and Early Concepts

Message sequence charts (MSCs) originated in the 1980s as a graphical notation within the Specification and Description Language (SDL), a formalism developed by the ITU-T Study Group 10 for specifying telecommunication systems. SDL aimed to provide a structured way to describe the behavior of complex, distributed systems in telecommunications, where MSCs served as an informal tool to visualize interactions early in the design process. The early concepts of MSCs were influenced by trace languages used for modeling distributed systems, which captured sequences of and message exchanges to represent system executions. These concepts emphasized an intuitive graphical depiction of message flows between system components, allowing engineers to sketch interactions without delving into detailed behavioral specifications. Such depictions proved particularly useful in telecommunication protocol design, where understanding inter-component communication was essential for ensuring system reliability. A key milestone in the development of MSCs occurred with their introduction in the SDL-88 edition, where they were presented as a complementary notation to 's block diagrams. In the SDL-88 user guidelines, MSCs were described as auxiliary diagrams for illustrating system traces, bridging high-level overviews with more formal process descriptions. This integration highlighted their role in facilitating communication among development teams and stakeholders in the . At their conceptual foundation, early MSCs focused on partial orders of events rather than rigid timelines, enabling the representation of concurrency in distributed systems. This approach allowed for flexible modeling of asynchronous interactions, where events on different instances could occur independently without implying a total sequence. By prioritizing causal relationships over strict temporal ordering, MSCs provided a more realistic depiction of parallel processes in telecommunication environments.

Standardization by ITU

The standardization of Message Sequence Charts (MSCs) was led by the Telecommunication Standardization Sector (), with initial development under 10 from 1993 to 1996 and subsequent maintenance responsibility transferred to 17 following the 2001 merger of Study Groups 7 and 10. ITU-T Recommendation Z.120, first published in March 1993, established MSCs as a for graphically specifying message-based interactions among entities in distributed systems, emphasizing traces of communication events. This initial version provided foundational syntax for textual and graphical representations, enabling tool support and interoperability in specifications. The recommendation was amended in October , introducing refined core syntax for basic elements like instances, messages, and conditions, along with informal semantics to clarify behavioral interpretations. High-level constructs for combining multiple charts were introduced in the 1996 amendment. Further amendments in November 1999 and a corrigendum in December 2001 addressed clarifications and extensions to these and other features. Subsequent editions included the 2004 revision, which continued and refined the 1999 version; amendments in 2008 and 2009 providing application guidance; and the 2011 edition, which further refined concepts including inline expressions and time constraints while maintaining . As of 2025, the 2011 edition remains in force with no further revisions. These updates facilitated integration with other languages, notably TTCN-3, where MSCs form the basis of the Graphical Presentation Format (GFT) for test specifications. Global adoption has seen Z.120 incorporated into standards bodies like the European Telecommunications Standards Institute (ETSI), particularly in TTCN-3-based testing methodologies for conformance and interoperability in telecommunications protocols. This integration supports specification, validation, and documentation in domains such as protocol engineering and system design.

Core Notation

Basic Symbols and Elements

Message sequence charts (MSCs) employ a set of fundamental graphical symbols to depict interactions between system entities over time. The core structure consists of vertical lifelines, represented as straight lines extending downward from an instance head symbol, which is a rectangular at the top containing the instance name and type (e.g., process or ). These lifelines symbolize the entities involved, such as system components or es, with time progressing implicitly from top to bottom along each line, establishing a total ordering of events for that entity. Messages, the primary means of interaction, are illustrated as horizontal or slightly sloped solid arrows connecting lifelines, with the indicating the direction from sender to receiver; the tail attaches to the sending lifeline at the send event point, and the head to the receiving lifeline at the receive event point. Both synchronous (where the sender awaits a response) and asynchronous (non-blocking) messages use this same solid arrow notation, with no graphical distinction between them in basic MSCs—the semantics determine the behavior. For interactions with external elements, messages may connect to the chart's boundary frame, representing the environment, often via labeled . Additional events include conditions and actions. Conditions, which specify states or guards that must hold (e.g., "system idle"), are depicted as hexagonal symbols containing textual labels; these can be local to one lifeline, span a of instances (non-global), or cover all instances (global), drawn as a straddling the relevant lifelines. Actions, representing internal computations or changes within an instance (e.g., "increment "), are shown as rectangular boxes attached to the lifeline, aligned with the event axis and containing descriptive text. are represented as rectangular boxes on a lifeline labeled with operations such as "start T" or "stop T," allowing the modeling of time-based events. To handle concurrency and partial ordering, co-regions are used, marked by pairs of dashed vertical lines flanking a segment of a lifeline (or multiple aligned segments across lifelines), indicating that events within the region occur in parallel without a specified order among them—only the order relative to events outside the co-region is preserved. The environment is denoted by a rectangular frame enclosing the entire chart, with no inherent ordering assumed for external interactions. A basic example illustrates a two-entity exchange: Instance "Client" (left lifeline, topped by a rectangle labeled "Client [process]") sends a synchronous message "request" via a solid horizontal arrow to instance "Server" (right lifeline, labeled "Server [process]") at the receive point on the Server lifeline. The Server then performs an action in a rectangle ("process data") before sending a reply message "response" back to the Client via another solid arrow. This depicts a simple request-response interaction, with all events ordered top-to-bottom on each lifeline.

Structure and Semantics of MSCs

A Message Sequence Chart (MSC) is structured with a header that specifies the chart's name and declares the participating instances, represented as vertical lifelines or columns denoting system entities such as processes or objects. The body follows, comprising time-ordered events along these instances, including message exchanges, local actions, conditions, and timer operations, with events positioned to reflect their sequence. Optional footnotes may attach explanatory text or references to specific events or instances for additional context. The semantics of MSCs are based on a partial order of , where the order is total and strict along each individual lifeline—meaning on the same instance occur sequentially from top to bottom—but partial across different lifelines, allowing for interleaving of independent unless constrained by causality. Causality is enforced such that a 's sending precedes its receiving in the overall order, establishing dependencies between instances, while coregions (delimited by pairs of dashed vertical lines) permit unordered execution of concurrent within an instance. Cycles in the order relation are prohibited to ensure acyclicity and prevent paradoxes in execution traces. Optional frames, such as alternative () and optional (opt) constructs, enclose regions of the chart within rectangular boundaries to specify conditional or elective behaviors; for instance, an frame divides a sequence into mutually exclusive branches based on conditions, while an opt frame indicates a sequence that may or may not occur. These frames apply to groups of events across multiple instances, maintaining the partial order within each branch. Formally, MSCs represent possible traces of system executions, where the chart depicts a partial specification of behaviors through event sequences linked by causality relations derived from message arrows, enabling the modeling of both synchronous and asynchronous communications in distributed systems. This trace-based interpretation aligns MSCs with process calculi, viewing the chart as a projection of interleaved actions from parallel processes. Validation of an requires adherence to rules ensuring , including no lost messages—where every sent message must have a corresponding reception—and balanced communication, mandating a one-to-one matching between output (send) and input (receive) events without unpaired or dangling arrows except at defined gates for environmental interactions.

Advanced Features

High-level Message Sequence Charts (HMSCs)

High-level Message Sequence Charts (HMSCs) extend Message Sequence Charts (MSCs) by providing a graphical means to compose and relate multiple MSCs into a cohesive overview of system behavior. Defined as directed graphs, HMSCs consist of nodes representing individual MSCs (or sub-HMSCs) and edges that specify the order or transitions between them, enabling the modeling of complex interactions at a higher level of . According to Recommendation Z.120, nodes include a start symbol (a downward-pointing triangle marking the ), an end symbol (an upward-pointing triangle indicating termination), MSC reference symbols (depicted as frames with rounded corners to reference MSCs), condition symbols (hexagons for states that transitions), and frames (rectangles enclosing sub-HMSCs for concurrent execution). Edges, shown as arrows, connect these nodes to represent sequential flow, alternatives, or repetitions, with multiple outgoing arrows from a node denoting choices. The primary purpose of HMSCs is to capture the control flow and structural relationships among related basic MSCs, facilitating the specification of scenarios that involve choices, loops, and modularity in large-scale systems such as communication protocols. By abstracting away low-level event details, HMSCs allow designers to focus on the overall architecture and possible execution paths, supporting decomposition for reusable components and aiding in the verification of system properties. This modularity is particularly valuable in telecommunications, where HMSCs enable the hierarchical organization of behaviors, such as sequencing service requests or handling alternative responses in a protocol. Semantics are defined through graph traversal: execution begins at the start symbol and proceeds along edges, with conditions evaluated to restrict paths (e.g., only if an initial condition matches a final one from a prior MSC), generating a set of valid basic MSC traces that represent all possible system runs. Operators implicit in the graph include weak sequential composition (vertical stacking via single edges), delayed choice for alternatives (multiple edges delaying resolution until necessary), and free merge for parallels, with cycles allowing loops and recursion for infinitary behaviors. For instance, consider an HMSC modeling a simplified call completion busy subscriber (CCBS) service in a system. The graph starts at a "CCBS Idle" node, followed by an reference to a "REQUEST" basic MSC handling user . From there, arrows branch to alternative paths: one to an "" MSC if accepted, leading to a loop via a "" MSC that repeatedly checks call status until connected or canceled; the other to a "REJECT" MSC if denied, returning to "CCBS Idle." A parallel frame might enclose monitoring and notification sub-HMSCs to interleave status updates with other events, ending at a "CCBS Free" . This structure generates traces encompassing all valid sequences, such as successful activation loops or immediate rejections, while conditions ensure state consistency across transitions.

Extensions to the Core Notation

The ITU-T Recommendation Z.120 defines several extensions to the core notation of Message Sequence Charts (MSCs) to enhance expressiveness for complex interactions, including inline expressions that incorporate data manipulation, timing, and error handling. Inline expressions allow for the embedding of structured behaviors such as alternatives, loops, and exceptions directly within an MSC, using frames with operators like alt for alternatives guarded by conditions (e.g., when (expr)) or loop for repetitions. These expressions support data aspects through definitions (e.g., def variable), bindings (e.g., variable =: value), and validations (e.g., valid(expression)), enabling the representation of dynamic variable assignments and checks without leaving the chart's flow. Timers, or clocks, extend the notation to model time-dependent behaviors, depicted as hourglass symbols on instance axes for starting (starttimer T [duration]), crosses for stopping (stoptimer T), and arrows for timeouts (timeout T). These allow specification of time intervals, such as supervision periods where a timer starts upon an event and triggers an action or exception upon expiration, providing semantics for bounded or unbounded durations (e.g., [0, inf)). Exceptions handle error scenarios through the exc inline expression operator, which encloses alternative paths for faults like message loss or timeouts; semantically, it acts as a shorthand for an alternative where the second operand is the continuation of the MSC, ensuring the chart resumes after the exception or skips to the end. Additional symbols include MSC references for function calls, represented as rectangular boxes with gates that invoke nested sub-MSCs (e.g., reference SubMSC(param)), supporting modular and passing for synchronous or asynchronous interactions. State references integrate with the (SDL) via condition symbols—hexagonal or rectangular boxes on instance axes—that set or guard states (e.g., condition state_name or when (state_expr)), linking MSC traces to SDL state machines for hybrid . These extensions were refined in subsequent versions, such as the 1996 edition ('96) introducing coregions for simultaneous events, inline expressions, and data concepts, with further refinements in the 2004 and 2011 editions correcting inconsistencies while preserving compatibility. In research contexts, informal extensions have been proposed to annotate MSCs with probabilities and metrics, addressing limitations in the core notation for or . For instance, Probabilistic Message Sequence Charts (PMSCs) extend Z.120 by adding probability values to messages, conditions, and alternatives (e.g., p=0.7 on an edge), enabling the modeling of uncertain interactions in systems like protocols with failure rates. Similarly, Performance Message Sequence Charts (PMSCs) incorporate annotations for timing distributions, resource usage, and throughput (e.g., ~N(10,2) for normal-distributed delays), facilitating evaluation through simulation or . ITU supplements propose integration of MSCs with the User Requirements Notation (URN) for goal-oriented modeling, where MSCs complement Use Case Maps (UCMs) in URN by providing detailed scenario traces linked to high-level paths, as outlined in Z.150; this enhances without altering core MSC symbols. Despite no major notational overhauls since 1999, these extensions remain compatible with modern tools supporting XML-based rendering and verification. For example, an MSC might depict a client-server where a starttimer T begins upon send, followed by a timeout T event triggering an exc frame with an and recovery path, resuming the main flow afterward.

Live Sequence Charts

Live Sequence Charts (LSCs) are an expressive extension of (MSCs), developed by and to enable the specification of both universal ("must" occur in all system runs) and existential ("may" occur in at least one run) behaviors in scenario-based modeling. This distinction addresses the primary limitation of standard MSCs, which only describe possible interactions without enforcing liveness or mandating progress. LSCs originated in foundational work during the late and early , with the seminal paper "LSCs: Breathing Life into Message Sequence Charts" published in 2001, building on ITU-standardized MSCs to incorporate temporal and modal aspects for reactive systems. Subsequent developments, including executable semantics, appeared in related publications around 2002–2003, emphasizing their role in for complex, inter-object communications. Key differences from core MSCs include specialized symbols such as cold starts (dashed boxes for provisional, non-mandatory initiation) and warm starts (solid boxes for required activation), as well as progress lines—solid for enforced continuation and dashed for optional advancement—to capture liveness properties. Locations and messages can also be annotated as (mandatory in every execution trace) or existential (required to occur somewhere), separating obligatory elements from possible ones while retaining basic MSC notations like lifelines and arrows as a foundation. The purpose of LSCs is to support scenario-based specification in object-oriented design and of reactive systems, allowing designers to model both required and alternative behaviors explicitly for improved system validation. They integrate with execution environments like the Play-Engine tool, which enables interactive and checking of LSC specifications to detect inconsistencies early in development. For a representative example, consider an LSC specifying a mandatory sequence: the universal fragment requires that upon credential submission, the must validate and respond with grant or denial, while existential sub-charts handle optional paths, such as retry prompts for invalid inputs, ensuring the interaction progresses without .

Comparison to UML Sequence Diagrams

Message Sequence Charts (MSCs) and UML Sequence Diagrams both employ lifelines—vertical axes representing entities such as processes or objects—and horizontal arrows to illustrate message exchanges, thereby visualizing the temporal ordering of interactions in distributed or collaborative s. This shared notation facilitates the depiction of dynamic behaviors, with an emphasis on the sequence of events over structural relationships. Key differences arise in their notation and semantics, reflecting their distinct origins and applications. MSCs, standardized by in Recommendation Z.120, prioritize partial orders and trace representations for protocol specifications in , using solid lifelines without activation bars and supporting asynchronous messages exclusively. In contrast, UML Sequence Diagrams, defined by the (), incorporate activation bars to denote object activation periods, explicit return messages, and combined fragments (e.g., for alternatives, for iterations) to handle synchronous/asynchronous calls and fragmented views in object-oriented . MSCs address concurrency through co-regions—unordered parallel message sets—while lacking native support for UML's advanced fragments, though High-level MSCs (HMSCs) provide overview structures akin to UML interaction occurrences. Regarding expressive power, UML Sequence Diagrams offer greater flexibility for modeling complex software interactions, including guards and sequence numbering, making them suitable for general-purpose object-oriented modeling. MSCs, however, provide formal semantics based on process algebra, enabling precise trace analysis for distributed protocols, but with less emphasis on procedural elements like method invocations. Historically, UML Sequence Diagrams evolved in the 1990s from earlier notations like (OMT) and were influenced by MSCs, which originated in ITU-T's 1992/ standards; this convergence occurred as UML 1.0 emerged in , post-dating initial MSC development. In practice, MSCs are preferred for formal verification of telecommunication protocols due to their trace-oriented semantics, whereas UML Sequence Diagrams excel in broader software engineering contexts, such as use case elaboration in object-oriented analysis and design. This distinction guides their selection: MSCs for specifying reactive, distributed behaviors in standards like SDL, and UML for iterative software development processes.

Implementations and Tools

Software Tools for Creating and Rendering MSCs

Several software tools facilitate the creation, editing, and rendering of Message Sequence Charts (MSCs), ranging from open-source renderers to commercial suites integrated with broader modeling environments. These tools typically support the 's graphical and textual notations, enabling users to visualize interactions between system entities over time. Open-source options emphasize lightweight, text-based generation, while commercial tools offer advanced editing capabilities within development workflows. Among open-source tools, Mscgen is a prominent text-based renderer that parses simple textual descriptions of MSCs and generates output in formats such as , , and . It supports core MSC elements like lifelines, messages, and conditions, making it suitable for and in design. Similarly, msc-generator extends this approach by supporting not only MSCs but also generic graphs and block diagrams from textual input, producing graphical outputs in multiple formats for integration into reports or web pages. PlantUML, another open-source utility, provides MSC-like sequence diagrams through its declarative syntax, allowing embedding in wikis, IDEs, or documents, though it aligns more closely with UML conventions than pure MSCs. Commercial tools include PragmaDev Studio, which supports editing and rendering of MSCs alongside (SDL) and Testing and Test Control Notation (TTCN-3) models for specifying, simulating, and testing communicating systems. It offers graphical creation of MSCs with features for validation and , suitable for and . Cinderella MSC is a dedicated visual modeling tool for analysis, specification, documentation, and testing of communication protocols using MSCs, supporting ITU-T Z.120 features including high-level MSCs (HMSCs). supports the creation of sequence diagrams akin to MSCs via its UML template library, where users can draw lifelines, activation bars, and synchronous/asynchronous messages for in professional documents. Integration with integrated development environments (IDEs) enhances accessibility; for instance, the Message Sequence Chart (MSC) Plugin for JetBrains IDEs provides syntax support and rendering using Mscgen for sequence chart visualization within IntelliJ-based IDEs. Additionally, the Eclox plugin for Eclipse incorporates Mscgen for automated diagram generation from code documentation, streamlining rendering in software projects. Textual notations underpin many of these tools for programmatic generation. Mscgen employs a concise, DOT-inspired where entities and interactions are described linearly, such as msc { a,b; a->b [label="message"]; }, enabling script-based creation and . PragmaDev Studio uses /PR, a textual profile for MSCs that supports instance-oriented and event-oriented descriptions, convertible to graphical views. Common features across these tools include syntax checking to validate MSC conformance, export options to PDF and SVG for high-quality rendering, and basic simulation of message traces to preview execution flows. As of November 2025, MSC tools remain niche, primarily serving and domains, but their integration into IDEs like and has broadened adoption for collaborative design in embedded and distributed systems.

Integration with Formal Methods and Verification

Message sequence charts (MSCs) possess formal semantics that enable their translation into established formalisms for verification purposes. One common approach involves mapping MSCs to Petri nets, which capture the partial order of events and concurrent message exchanges inherent in MSC specifications. This translation allows for the application of Petri net-based model checking to verify properties such as reachability and boundedness. For instance, algorithms have been developed to convert high-level MSCs (HMSCs) into colored Petri nets, facilitating the analysis of system behaviors while handling elements like conditions and iterations. Similarly, MSCs can be translated into linear temporal logic (LTL) formulas, enabling the use of temporal logic model checkers to express and verify liveness and safety properties over possible linearizations of the partial orders in MSCs. These translations preserve the causal relationships and ordering constraints defined in the MSC notation, as standardized in ITU-T Recommendation Z.120. MSCs integrate seamlessly with other languages to support and testing workflows. In the context of (SDL), MSCs serve as trace visualizations for SDL models, allowing of message flows to validate protocol implementations against scenario specifications. This integration enables the generation of executable simulations from combined SDL-MSC documents, aiding in early detection of inconsistencies. For testing, MSCs are used to derive conformance test cases in TTCN-3, where scenario traces are transformed into executable test scripts that check system behavior against expected message sequences. Tools automate this process by unfolding HMSCs into finite state machines, from which TTCN-3 code is synthesized to cover positive and negative scenarios. Additionally, timed extensions of MSCs can be modeled using UPPAAL by translating them into timed automata, supporting verification of time constraints in real-time systems through for properties like timeliness and absence of timing violations. In verification applications, facilitate the detection of deadlocks in message-passing systems by analyzing possible interleavings of events. Through to automata or Petri nets, model checkers can explore all linear extensions of the partial order to identify configurations where processes are blocked indefinitely due to unmet receive conditions. This is particularly useful in protocol design, where MSCs highlight potential cyclic dependencies in flows. Furthermore, MSCs support the generation of test cases for , ensuring that implementations adhere to specified by producing input-output sequences that exercise critical paths and boundary conditions. These applications enhance reliability in distributed systems by bridging informal scenario descriptions with rigorous analysis. Scenario-based verification using MSCs has gained traction in agile development practices, where iterative specification and checking of message interactions support and testing. These developments emphasize modular techniques that align with agile workflows, reducing manual effort in . A key challenge in MSC verification lies in handling non-determinism arising from the partial orders, which can lead to an exponential number of possible total orders (linearizations) for exhaustive checking. This state-space explosion complicates , especially for HMSCs with loops or unbounded repetitions, necessitating approximation techniques or bounded to manage while ensuring for critical properties.

References

  1. [1]
    [PDF] Z.120 - ITU
    The purpose of recommending MSC (Message Sequence Chart) is to provide a trace language for the specification and description of the communication behaviour of ...
  2. [2]
    MSC - Specification Languages - ETSI Portal
    Message Sequence Charts (MSC) is a graphical language for the description and specification of the interactions between system components.
  3. [3]
    [PDF] Tutorial on Message Sequence Charts (MSC'96) - SDL Forum Society
    For the first time the MSC recommendation Z.120 (MSC'92) was approved at the ITU meeting Geneva 1992. A new revised MSC recommen- dation Z.120 ( ...
  4. [4]
    Z.120 (02/2011) - ITU-T Recommendation database
    Feb 13, 2011 · The purpose of recommending MSC (Message Sequence Chart) is to provide a trace language for the specification and description of the ...
  5. [5]
    [PDF] ITU-T Rec. Z.120 (10/96) Message Sequence Chart (MSC)
    Introduction to MSC​​ A Message Sequence Chart (MSC) shows sequences of messages interchanged between system components and their environment. In SDL ( ...Missing: history | Show results with:history
  6. [6]
    [PDF] ITU-T Rec. Z.120 Annex B (04/1998) Message Sequence Chart ...
    This representation was originally intended for exchanging Message. Sequence Charts between computer tools only, but in this annex it is used for the definition ...
  7. [7]
    [PDF] Tutorial on Message Sequence Charts - SDL Forum Society
    1. Introduction. Message Sequence Charts (MSCs) are a widespread means for the visualization of selected system runs (traces) within communication systems.
  8. [8]
    Z.120 : Message Sequence Chart (MSC)
    ### Summary of Message Sequence Charts (MSC) per ITU-T Z.120
  9. [9]
    [PDF] ITU-T Rec. Z.120 (02/2011) Message Sequence Chart (MSC)
    The purpose of recommending MSC (Message Sequence Chart) is to provide a trace language for the specification and description of the communication behaviour of ...
  10. [10]
    [PDF] Message sequence charts in the software engineering process - Pure
    Jan 1, 2000 · We describe canonical applications of MSC independent of any software development methodology. We illustrate the use of MSC with a case study: ...
  11. [11]
    [PDF] Probabilistic Extension of Message Sequence Chart - IS MUNI
    The whole system has to finish in a time interval (0,25). The question is how to set the time limit t such that the probability that the whole system will ...
  12. [12]
    (PDF) A Formal Syntax for Probabilistic Timed Property Sequence ...
    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 ...
  13. [13]
    Rapid generation of functional tests using MSCs, SDL and TTCN
    We propose an approach to generate test cases from a set of Message Sequence Charts (MSCs) by constructing a semantically equivalent finite state machine ...
  14. [14]
    History of SDL
    The development of SDL arose out of an ITU study started 1968 of the way to handle stored programme control switching systems. The result of this study was to ...
  15. [15]
    [PDF] The Standardization of Message Sequence Charts
    In this paper the most relevant issues of the standard- ization of the Message Sequence Chart (MSC) lan- guage within the CCITT Study Group X are discussed.Missing: telecommunications | Show results with:telecommunications
  16. [16]
  17. [17]
    History - ITU
    In 1976, skeleton Recommendations on Specification and Description Language (SDL) and Man-Machine Language (MML) were adopted as the first Z-series ...Missing: Charts | Show results with:Charts
  18. [18]
  19. [19]
    Z.120 (1999) Cor. 1 (12/2001) - ITU-T Recommendation database
    ITU-T Z.120 (1999) Cor. 1 (12/2001) ; Approval date: 2001-12-14 ; Approval process: AAP ; Status: Superseded ; Maintenance responsibility: ITU-T Study Group 17.
  20. [20]
  21. [21]
    TTCN - ITU
    The TTCN-3 graphical presentation format, GFT, is based on the ITU-T Recommendation Z.120 defining Message Sequence Charts (MSC). GFT uses a subset of MSC ...
  22. [22]
  23. [23]
    [PDF] ETSI TR 101 873-3 V1.1.1 (2001-01)
    The Message Sequence Chart (MSC) presentation format for TTCN-3 is a graphical format based on the. ITU-T Recommendation Z.120 [2]. This presentation format ...
  24. [24]
    [PDF] High-level Message Sequence Charts
    In this paper, we will give a definition of the semantics of the sub-language HMSC of MSC96, based upon the recommended process algebra semantics of MSC92.
  25. [25]
    [PDF] UIT-T Rec. Z.120 (11/1999) Message sequence chart (msc) - ITU
    For further details, please refer to the list of ITU-T Recommendations. Page 3. ITU-T Z.120 (11/1999) i. ITU-T RECOMMENDATION Z.120. MESSAGE SEQUENCE CHART (MSC).
  26. [26]
    PMSC - Performance Message Sequence Chart - ResearchGate
    This document is a specification of the language PMSC (Performance Message Sequence Chart). It extends the standard language MSC-96 with performance aspects ...
  27. [27]
  28. [28]
    Come, Let's Play | Prof. David Harel - Weizmann Institute of Science
    Come, Let's Play: Scenario-Based Programming Using LSCs and the Play-Engine, Springer-Verlag, 2003. (Includes CD with the Play-Engine Software.)Missing: DOI | Show results with:DOI
  29. [29]
    Comparing UML 2.0 Interactions and MSC-2000
    ### Summary of Key Similarities and Differences Between MSC and UML 2.0 Sequence Diagrams
  30. [30]
    [PDF] Towards a Harmonization of UML-Sequence Diagrams and MSC
    The following sections provide a more detailed comparison of Sequence Diagrams ... According to the UML ... The formalization of Message Sequence Charts, In: ...
  31. [31]
  32. [32]
    Mscgen: A Message Sequence Chart Renderer - Michael McTernan
    Mscgen is a small program that parses Message Sequence Chart descriptions and produces PNG, SVG, EPS or server side image maps (ismaps) as the output.
  33. [33]
    Msc-generator download | SourceForge.net
    Rating 4.9 (11) · FreeA tool to draw various charts from textual descriptions. Currently, three types of charts are supported: Message Sequence Charts, generic Graphs, and Block ...
  34. [34]
    Sequence Diagram - PlantUML
    PlantUML streamlines the creation of sequence diagrams through its intuitive and user-friendly syntax. This approach allows both novices and experienced ...PlantUML Editor · Colors · Common commands · Skinparam
  35. [35]
    Commercial tools - SDL Forum
    Dec 15, 2024 · IBM Rational was the supplier of the IBM Rational SDL Suite (previously named Tau SDL Suite and before that SDT from Telelogic) and other ...
  36. [36]
    Create a UML sequence diagram - Microsoft Support
    Use a UML Sequence template in Visio, drag shapes, and use Actor/Object lifelines and message shapes to create a diagram. Start by searching 'UML sequence' in  ...
  37. [37]
    LTSA Eclipse MSC Plug-in - Imperial College London
    The LTSA-MSC plugin is an extension to the Labelled Transition System Analyser (LTSA) which allows models to be described by graphically editing sets of ...
  38. [38]
    5 Best Eclipse Plugins: #1 (Eclox with Doxygen, Graphviz and ...
    Jun 25, 2012 · The #1 award in my list goes to Eclox+Doxygen+Graphviz+Mscgen. Yes, it is a single Eclipse plugin (Eclox) for Doxygen, and with two other powerful tools.
  39. [39]
    [PDF] 2 Introduction to the SDL Suite - cs.aau.dk
    Jul 1, 2003 · Telelogic Tau allows reading and writing of MSCs expressed in the tex- tual form, MSC/PR. Both the instance-oriented and event-oriented.Missing: commercial | Show results with:commercial
  40. [40]
    sverweij/mscgen_js: text => sequence charts - GitHub
    Tight, standalone front end library that renders MscGen (and the two derivative languages) within any HTML. As used in the tutorial and the embedding guide.
  41. [41]
    [PDF] Message Sequence Charts - Semantic Scholar
    A formal semantics for most concepts of sequence diagrams by means of Petri nets as a formal model is introduced, able to express the partially ordered and ...
  42. [42]
    Message Sequence Charts | Request PDF - ResearchGate
    Aug 7, 2025 · The method is based on translation of (H)MSCs into coloured Petri nets. The translation algorithms cover most standard elements of MSCs ...
  43. [43]
    Automatic generation of conformance tests from message sequence ...
    Over the past five years our group has developed a tool that automatically generates conformance test scripts from a combination of Message Sequence Charts ...
  44. [44]
    Test case generation based on MSC TTCN-3 - ResearchGate
    In order to solve this problem, we present a new approach called generating TTCN-3 test case from message sequence chart (MSC). The testers can describe the ...
  45. [45]
    [PDF] Automata and Logics for Timed Message Sequence Charts - CSE IITB
    They propose a practical solution to a very specific matching problem using the tool UPPAAL. Outline We define MSCs in Section 2, together with their timed ...
  46. [46]
    [PDF] An Analyzer for Message Sequence Charts - SpinRoot
    Abstract. Message sequence charts (MSCs) are used in the design phase of a distributed system to record intended system behaviors.<|control11|><|separator|>
  47. [47]
    [PDF] Inference of Message Sequence Charts - UPenn CIS
    Message Sequence Charts (MSCs) are visual descriptions of design requirements for concurrent systems, depicting potential message exchanges among communicating ...Missing: history | Show results with:history
  48. [48]
    (PDF) Specification and Verification using Message Sequence Charts
    Message sequence charts is a notation used in practice by protocol designers and system engineers. In this survey, some of the recent results related to ...Missing: conformance | Show results with:conformance
  49. [49]
    Model Generation with LLMs: From Requirements to UML Sequence ...
    Jul 1, 2024 · This paper investigates the capability of ChatGPT to generate a specific type of model, ie, UML sequence diagrams, from NL requirements.
  50. [50]
    UML Sequence Diagrams: An Agile Introduction
    UML sequence diagrams model the flow of logic within your system in a visual manner, enabling you both to document and validate your logic.
  51. [51]
    [PDF] Deciding Properties of Message Sequence Charts - LaBRI
    Oct 1, 2004 · The partial order model allows events to be unordered, if they can independently (concurrently) occur.