Timed Message Sequence Charts

Message Sequence Charts (MSC) [1] are a standardized model to capture interaction in the form of message exchanges between concurrent components. They are defined (among others) in UML. It can be used as a specification of desired behavior, or it may be used to capture actual behavior observed in a real system.

The underlying mathematical model considers a set of events with a partial order relation that captures all specified or observed dependencies. All events of a single component are sequential, totally ordered and the message exchanges between components establish ordering relations between event on different components.

Time Message Sequence Charts [2] are an extension of message sequence charts that include quantitative time. Different flavors exist. One example is the annotation of dependencies with a minimal or actual time difference between events. When event are observed on different components this may require some form of time synchronization between distributed components.

When MSCs are used to represent actual, observed behavior in a system, an effective inference method is required [3][4]. Software or hardware needs to be instrumented to extract the relevant dat and a model is constructed from that data that represents the observed behavior.

Subsequently inferred models can be used for different kinds of analysis, for example, verification of timing properties [5], critical path analysis [6], or root-cause analysis.

References

  1. David Harel and PS Thiagarajan (2003): Message sequence charts. In: UML for real: design of embedded real-time systems, pp. 77โ€“105, 2003.
  2. Rajeev Alur and Gerard Holzmann and Doron Peled (1996): An analyzer for message sequence charts. In: Lecture Notes in Computer Science, vol. 1055, pp. 35โ€“48, 1996.
  3. Ruben Jonk and Jeroen Voeten and Marc Geilen and Rolf Theunissen and Yuri Blankenstein and Twan Basten and Ramon Schiffelers (2019): Inferring Timed Message Sequence Charts from Execution Traces of Large-scale Component-based Software Systems. In: 2019.
  4. B Hooimeijer (2020): Model inference for legacy software in component-based architectures. Masterโ€™s thesis, Eindhoven University of Technology, 2020.
  5. R. Jonk and J. Voeten and M. Geilen and T. Basten and R. Schiffelers (2020): SMT-based verification of temporal properties for component-based software systems. In: IFAC-PapersOnLine, vol. 53, no. 4, pp. 493-500, 2020, ISSN: 2405-8963, (15th IFAC Workshop on Discrete Event Systems WODES 2020 โ€” Rio de Janeiro, Brazil, 11-13 November 2020).
  6. Martijn Hendriks and Frits W. Vaandrager (2012): Reconstructing Critical Paths from Execution Traces. In: 2012 IEEE 15th International Conference on Computational Science and Engineering, pp. 524-531, 2012.

Selected Related Publications

2020

Hooimeijer, B

Model inference for legacy software in component-based architectures Bachelor Thesis

Masterโ€™s thesis, Eindhoven University of Technology, 2020.

BibTeX

2019

Jonk, Ruben; Voeten, Jeroen; Geilen, Marc; Theunissen, Rolf; Blankenstein, Yuri; Basten, Twan; Schiffelers, Ramon

Inferring Timed Message Sequence Charts from Execution Traces of Large-scale Component-based Software Systems Journal Article

In: 2019.

BibTeX

2012

Hendriks, Martijn; Vaandrager, Frits W.

Reconstructing Critical Paths from Execution Traces Proceedings Article

In: 2012 IEEE 15th International Conference on Computational Science and Engineering, pp. 524-531, 2012.

Links | BibTeX

2003

Harel, David; Thiagarajan, PS

Message sequence charts Journal Article

In: UML for real: design of embedded real-time systems, pp. 77โ€“105, 2003.

BibTeX

1996

Alur, Rajeev; Holzmann, Gerard; Peled, Doron

An analyzer for message sequence charts Journal Article

In: Lecture Notes in Computer Science, vol. 1055, pp. 35โ€“48, 1996.

BibTeX