HP WBEM Services Software Developer's Kit for HP-UX Provider and Client Developer's Guide A.01

Schema Design and Implementation
Schema Design
Chapter 342
Standard CIM practice does not permit removal of classes, properties, or
methods for minor version updates; instead deprecation is permitted
through the Deprecate qualifier. Thus, while deprecation is possible, it
does imply continued provider support of the deprecated schema,
enabling clients to continue functioning with deprecated schema,
re-implementing to the new schema over time. Hence, providers must
support both the deprecated and revised schema elements.
General Schema Use Cases
One may find several situations when doing schema design that require
further analysis. While the list below is by no means complete, it is an
initial reference list from which to analyze a proposed schema.
Common Properties
When implementing weak associations, some key properties are
propagated from their scoping class. It is important to ensure
consistency among these properties. Information is also available in
the Key Properties section. An example of a weak association is the
CIM_SystemDevice aggregation of CIM_LogicalDevice to
CIM_System. If more than one instance of CIM_System exists, it is
particularly important to ensure that the key properties propagated
from CIM_System to CIM_LogicalDevice (SystemName and
SystemCreationClassName) match between instances to ensure that
it is clear which devices are a part of a particular system.
"Unknown" Subclass
There may be situations in which a single provider is unable to
appropriately place all instances in specific subclasses. Thus, the
appropriate subclass for a particular instance is unknown. An
approach in this case to create a special subclass indicating the
unique properties that are unknown. (There are probably no
additional properties on the subclass from those present in the
superclass.) Use of this special "unknown" subclass facilitates
discovery of the instance when enumerating instances of the
superclass. If at some point, additional information becomes
available to the provider to determine the specific subclass, the
"unknown" instance can be reclassified and a more appropriate
subclass instance created.
An example of this use case would be a provider for instances of
devices attached to a USB port. The provider(s) would be able to
recognize devices attached to the port for which drivers are currently