Concurrency Theory: Lecture 20, 10 April 2018 --------------------------------------------- Expressiveness of Message Sequence Graphs We know that MSGs can describe non-regular MSC languages. Is every regular MSC language describable using MSGs? No. Every MSC in an MSG language can be decomposed into "atoms" from a finite set of atoms (those labelling the nodes of the MSG). On the other hand, there are regular MSc languages with an infinite number of atoms --- an example is the set of MSCs generated by the alternating bit protocol. Implied Scenarios For trace alphabets, we can characterize direct product languages as those which are equal to their shuffle closure --- that is, project the global language onto each local component and then construct all global words compatible with these projections. Each MSC projecs into a sequence of sends and receives along the individual processes. An implied scenario is one that is not in a given MSC language but whose projections agree with a valid MSC for every process. Implied scenarios are important for testing --- we typically test message passing specifications by checking if the behaviour at each interface is valid. For this to imply that the global behaviour is valid, the specificaiton should be closed with respec to implied scenarios. Unfortunately, it is undecidable whether an MSG language is closed with respect to implied scenarios. This is called "weak realizability" in the paper by Alur, Etessami and Yannakakis. The proof is by a reduction from a variant of Post's Correspondence Problems. ----------------------------------------------------------------------