Detecting Races in Ensembles of Message Sequence Charts
The analysis of message sequence charts (MSCs) is highly important in preventing common problems in communication protocols. Detecting race conditions, i.e., possible discrepancies in event order, was studied for a single MSC and for MSC graphs (a graph where each node consists of a single MSC, also called HMSC). For the former case, this problem can be solved in quadratic time, while for the latter case it was shown to be undecidable. However, the prevailing real-life situation is that a collection of MSCs, called here an ensemble, describing the different possible scenarios of the system behavior, is provided, rather than a single MSC or an MSC graph. For an ensemble of MSCs, a potential race condition in one of its MSCs can be compensated by another MSC in which the events occur in a different order. We provide a polynomial algorithm for detecting races in an ensemble. On the other hand, we show that in order to prevent races, the size of an ensemble may have to grow exponentially with the number of messages. Also, we initiate the formal study of the standard MSC coregion construct, which is used to relax the order among events of a process. We show that by using this construct, we can provide more compact race-free ensembles; however, detecting races becomes NP-complete.
- 6.Hélouët, L., Jard, C.: Conditions for synthesis of communicating automata from HMSCs. In: 5th International Workshop on Formal Methods for Industrial Critical Systems (2000)Google Scholar
- 8.ITU-T Recommendation Z.120, Message Sequence Chart (MSC), Geneva (1996)Google Scholar
- 9.Krueger, I.: Distributed system design with message sequence charts. Ph.D. Thesis, TU Munchen (2000)Google Scholar
- 16.Sengupta, B., Cleaveland, R.: Triggered message sequence charts. IEEE TSE (2006)Google Scholar