5.6. Conversations, Collaborations and Services

A conversation involves exactly two agents. A collaboration arises from multiple conversations and therefore may involve two or more agents. Like a conversation a collaboration has a stereotypical script and a goal. The goal is the intersection of all the conversations' post-conditions, i.e. they are combined with the AND operation. The situation with pre-conditions is slightly more complicated. The pre-conditions of each conversation must all be satisfied but one conversation within a collaboration may be the enabler of another. This is because, in the real world, collaborations take time; they are not instantaneous.

In the original version of Catalysis, collaborations were called actions. They were modelled as being instantaneous and simply had a pre- and post-condition.

Let us consider a simple example, returning again to our order processing process. Figure 5-9 illustrates the two conversations that take place when a customer rings in with an order. Note that there is a 'parallels' association between them. Here are the two scripts.

PlaceOrder

  1. The customer asks the clerk for a quotation (in general this can be for purchase or sale, but think of a purchase request for now).

    Figure 5.9. The order processing conversations.
  2. The clerk gives price and availability.

  3. The customer decides whether to accept the quote and places the order. ...

Get Requirements Modelling and Specification for Service Oriented Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.