A few days ago I implemented the SSDL MEP protocol framework in Soya. Of the four initial SSDL protocol frameworks, the MEP framework is the simplest and least sophisticated. It has primarily been designed for capturing the Message Exchange Patterns defined by WSDL so it can be used as a simple, SOAP-centric language replacement for the latter.
After having a closer look at the Message Exchange Patterns in the WSDL specification, however, I found that they weren't described in a very intelligible way (despite the fact that they are actually quite simple).
To make sure I understood the patterns and in order to document how I implemented them in Soya, I drew a state diagram for each pattern. Each state diagram represents one MEP from the perspective of one service.
Clicking on the image below will open a high-res image of the state machines for each MEP. Alternatively, you can also download the image as a PDF document for easier printing.
Please let me know if you find any errors in the diagrams, so I can fix them in both Soya and the image.