次の用語は、CIM スキーマ固有の意味を持ちます。
モデル、スキーマ、およびフレームワークは同義語です。これらはそれぞれ、物理的または論理的に存在するエンティティの抽象表現です。CIM では、スキーマはクラスの名前付けと管理に使用される、名前の付けられたクラスの集まりを意味します。スキーマ内では、クラスとそのサブクラスは構文 Schemaname_classname によって階層的に表現されます。スキーマ内の各クラス名は、一意である必要があります。Solaris WBEM Services には、Solaris スキーマが付属しています。Solaris スキーマには、CIM 機能を Solaris 用に独自に拡張したすべてのクラスが含まれます。
WBEM では、クラスは最も基本的な管理ユニットを表現するオブジェクトの集まりを意味します。たとえば、Solaris WBEM Services の主要な機能クラスとして、CIMClass、CIMProperty、CIMInstance が挙げられます。
クラスは、管理対象オブジェクトを作成するために使用される抽象的な概念です。クラスの特性は、そのクラスから作成される子オブジェクト (インスタンス) によって継承されます。たとえば、CIMClass を使用してインスタンス CIMClass (Solaris_Computer_System) を作成できます。
この CIMClass インスタンスは、「そのコンピュータシステムは何か」という質問に答えます。インスタンスの値は、Solaris_Computer_System です。同じクラスタイプのインスタンスはすべて、同じクラステンプレートから作成されます。この例では、CIMClass が、タイプ Computer_System の管理対象オブジェクトを作成するテンプレートを提供します。
クラスには、静的クラスと動的クラスがあります。静的クラスのインスタンスは、CIM Object Manager によって格納され、要求がある場合に CIM Repository から取り出すことができます。動的クラス (システム使用量のような常に変化するデータを含むクラス) のインスタンスは、データの変化に伴いプロバイダアプリケーションによって作成されます。
管理環境に固有の管理対象オブジェクトをサポートするために、CIM の拡張機能としてカスタムクラスを開発できます。CIM Object Manager API は、Solaris オペレーティング環境向けに CIM を拡張する新しいクラスを提供します。
プロパティは、クラスの特性を定義し、Schemaname_classname.propertyname として階層的に示されます。たとえば、CIMProperty クラスを使用して、キーを特定の CIM クラスのプロパティとして定義できます。プロパティの値は、文字列、またはプロパティ範囲のベクトルとして CIM Object Manager から渡すことができます。各プロパティは、固有の名前と 1 つのドメイン (そのプロパティを所有するクラス) を持ちます。一定のクラスのプロパティは、そのサブクラスのプロパティによってオーバーライドすることができます。
プロパティには、CIMClass のプロパティである CIMProperty などがあります。
プロパティと同様に、メソッドはそれらを所有するクラスに属します。メソッドは、一定のクラスのオブジェクトが実行するアクションです。たとえば、メソッド public String getName() は、インスタンスの名前を、そのキーとキーの値を連続した値として返します。これらのアクションは、集合的にクラスの動作を表現します。メソッドは、そのメソッドを所有するクラスにしか属すことができません。1 つのクラスのコンテキスト内では、各メソッドは固有の名前を持つ必要があります。一定のクラスのメソッドは、そのサブクラスのメソッドによってオーバーライドすることができます。
新しいクラスはスーパークラスからメソッドの定義を継承しますが、スーパークラスの実装は継承しません。修飾子によって示されるメソッドの定義は、実装される新しいメソッドを提供できるプレースホルダとしての役割を果たします。CIM Object Manager は、ツリー内で下位レベルクラスからルートクラスの方向にメソッドを順に検査し、メソッドを示す修飾子型を検索します。
プロパティおよびメソッドは、クラス内で宣言されます。プロパティまたはメソッドを所有するクラスは、プロパティまたはメソッドのドメインと呼ばれます。
CIM 修飾子は、CIM のクラス、プロパティ、メソッド、およびパラメータの特性を示すために使用されます。修飾子は、新しいクラスによって継承される固有の属性 (名前、型、値など) を持ちます。
インジケーション (オブジェクトとクラスのタイプ) は、イベント発生の結果として作成され、タイプ階層で示されます。インジケーションは、プロパティ、メソッド、およびトリガーを持つことができます。トリガーは、既存のクラスに対する変更や、新しいインジケーションインスタンスの作成を引き起こすイベントなどのシステムオペレーションです。
関連は、2 つ以上のクラス間の関係を表現するクラスです。関連を使用すると、一定のクラスに複数の関連インスタンスを作成し、システムコンポーネントをさまざまな方法で関連付けることができます。関連は、システムコンポーネントの関係を表現する手段を提供します。
関連の定義方法のおかげで、関係するどのクラスにも影響を与えずにクラス間の関係を構築できます。関連を追加しても、関係するクラスのインタフェースには影響しません。関連だけが、参照を含むことができます。
参照はプロパティの一種で、関連に関係するオブジェクトの役割を定義します。参照は、関連におけるクラスの役割名を指定します。参照のドメインは、関連です。参照の範囲は、参照の種類を示す文字列で表されます。
オーバーライド関係は、スーパークラスから継承されたプロパティまたはメソッドを、サブクラスから継承されたプロパティまたはメソッドで置換することを示すために使用されます。CIM では、プロパティとメソッドのどの修飾子がオーバーライドできるかをガイドラインで定めています。たとえば、CIM ガイドラインはキープロパティはオーバーライドできないと定めているため、クラスの修飾子型がキーと設定される場合、キーをオーバーライドできません。