Principles of Managed Objects

Information that is exchanged between management systems is modeled in terms of managed objects. Managed objects are views of resources; these resources may exist independently of management concerns, or may exist to support the management of other resources. A managed object may represent, for example, a modem, a log, or a circuit. In order to allow effective definition of a growing set of managed objects, we use object-oriented design principles. Object-oriented design is characterized by the definition of objects, where an object is an abstraction of a physical or logical thing. There is not necessarily a one-to-one mapping between managed objects and real resources. A managed object may represent one or more resources. These resources can be managed elements or parts of the management solution. Likewise, a resource may be represented by a zero, one, or more managed objects. If a resource is not represented by a managed object, it cannot be managed across the interoperable interface. A managed object may provide an abstract view of resources that are represented by other managed object(s). A managed object is defined by: A managed object class defines a ;SPM_quot;type;SPM_quot; of managed object, and a member of a managed object class is called a managed object instance. All managed object instances in the same class have the same attributes, operations, behavior and notifications. The term ;SPM_quot;managed object;SPM_quot; is used to mean ;SPM_quot;managed object instance;SPM_quot;, if this meaning is clear from context. Although managed object classes may be defined for anything which needs to be managed, it is useful to give some examples of managed object classes to help in understanding this wide variety. These examples show that managed object classes can be defined for physical and logical components, or to represent some other aspect of management. A facet of object-oriented design is that of encapsulation. Encapsulation is a form of information hiding, in that all implementation details, internal data structures, etc. are known only to the implementation of the object. For any object, only the properties defined for it are visible. That is, the internal operation of a managed object (or its mapping to a real resource) is not visible at the object boundary unless attributes, operations, behavior or notifications are defined to expose this information. How operations are performed and enforcement of any appropriate consistency constraints are determined by the definition of the managed object class.