Given the large number of different SNMP MIBs that are being defined (e.g. Host resources MIB, HTTP MIB, Manager-to-Manager MIB etc.) and the amount of vendor- and device-specific MIBs, the support of only two MIBs of course is not sufficient: It is therefore necessary to have the opportunity of extending the QAF easily by new managed object descriptions.
This is done as follows: The new MIB has to be translated by means of the compiler according to the IIMC algorithm into GDMO templates and ASN.1 descriptions; eventually, the created name bindings and OIDs have to be adapted manually: After the translation, all the generated name bindings being necessary for the creation of the containment hierarchy have their superior object class set to ``system''. For MOCs having a different superior MOC (the vast majority in our case), this must be changed manually to the appropriate values in order satisfy the name binding constraints for instatiating the MOCs. This requires knowledge of the underlying information models. If needed, user-defined behaviour can be added. These files are then entered into the IBM TMN Workbench by processing them with the Managed Object Browser and Editor which enters the new descriptions into the Metadata Database, a common and architecture independent repository for MOC descriptions.
After this has been done, the new MOCs are added to the already existing ensemble by means of the Managed Object/Agent Composer. This tool generates then the headers of the callback methods which have to be filled with the implementation code. In the case of the QAF, the calls to the SNMP API are entered. Finally, the generated code has to be compiled and linked with the already existing QAF code. The QAF is then extended to handle also the new MIB.
The flexibility for integrating different kinds of SNMP capable resources and the achieved ease of use for applying complex and powerful operations have a certain price in terms of manpower and system resources needed: It took about one man-year to design and implement the prototype. The executable code size is roughly five Megabytes if UNIX shared libraries are used; the stand-alone version of the QAF has a size of 40 Megabytes. The compile time for the QAF is about 60 minutes on an IBM RS/6000 workstation model 3BT (7030) equipped with 128MB of RAM. The development environment requires 250 MB of disk space.