 model graph, there is not much room for specifying values of properties, or properties which themselves are structures of properties. For exam- ple, the property personId would probably consist of a SET OF firstName, a familyName and may be a socialSecurityNumb. The property specification sec- 7 Concepts and Notations for Process Control Systems Modelling tion is used to give such detailed information (if necessary). In the resource model graph you would only declare the property personId, but in the property specifica- tion you would write the property declaration personId SET {SET OF firstName, familyName, socialSecurityNumb The syntax and the key words SET, SET OF, CHOICE, OPTIONAL and DEFAULT are taken from ASN.1. Note that we are not interested in data-typing issues which is why all properties are named by identifiers only. Values of proper- ties are also written as identifiers. Note also that a property without any given value range can often be quite ambiguous. Take for example the property priority. What does that mean? By adding a set of possible values notNeeded and needed the property becomes clearer. We then know that there is no particular range required, only an indication of whether priority is needed or not. In the property specifica- tion, you would therefore write priority {notNeeded, needed}. 7.3.5 State Vector State vectors are needed only if the service object behaviour is to be simulated, or to support code generation of service objects. Creating a state vector means pro- ducing a data model of the resource model. The data model is used by the service object to control its behaviour, through the pre- and postconditions that are defined in state diagrams or by event specifications, see Sect. 7.6. A suitable data represen- tation of a resource model is to represent resources as sets, relations as functions and properties as data. Although AML provides its own language for state vector specification, any other declarative language will do as well, e.g. ERLANG, see Armstrong et al. (1996). 7.3.