For the sake of clarity, the following kinds of management information and services are not present in the figure: Object classes for the maintenance and control of event and alarm logs, instrumentation for traces and definitions of value constraints like thresholds. The definitions of the attributes (data types, default value, hints whether they are read-only) and methods (arguments, return type) have also been suppressed.
It can be seen that MOCs for generic clients and servers are derived from the abstract base MOCs; as MSs act in a client and managed systems act in a server role, we can derive them from the generic MOCs, respectively. The model also reflects the fact that MLMs are dual role entities and consequently inherit properties and operations from both of the above MOCs. MGs, finally, are - as described in section 3.1 - a special case of MLMs that additionally perform transformation activities.
The design of the management object model is usually done with object-oriented design methodologies such as the Object Modeling Technique (OMT) [20] or the Unified Modeling Language (UML) [18] that not only allow the specification of MOCs, their properties and operations but also of the relationships between different MOCs. Furthermore, it should be possible to transform the resulting MOCs straightforward into the description languages of standardized management frameworks (e.g., OSI GDMO, OMG IDL). For our modeling, we have used an OMT-compliant CASE tool [1] that fulfills the above requirements; the object model can be transformed either into C++ or Java classes or OMG IDL. By introducing the OMT interface descriptions into the CASE tool repository we are able to follow a rapid-prototyping approach for implementing appropriate agents.