The following terms are innate to the CIM Schema.
The terms model, schema, and framework are synonymous. Each is an abstract representation of an entity that has a physical or logical existence. In CIM, a schema is a named collection of classes used for class naming and administration. Within a schema, classes and their subclasses are represented hierarchically using the following syntax: Schemaname_classname. Each class name in a schema must be unique. Solaris WBEM Services includes a Solaris Schema. It contains all classes specific to the Solaris extension to CIM.
In WBEM, a class is a collection of objects that represents the most basic unit of management. For example, in Solaris WBEM Services, the three main functional classes include CIMClass, CIMProperty, and CIMInstance.
Abstractly, classes are used to create managed objects. Class characteristics are inherited by the child objects, or instances, that are created from a class. For example, using CIMClass, you can create an instance, CIMClass (Solaris_Computer_System).
This instance of CIMClass answers the question, "What is the computer system?" The value of the instance is Solaris_Computer_System. All instances of the same class type are created from the same class template. In the example, the name of the computer system provides a template to create managed objects of the type Computer_System.
Classes can be static or dynamic. Instances of static classes are stored by the CIM Object Manager and can be retrieved from the CIM Repository when a request is made. Instances of dynamic classes--classes containing data that changes regularly, such as system usage--are created by provider applications as the data changes.
For extensions to CIM, custom classes can be developed to support managed objects that are specific to their managed environment. The CIM Object Manager API provides new classes to extend CIM for the Solaris operating environment.
A property defines a characteristic of a class, represented hierarchically as Schemaname_classname.propertyname. For example, using the CIMProperty class, you can define a key as a property of a particular CIM class. Values of properties can be passed back from the CIM Object Manager as a string or as a vector for a range of properties. Each property has a unique name and only one domain--the class that owns the property. A property of a given class can be overridden by a property of its subclass.
An example of a property is the CIMProperty, which denotes the properties of a CIMClass.
Like properties, methods belong to the class that owns them. A method is an action the objects of a given class are programmed to complete. For example, the method public String getName() returns the name of an instance as a concatenation of its keys and their values. Collectively, these actions describe the behavior of the class. Methods can belong only to the class that owns them. Within the context of a class, each method must have a unique name. A method of a given class can be overridden by a method of its subclass.
New classes inherit the definition of the method from the superclass, but not the implemented method. The definition of the method, indicated by a qualifier, serves as a placeholder in which a new implemented method can be provided. The CIM Object Manager checks for methods by starting from the lowest-level class and moving up the tree to the root class searching for a qualifier type that indicates a method.
A CIM qualifier is a modifier used to characterize CIM classes, properties, methods, and parameters. Qualifiers have unique attributes, including Name, Type, and Value, that are inherited by new classes.
An indication, an object and a type of class, is created as a result of the occurrence of an event. Indications can be arranged in a type hierarchy. Indications may have properties, methods, and triggers. Triggers are system operations, such as a change made to an existing class, or events that result in the creation of new instances of an indication.
An association is a class that represents a relationship between two or more classes. Associations enable the creation of multiple relationship instances for a given class. System components can be related in many different ways, and associations provide a way of representing the relationships of these components.
Because of the way associations are defined, it is possible to establish a relationship between classes without affecting any of the related classes. The addition of an association does not affect the interface of the related classes. Only associations can have references.
A reference is a type of property that defines the roles of objects involved in an association. The reference specifies the role name of the class in the context of the association. The domain of a reference is an association. The range of a reference is a character string that indicates the reference type.
The override relationship is used to indicate the substitution of a property or method inherited from a subclass for a property or method inherited from the superclass. In CIM, guidelines determine what qualifiers of properties and methods can be overridden. For example, if the qualifier type of a class is flagged as a key, then the key cannot be overridden, because CIM guidelines specify that a key property cannot be overridden.