stract protocol. I would regard such an object as the provider of a primitive service. I have now identified a set of service objects for each abstract machine and a number of service relations for the abstract protocol. By analysing relations between events in all interfaces that an abstract machine has to other abstract machines, I can then find out how an operation that is offered by a service object in one service relation depends on access to operations in other service relations. These dependencies define the behaviour of service objects. Finally, I would also look for the set of (possibly) specific operations that exist only for providing access to other service objects over the abstract protocol. I would associated this set with a special access-controlling service object, called object handler (OBH). The analysis procedure is slightly more complex than that, since, in order to identify which operations belong to the same providing service object, I must apply an abstraction hierarchy and a resource modelling approach (as discussed in Sect. 2.3.1) as well. This subject is discussed in more detail in Chaps. 6 and 7. We can conclude at this point that, as a result of step 4, an abstract machine may become separated into an integration mechanism comprising an object handler, an opera- tion handler and a number of different or identical service objects, as depicted by Fig. 2.52. AML provides some predefined operations for communication with OBHs. Objects that use the service of the OBH request access to other objects, either by naming the type of primitive service, or by referring to a service relation identifier, or by referring to a specific object instance with an object identifier (OBid). 2 Foundations of Sysnet Modelling The abstract network: Abstract machine Event abstract Event Handler protocol Handler event event interface interface integration step 1 disintegration step 4 The event handler model: concrete language Object Service object interfaces Handler (OBH) Concrete Operation object Operation Hand