 be used to capture different instances of the managed object. As already mentioned, SMI is defined using ASN.1 constructs. The data types for SMI can be classified into three groups. They are: Simple types: These are taken from ASN.1 and comprised of types like INTEGER and OCTET STRING that were discussed in the preceding sections. APPLICATION-WIDE types: These are data types that are specific to SMI. It includes scalars like Integer32, IpAddress, and Counter32. Note that integer represented for the simple types of ASN.1 are written in full capital Fundamentals of EMS, NMS and OSS/BSS INTEGER, while the integer specific to SMI only has the first alphabet capi- talized Integer32. PSEUDO types: This type has the look and feel of an ASN.1 type but is not defined in ASN.1. An example for this is BITS, which is written in full capital similar to ASN.1 but is not part of the ASN definitions. The above discussion on types is based on SMIv2. The initial version of SMIv1 did not have data types like Counter32 and Counter64 defined, instead a single data type called Counter represented both 32 and 64 bit types. In addition to giv- ing more meaningful definition for existing types of SMIvl, the second version also introduced new data types like "Unsigned" and made some of the data types like "NetworkAddress" defined in version one obsolete. Next let us use an example to discuss the definition of objects. Let us consider switch as an entity for our example. It has a unique "address" of type IpAddress as its identifier and its attributes include a "status" showing the usability state of the switch of type OCTET STRING, number of "connection" of type Integer32 and a table named "Routing" having a collection of data of type INTEGER showing the switch routing logic. This can be represented in the tree diagram (see Figure 15.4). The address, status, connection are all objects of the switch entity. If "status" has its value as "offline" and to get the status object, the query is to 1.2.1, and to get the value of the object the qu