[This is preliminary documentation and subject to change.]
Web-Based Enterprise Management (WBEM) association classes describe a relationship between two classes or between instances of two classes. The properties of an association class include pointers, or references, to the two instances. The references always take the form of an object path, a string that uniquely identifies the location of the instance. By storing paths rather than real objects in the association class, relationships can be added or removed without affecting the objects. All association classes are identified by the Association qualifier, one of the standard qualifiers defined by WBEM for use with classes.
All WBEM classes can be included in zero or more association classes. Association classes can be system classes defined by WBEM or custom classes defined by a third-party vendor. The Common Information Model (CIM) defines various types of associations, each type defining a different relationship. For example, the CIM_Dependency class defines a dependency association. The properties of the CIM_Dependency class include two instances that are dependent upon each other in some way. One instance cannot exist or operate without the other instance. The CIM_HostedService association class is an example of a dependency association. The reference properties of this class include an instance of the CIM_System class and an instance of the CIM_Service class.
An example of a custom association class might be the NetCardToProtocolBinding class for relating network cards to protocols. Because a network card can support multiple protocols and the same protocol runs over multiple network cards, defining an association class enables these two types of managed objects to be related without affecting their class definitions and without knowledge of the providers for the protocol and network card instances.