rations) and transactions (complex opera- tions). A transaction is an algorithm that uses a set of basic operations in some sequence. Transactions are discussed more in detail in Sect. 7.6. 6.2 A Service Network Modelling Case 6.2.4 Service Behaviour By definition, service behaviour is the behaviour that can be observed and speci- fied in a service relation. The context for service behaviour is described by Fig. 6.14. user-port observer behaviour events in service relation provider-port behaviour S1 provided service provider uS1 used service SRM service resource model Fig. 6.14 How service behaviour is specified The behaviour in a service relation is the behaviour that can be described by an observer who exists outside any service object. The observer observes the commu- nication between user and provider in a single service relation. This behaviour is a function of the behaviour that the type of provider port can support, and the behav- iour the type of user port actually makes use of. The user-port behaviour is, of course, a function of the provider-port behaviour, since users and providers must have a common perception of the service resource model, and of the operations available. However, the provider port must consider all operations it supports, but a particular user does not necessarily use all those operations. The provider-port behaviour must allow for all possible sequences of ASPs, but a particular user might make use of only a partial set of those. Thus, for a given provider-port behaviour, there are many possible user-port behaviours. A service behaviour is based on the service resource model in the relation, and on the set of operations that are selected for operating on that model. A service behaviour describes how the provider behaves, and how the user is expected to behave. To describe the service behaviour for all service relations in the service network model is a prerequisite for specifying the behaviour of service objects, the object behaviour (see Sects. 6.2.5 and 6.2.6). Thus, there are tw