/ -SAP handler object -discriminator connection encoder -object handler Fig. 7.7 Ports and specialized service objects All of the specialized ports, services and service objects have been used in mod- elling examples in previous chapters. Note that there are two alternative notations for connections/associations: the upper one is used when the intention is to develop a substructure for a connection, the lower one is used otherwise. Except for user- defined ports, the only specialized port that is used in service network modelling is the data service port. In abstract network modelling, the object handler is used. All other specialized objects are used only in protocol network modelling. 7.2.3 Complex Relations and Objects If service networks tend to be complex, primitive service objects can be aggre- gated. An aggregate of primitive service objects is called complex object. Such an aggregation results in aggregation of service ports as well. An aggregation of serv- ice ports is called a complex port. An association between two ports, where at least one is a complex port, is a complex service relation. Figure 7.8 shows the semantic diagram for complex relations and complex objects. 7 Concepts and Notations for Process Control Systems Modelling Concepts: Complex Service Relation Primitive aggregates 1.. * Complex aggregates 2.. ServiceObject Complex ServicePort Object (see Fig. 7.2) (see Fig. 7.2) Symbols: multiple service both user and all user ports all provider ports provider ports Fig. 7.8 Concepts and symbols for complex objects The placement of a complex port on the boundary of an object defines whether the complex port represents user ports only, provider ports only or is a mix of both port types. Figure 7.9 shows how aggregation can be modelled by using the com- plex port notation. Note that if a service network model comprises complex objects, it will include both primitive service relations and complex relations. Expanded models: expand expand {S1,S2} expand expand expand expand {S1,S2} {S1,S2} expand Fig