rm, (which does not include data types), and the typed form (which does). Translating a symbolic operation specification into a typed operation specification is another example of specification refinement. SymbolicOperation Primitive refers Specification Service Operation isAspecification Specification Specification RefinementOf TypedOperation Operation describes Specification Fig. 7.23 Two forms of operation specifications exist 7.4.2 Communication Event and Abstract Service Primitive A communication event is a primitive interaction between two service objects, i.e. in a service relation. By "primitive" we mean that the communication event cannot 7 Concepts and Notations for Process Control Systems Modelling be separated in sub-events in the service network (although it may be separated into several send and receive events in the protocol network in which the service network is allocated). A communication event is initiated by one of the parties in a service relation, and detected by the other (we don't use words like "send" and "receive", since communication events are not data). Any of the two parties can initiate a communication event. Communication events are high-level primitives in the sense that they express meaning with an interaction, similar to how human communication is perceived. Figure 7.24 shows the same scenario of communica- tion events in three different contexts. Communication events in human communication: Nelson Thomas Mahatma "Mahatma, Communication events in service networks: timeRequest() timeConfirm({12}) Nelson timeRefuse({cause watchBroken}) Thomas timeRequest() timeConfirm({12}) Mahatma timeRefuse({cause watchBroken}) Communication events in state diagrams: Behaviour of Thomas: Behaviour of Nelson and Mahatma: Mahatma-timeRef Thomas-timeRef ({cause watchBroken}) ({watchBroken}) Thomas-timeCnf({12}) iie: needToKnowTime Nelson-timeReq() pending state Thomas-timeReq() Thomas-timeReq() pre: watchBroken pre: watchlsOk Nelson-timeCnf({12}) Nelson-timeRef ({cause watchBroken}) Mahatma-timeReq