Tutorial by Caitlin MacFadyen
This example models a three-party communication using a scenario where a university researcher wishes to organise travel for research purposes. The three participants involved in the example are the Researcher (R) who wishes to travel, the Agent (A) who makes the bookings, and the Finance department (F) who controls the university’s budget. The communication begins when the Researcher requests a quote from the Agent, who sends it back. The Researcher then sends the quote to Finance who must approve or refuse travel. If Finance approves, they must send an approval code to both the Agent and the Researcher; the Agent then sends a ticket String to the Researcher and an invoice code back to Finance. When the Researcher’s ticket has been received, their role in the communication is complete. Finally, when Finance receives the invoice code, they can send back the payment to the Agent and the communication is complete. Conversely, if Finance refuses the travel request, they simply send a String explaining the refusal to the Researcher and the Agent.