7.1 Overview
The CIM UML is a semantic information model (also referred to as a conceptual data model). It is a conceptual model of utility objects and their relationships with each other. It is application independent, but defines all the concepts needed for any application. It essentially provides the vocabulary (sometimes referred to as a data dictionary) to be used when utility domain data is exchanged between systems.
Since the CIM UML is a conceptual model, it cannot be used as is for data exchange. A subset of CIM elements needs to be selected and constrained for a specific business context for use in a data exchange between systems. This is analogous to the need for the grammatical structure of words and phrases to create coherent sentences in a given language. The CIM UML subset must therefore be transformed from a semantic information model into a contextual data model (also referred to as a canonical data model). The contextual data model is called a “CIM Profile”. The resultant CIM Profile is the syntax of a data exchange between utility domain systems.
This section specifies the rules and recommendations for transforming a subset of the CIM UML into a contextual data model. The contextual data model can then be used to derive implementation models which define the data and the structure of the data required to exchange information between two systems to execute a single interaction in a System Use Case.
RuleID |
Description |
Rule207 |
A contextual data model derived from the CIM UML shall not contain any classes, attributes, or associations that are not part of the CIM UML, with the exception of CIM extensions. |
Rule208 |
In instances where CIM extensions have been added to the CIM UML, the extensions may be part of a contextual data model derived from the CIM UML. |
Rule209 |
A class diagram that contains all candidate classes and associations should be created, which may be used as a reference diagram, for each contextual data model. |
RuleID |
Description |
Rule210 |
Transformation of all CIM UML packages shall not be required to create a contextual data model (i.e. entire packages may be left out of a contextual data models if they are not needed). |
Rule211 |
Transformation of an entire package shall not be required to create a contextual data model (i.e. classes, attributes, and associations within a package may be left out of a contextual data model if they are not needed). |
Rule212 |
A single top-level package for contextual data models that exists outside of the top-level CIM (formerly TC57CIM) package should be created at the root-level of the CIM. |
RuleID |
Description |
Rule213 |
A contextual data model shall contain at least one concrete class. |
Rule214 |
A contextual data model may contain abstract classes. |
RuleID |
Description |
Rule215 |
A contextual data model should contain at least one mandatory attribute. |
Rule216 |
Mandatory attributes in the CIM UML shall be mandatory when included in a contextual data model. |
Rule217 |
Optional attributes in the CIM UML may be restricted to be mandatory when included in a contextual data model. |
Rule218 |
A contextual data model should contain the attributes necessary to execute a System use case interaction. |
Rule219 |
A contextual data model should not contain attributes not used in a System use case interaction (i.e. not all class attributes must be included in a contextual data model). |
RuleID |
Description |
Rule220 |
A contextual data model should contain the associations necessary to execute a System use case interaction. |
Rule221 |
A contextual data model should not contain associations not used in a System use case interaction (i.e. not all class associations must be included in a contextual data model). |
Rule222 |
Mandatory association roles in the CIM UML shall be mandatory when included in a contextual data model. |
Rule223 |
Optional association roles in the CIM UML may be restricted to be mandatory when included in a contextual data model. |
Rule224 |
Association roles in the CIM UML with unspecified maximum multiplicity may be restricted to a maximum multiplicity when included in a contextual data model. |