e can choose to specify them in a symbolic form, a typed form or in both forms combined. When the data specifica- tion will be used to define messages in protocols, the typed form must be provided. In all other cases, the symbolic form is preferred. In a symbolic data specification, all types and values are provided as identifiers. The ASN.1 syntax is used, but only the following words are needed: $SET, $SET OF, $CHOICE, OPT, DEF The following example shows how types are defined: Symbolic form: EmplRecord2 ::= SET {firstName OPT, lastName, title OPT, emplCat DEF level4, dateOfHire} Typed form: EmplRecord2 ::= SEQUENCE {[0] VisibleString OPTIONAL, [1] VisibleString, [2] VisibleString OPTIONAL, EmplCat DEFAULT level4, Date} Appendix 2: Naming and Data Typing in AML EmplCat ::= INTEGER (0..6) level4 EmplCat ::= 4 Date ::= SEQUENCE {Day, {"-"}, Month, {"-"}, Year} Day ::= INTEGER (0..31) Month ::= INTEGER (1..12) Year ::= INTEGER (1900..<MAX) Using the word SET in the symbolic form is necessary, because otherwise one does not know if the identifiers represent types or values. Note that SETs are normally translated to SEQUENCEs in the typed form, and that identifiers are not needed. The following example shows how values are defined: Symbolic form: primType ::= {request, confirm, refuse, order, offer, reject, invite, replnit, repCnf, repFail} Typed form: PrimType ::= INTEGER (0..9) References Armstrong J, Virding R, Wikstrom C, Williams M (1996) Concurrent Programming in ERLANG. Prentice Hall, Hertfordshire Booch G (1983) Software Engineering with ADA. Benjamin/Cumming Publishing, Menlo Park Bubenko J, Lindencrona E (1984) Konceptuell modellering-Informationsanalys (in Swedish). Studentlitteratur, Lund Chen P P (1976) The Entity-Relationship Model-Toward a Unified View of Data. ACM Trans- actions on Database Systems 1(1): 9-36 Miller JG (1978) Living Systems. McGraw-Hill, USA OMG UML v1.4 (2000) www.omg.org Orfali R, Harkey D, Edwards J (1996) The Essential Distributed Objects Survival Guide. Wiley, de Prycker M (1993