DER U_REPORT OFFER Order Offer ReportInit Order activity not Reject confirmed activity iie Internal initiating event Fig. 7.29 The operation classification system Each unique sequence is an operation class, defined by a unique sequence of primitive types. There are in all six operation classes: REQUEST, ORDER, INVITE, OFFER, C_REPORT and U REPORT. Primitive type names are reused wherever possible, keeping the number of primitive types to ten: Request, Confirm, Refuse, Order, Invite, Reject, Offer, ReportConfirm, ReportRefuse and ReportInit. The primitive type name of the first event in a sequence is chosen SO that it reflects the operation class name. Recommended abbreviations of operation classes are: REQ, 7.4 Elements of Interactions ORD, INV, OFF, C_REP and U REP. Recommended abbreviations of primitive types are: Req, Cnf, Ref, Ord, Inv, Rej, Off, RepCnf, RepRef and Replni. Important characteristics of this classification system are: All operations are performed on the provider side (as it should be, according to our definition of the user-provider roles in a primitive service relation). Initiation of a sequence of events can be on either side. The event that initiates a sequence of events in a primitive service relation is called internal initiating event (iie). It is "internal" because the party who detects the first event in sequence does not know (and has no interest in knowing) what made the other party initiate the event. Only if one has a complete overview of the service net- work is it possible to draw conclusions about what caused the initiation. Only the designer of the service network has that perspective. Four of the six classes define sequences that are initiated by the provider. This reflects common occurrences in process control systems. This also distinguishes this classification system from most other modelling and design languages, where most events are assumed to be initiated by the user, and where provider- initiated events, when supported at all, are defined by special constructs, like the