, 2010), UTCTime (e.g., yy = 80..99 : 1980-1999), and SO forth. Syntax for type definition: <type name> ::= <type> Examples of type definition: 1. TIMER ::= INTEGER 2. MacAddress ::= OCTET STRING 3. Days ::= ENUMERATED { Monday (1), Tuesday (2), Wednesday (3) } Syntax for value assignments: <value name> <type> ::= <value> Examples of value assignments: 1. ipAdd MacAddress ::= 'FFEEFFOO'H 2. firstName VisibleString ::= "Jithesh" 3. currentDay Days ::= Monday 4. currentTime UTCTime ::= "000204062010+0100" Subtypes as the name suggests, are derived from existing types. A subtype is used when: Inheriting characteristics from a reusable type. That is, if multiple types have common characteristics then these common characteristics can be moved to a parent type and specialized subtypes can be created by deriving from the parent type. This way the subtype will include both the parent characteristics and its own individual characteristics. Subtypes are also used to create subsets from a parent set; that is, when the parent set is large or for some other reason the contents of a parent type needs to be put in two subtypes. A subtype must have a value when it is derived from the parent type. Syntax for subtype definition: <subtype name> ::= <type> ( <constraint>) Examples of subtype definition: 1. TIMER ::= INTEGER (0..100 ) 2. MacAddress ::= OCTET STRING ( SIZE(4) ) ) 3. Today ::= Days (Monday | Tuesday ) Before we move from simple types to structured types, let us look into object types. Object type discussed under simple type is a very important format for infor- mation handling, as management information in a MIB has management entities handled as objects. ASN.1 object identifiers are organized in a hierarchical tree structure. This makes it possible to give any object a unique identifier. This tree is shown in Figure 15.1. Fundamentals of EMS, NMS and OSS/BSS CCITT Joint Standard Registration Member body Organization authority Internet Directory Management Experimental Private Enterprises Cisco Microsoft Figure 15.1 Ob