CIM Standard Overview
CIM Standard Overview
1
Presentation Contents for Morning Session
Part 1 Part 2
• What is “The CIM” • Layer 2 - Profiles for defining system
• How the CIM is used in the Utility interfaces
Enterprise – IEC 61970 network model exchange
– IEC 61968 message payloads for system
• Three Layer Architecture for integration
Organizing the CIM Standards
• Layer 3 - Implementation syntax of
• Work flow from semantic model to instance data
message/file assembly using CIM – CIM expressed in XML and RDF Schema
• Layer 1 - CIM UML information • Value of an Enterprise Semantic
model and contents Model (ESM) based on the CIM
– Who Manages the CIM UML Model?
- TC 57 Organization and Formal Liaisons
• Case studies
– Example: Substation model using CIM • Where to get more CIM information
– Demo of UML modelling Tool – Sparx
EA
Break
2
The IEC Common Information Model (CIM)
- What Is It?
• A set of standards to enable system integration and information exchange
based on a common information model
– Provides a general information model and message/file schemas for
messages/files exchanged between systems
• A key differentiator: The CIM standards are based on a Unified Modeling
Language (UML) based information model representing real-world objects
and information entities exchanged within the value chain of the electric
power industry
– Provides common semantics for all information exchanges
• Referred to as Model-Driven Integration (MDI)
– Not tied to a particular application’s view of the world
• But permits same model to be used by all applications to facilitate information sharing
between applications
– Maintained by IEC in Sparx Enterprise Architect (EA) modeling tools
– Many tools available
• Generating design artifacts and documentation
• Validation
– Enable data access to enterprise data warehouse in a standard way
3
Once again – What is the CIM?
4
5
Smart Grid Conceptual Model – Diving Deeper
System Interoperability is the Goal
OpenADR
CIM CIM
CGMES
MultiSpeak
CIM
NAESB OpenFMB
ZigBee SEP
6
GWAC* Stack and the CIM Standards
Interoperability Categories
Political and Economic Objectives as
8: Economic/Regulatory Policy Embodied in Policy and Regulation
8
What is a Canonical Data Model?
9
The Common Language Should Provide Relevant
Information To A User Regardless of Source
Materials
Management Construction
Engineering Concerns
Concerns Concerns
10
The Common Language Should Provide Relevant
Information To A User Regardless of Source
11
The Needs of Various Users –
Some Same, Some Different (continued)
12
Exchanging Common Language Messages Among Systems
Should Provide Relevant Information To Each System That
Is Harmonious With All Other Systems’ Information
Maintenance
Blah, Blah, Blah,
Organization,
Switching Schedule Meter Reading Load Data Set Load Control
Blah, Blah, Blah
Blah, Blah, Blah, Blah, Blah, Blah,
Blah, Blah, Blah, Blah, Blah, Blah,
Organization, Organization,
Organization, Organization,
Blah, Blah, Blah Blah, Blah, Blah
Blah, Blah, Blah Blah, Blah, Blah
For example, in each of the message exchanges depicted above, the same Organization is referenced
for different reasons. There should be NO inconsistencies about this Organization
13
For example, a common language-based logical
infrastructure facilitates collaboration among the many
applications involved in Asset Management
SCADA Work
CRM Mobile & Dispatching Collaboration
Financial & Reporting
Management
IVR eBusiness EMS DMS SA/DA
Work
Design
Customer Management Asset Operations
Asset Owner Asset Manager Service Provider
14
Application To Common Language Mapping –
The Typical Field to Field Process Is Cumbersome
15
Using A Semantic Model Simplifies & Scales Up The
Mapping Process
• What is a Semantic Model?
– The key ingredients that make up a semantic model are a vocabulary of
basic terms, a precise specification of what those terms mean and how
they relate to each other.
• How is it used?
– Before making mappings, a model (or an ontology) of a given business
domain is defined.
– The model is expressed in a knowledge representation language and it
contains business concepts, relationships between them and a set of rules.
– By organizing knowledge in a discrete layer for use by information
systems, semantic models enable communication between computer
systems in a way that is independent of the individual system
technologies, information architectures and applications.
– Compared to one-to-one mappings, mapping data sources to a common
semantic model offer a much more scaleable and maintainable way to
manage and integrate enterprise data.
16
The CIM Semantic Model Provides a Semantic
Layer in an Enterprise Architecture
Composite Applications Business Intelligence
Generic Semantic
Model
Services Metadata
Apps.
17
Subscribers:
Decoupled Information CIM App
Several Application Adapters Receive The Same Message
Each Adapter:
X.1 B.1
Exchange X.2 B.2 Parses Message, Pulling Out Data Needed By Application
Transforms Data (if necessary) to Local Application Format
X.3 Subscriber
X.4
X.5
Passes Data To Local Application And/Or Database
Through Most Appropriate Means
Outage Distribution
Reporting EMS OMS Automation CIS
CIM Publishers:
X.1 App CIM
X.2 Y.1 X.1
One Application Connector:
X.3 Subscriber Y.2 X.2 Obtains Data From Application And/Or Database
X.4 Y.3 X.3 Publisher Transforms Data (if necessary) to the “Common
X.5 Y.4 X.4
Y.5 X.5 Language” (a Canonical Data Model)
Puts Data Into Message Template
Publishes The Message (Fires & Forgets)
18
We Need An Organizing Framework
19
GWAC Stack – Not an IT Architecture for the CIM Standards
Interoperability Categories
Political and Economic Objectives as
8: Economic/Regulatory Policy Embodied in Policy and Regulation
20
CIM Layered Architecture*
Information and Semantic Models
Information Model
• Generalized model of all utility objects and their
CIM UML relationships
• Application independent, but defines all concepts
needed for any application
Context
Contextual layer restricts information
model
Profiles •
•
Specifies which part of CIM is used for given profile
Mandatory and optional
• Restrictions
• But cannot add to information model
Context
CPSM WG 14 Other UML
Profile Profiles Profiles Modelling
Message Rules
WG 13 WG 14
Logical
Assembly File Message Messages
Schemas
Structure Structure
CIM
RDF
XML
Exchange
NDR
Schema
Other
Rules
XML DataBase
CIM RDF OWL
Schema Schema
22
CIM Design Time Methodology
23
Global methodological framework*
(Sub-Set,
Constraints, restrictions)
3
2 Contextual Model
4
or Business
Information Model Information Entity Message Conceptual
or Core Model
Components or
( CIM) Message
Assembly
(Exchanged at
CIM extensions app interfaces)
Technological derivation
XSD, OWL,RDFS, SQL …etc
Business Process
1 Study:
Exchanged Data 5 Implementation Message Model
or
analysis Ex: outage Validation Syntax Binding
Management XML Exchanged Data
DMS OMS
24
CIM Design Time Methodology
• Another Example
– Need to exchange an Energy Transaction between System A and
System B
– Illustrates in more detail the design artifacts generated at each
step
– Important to note all design is done in UML using Sparx
Enterprise Architect with choice of CIM Tools
– Final step is to automatically generate XML or RDF schemas from
the UML
25
Abstract
From Information/
Model
Semantic
Information Model Model
to
Syntactic Model
Context/
Ex: Energy Transaction
Profiles
Message <xsd:element
name=« EnergyTransaction"/>
Syntactic
<xsd:sequence>
Syntax <xsd:element name=« Name"/>
<xsd:element name=« Type"/>
</xsd:sequence> Model
</xsd:element>
26
Information/Semantic Model Expressed in UML
(Unified Modeling Language) Notation
Class Name usually describes things in the real world
Associations
Aggregation is a variant of Association and connect
indicates a class is a collection or container classes and
of other classes, but if the container is are
destroyed, its contents are not. assigned a
role that
describes the
relationship
27
Abstract
Information/ Model
From Semantic
Information Model Model
to
Syntactic Model
Context/
Profiles
UML World
Syntactic
Model
28
Context/Profiles Various tools available to create Profiles
String
Length Only “code”
changed to attribute
exactly 6 retained
Association
inherited from
parent Document
String class, cardinalities
Length changed to “1”
changed to
max of 4
29
Abstract
Information/ Model
From Semantic
Information Model Model
to
Syntactic Model
Context/
Profiles
Syntactic
Model
30
Message Assembly
31
Abstract
Information/ Model
From Semantic
Information Model Model
to
Syntactic Model
Context/
Profiles
Message <xsd:element
name=« EnergyTransaction"/>
<xsd:sequence> Syntactic
Syntax <xsd:element name=« Name"/>
<xsd:element name=« Type"/>
</xsd:sequence> Model
</xsd:element>
32
To Summarize
• The CIM information model standard expressed in UML is used is
the source of the semantics needed for a particular exchange
• A Profile specifies the restricted subset of the CIM classes and
attributes for specific business context
– This is the CDM (Canonical Data Model) for a particular information
exchange
• An Implementation Technology, such as XML, is used to create the
schema for serializing the instance data as files or messages,
resulting in
– Standards for power system models
– Standards for information message payloads
• The good news --- most of the power system models and message
schemas needed by a utility are already defined as IEC standards
– 61970 series: Power system models for operations and planning (T&D)
– 61968 series: Message schemas for enterprise integration (T&D)
33
Let’s look at each layer of the CIM standards
Information Model
• Generalized model of all utility objects and their
CIM UML relationships
• Application independent, but defines all concepts
needed for any application
Context
Contextual layer restricts information
model
Profiles •
•
Specifies which part of CIM is used for given profile
Mandatory and optional
• Restrictions
• But cannot add to information model
34
Foundational Relationships Of The CIM
PowerSystemResource Organisation
Electrical Network Role Used For Entities Performing Roles Such
Planning, Operations, etc. As Operations, Tax Authority
Asset Person
Physical Plant Filling A Role People Performing Roles Such
Such As A Transformer, Pole, etc. Dispatcher, Field Operator, etc.
Location
Where To Find Something By
Customer
Industrial, Commercial, & Residential
GPS, Address, Electronically, etc.
Which Can Have Multiple Accounts
Document
Information Containers Such As
Trouble Ticket, Work Orders, etc.
35
Who Manages the CIM UML Model?
- TC 57 Organization and Formal Liaisons
UCA International
WG19 User groups
Architecture
WG13 WG 10
EMS-API Substation
Automation
CIM/61850 CIGRE
Harmonization SC D2-24
WG14 WG17 SC B5-38
SIDMS DER
TC57
WG16
WG18
Energy
Hydro IEEE
Markets Conveners
Advisory Group PES PSCC
CAG Security
WG3 WG20 SubComm
Telecontrol Power Line
Protocols Carrier
WG21
WG15
Grid System
Security
Interfaces
Legend
CIM-based
61850-based
36
IEC TC57 CIM Packages
cl a ss P a ck a geDependenci es
I EC 61970::I EC 61970C I M V er si on
Deregulated
Market (from TC57CIM) P a ck a geDependenci esC I M V er si on
Communications + date: Date [0..1] = 2011-05-07 {readOnly}
+ version: String [0..1] = 6 {readOnly}
P a ck a geDependenci es
(from TC57CIM)
37
WG13 CIM Packages - 61970
cl a ss I EC 61970Dependenci es
I EC 61970C I M V er si on
Gener a t i on
W i r es
Equi v a l ent s
C ont r ol A r ea
St a t eV a r i a bl es
SC A DA
C or e
Doma i n
38
Concepts: Generalization/Inheritance
cl a ss Document a t i onExa mpl eI nher i t a nce
IdentifiedObject
C or e::P ow er Sy st emResour ce
C or e::Equi pment
• Equipment: Specialization of
Release 14 PowerSystem Resource
W i r es::P ow er Tr a nsf or mer
C or e::
• ConductingEquipment:
C onduct i ngEqui pment
Release 15 Specialization of Equipment
W i r es::Sw i t ch
• Switch: Specialization of
Conducting Equipment
W i r es::P r ot ect edSw i t ch
• ProtectedSwitch: Specialization of
Switch
• Breaker: Specialization of
W i r es::B r ea k er ProtectedSwitch
39
cl a ss Na mi ngHi er a r chy P a r t 1
Container +
+
+
aliasName: String [0..1]
mRID: String [0..1]
name: String [0..1]
Hierarchy
Part 1 C or e::
C or e:: C or e::
C onnect i v i t y NodeC ont a i ner P ow er Sy st emResour ce
Geogr a phi ca l Regi on
+Region 0..1
+Regions 0..*
+Region
+Region 0..1 0..1
+Equipments
C or e::
0..*
Equi pment
+Lines 0..*
P l a nt
Li ne
+Substations 0..*
+Substation C or e::
Subst a t i on
0..1
+Substation 1
+VoltageLevels 0..*
C or e::
V ol t a geLev el
+VoltageLevel
0..1
0..* +Bays
C or e::
+Bays 0..* Bay
40
cl a ss Na mi ngHi er a r chy P a r t 2
Naming and +
+
+
aliasName: String [0..1]
mRID: String [0..1]
name: String [0..1]
Equipment
Hierarchy M ea s::
M ea sur ement
+Measurements
0..*
+PowerSystemResource
C or e::
0..1 P ow er Sy st emResour ce Ta pC ha nger
0..1 +CompositeSwitch
C or e::
Equi pment
+Switches 0..*
C or e::
Sw i t ch
C onduct i ngEqui pment
Fuse
Di sconnect or DC Li neSegment
C onnect or
P r ot ect edSw i t ch Fr equency C onv er t er
B usba r Sect i on
Loa dB r ea k Sw i t ch Shunt C ompensa t or
Ener gy C onsumer
Junct i on
B r ea k er
Rect i f i er I nv er t er
Gr ound
Ener gy Sour ce
41
Names
cl a ss Na mes
+IdentifiedObject 1
+Names 0..*
42
cl a ss M a i n
Connectivity C or e::
I dent i f i edO bject
and
Topology C or e::
P ow er Sy st emResour ce
M ea s::
M ea sur ement
+Measurements 0..*
Model C or e::
0..1 +Terminal
+ConnectivityNodeContainer
1 +ConnectivityNodes 0..*
C or e::
C onnect i v i t y NodeC ont a i ner Switch/Node
static Model
0..1 +TopologicalNode 0..1 0..1
+TopologicalNode
+ConnectivityNodeContainer 0..* +TopologicalNode
Topol ogi ca l Node
Topol ogi ca l I sl a nd
43
Converting a Circuit to CIM Objects
Taken from Alan McMorran, Common Information Model Primer: First Edition., EPRI, Palo Alto,
CA: 2011, 1024449. Second Edition now available.
44
Example Circuit as a Single Line Diagram
EnergyConsumer ACLineSegment
Breaker
Breaker
BusbarSection
Breaker
GeneratingUnit
Current measurement
SynchronousMachine represented by
Measurement connected
to Terminal
45
Transformer Class Diagram
CIM Release 15
ConductingEquipment with
associations to types of
TransformerEnds for
electrical connectivity
Previously included in
Winding class
46
Balanced Transformer Model
47
Balanced Transformer Instance for
Transformer 17-33 - Release 15
Transformer 17-33 is represented
as four CIM objects plus
optional objects
Connections from the transformer
to the network are made
directly from the
PowerTransformer via
association to
PowerTransformerEnd
48
Unbalanced Distribution Transformer with
Multiple Tanks Instance Example
49
Example Circuit with Full CIM Mappings
• Maps to
– 17 CIM classes
– 45 CIM objects
• Could be
extended further
with addition of
objects for
– control areas
– equipment
owners
– measurement
units
– generation and
load curves
– asset data
50
WG14 CIM Packages - 61968
pk g I EC 61968Dependenci es
I EC 61968C I M V er si on
M et er i ng
A sset I nf o
C ommon
A sset s
C ust omer s
W or k
M ea s C or e
Doma i n
(from IEC61970)
51
cl a ss C ommonO v er v i ew
IdentifiedObject IdentifiedObject
+Location 0..1
Common
Loca t i on C oor di na t eSy st em
0..* +CoordinateSystem
+ direction: String [0..1] + crsUrn: String [0..1]
+ electronicAddress: ElectronicAddress [0..1] P osi t i onP oi nt
Concepts +
+
+
geoInfoReference: String [0..1]
mainAddress: StreetAddress [0..1]
phone1: TelephoneNumber [0..1]
+Location
1
+PositionPoints
0..*
+
+
sequenceNumber: Integer [0..1]
xPosition: String [0..1]
in 61968
+ yPosition: String [0..1]
+ phone2: TelephoneNumber [0..1]
+ zPosition: String [0..1]
+ secondaryAddress: StreetAddress [0..1]
+ChangedLocation
+ status: Status [0..1]
IdentifiedObject
O r ga ni sa t i on
IdentifiedObject +ChangedOrganisationRole
+ electronicAddress: ElectronicAddress [0..1] +Organisation +Roles
O r ga ni sa t i onRol e
+ phone1: TelephoneNumber [0..1]
0..1 0..* 0..1
+ phone2: TelephoneNumber [0..1]
+Organisations
+ postalAddress: PostalAddress [0..1]
+ streetAddress: StreetAddress [0..1] 0..*
«informative»
+ActivityRecords IdentifiedObject
A ct i v i t y Recor d
IdentifiedObject 0..*
Document + createdDateTime: DateTime [0..1]
+Documents «informative» 0..* + reason: String [0..1]
+ createdDateTime: DateTime [0..1] + severity: String [0..1]
0..* +ActivityRecords
+ docStatus: Status [0..1] + status: Status [0..1]
+ electronicAddress: ElectronicAddress [0..1]
+ type: String [0..1]
+ lastModifiedDateTime: DateTime [0..1]
+ revisionNumber: String [0..1]
+ status: Status [0..1]
+ subject: String [0..1] +ChangedDocument +ConfigurationEvents
+ title: String [0..1] 0..1 C onf i gur a t i onEv ent
+ type: String [0..1] 0..*
0..* + effectiveDateTime: DateTime [0..1]
+ConfigurationEvents + modifiedBy: String [0..1]
0..*
+ remark: String [0..1]
+ConfigurationEvents
A gr eement Ti meSchedul e
IdentifiedObject
Ti meP oi nt
+ signDate: Date [0..1] + disabled: Boolean [0..1]
+TimeSchedule 0..*
+ validityInterval: DateTimeInterval [0..1] + offset: Seconds [0..1] + dateTime: DateTime [0..1]
+ recurrencePattern: String [0..1] 1 + relativeTimeInterval: Seconds [0..1]
+TimePoints
+ recurrencePeriod: Seconds [0..1] + sequenceNumber: Integer [0..1]
+ scheduleInterval: DateTimeInterval [0..1] + status: Status [0..1]
+ window: DateTimeInterval [0..1]
52
How The CIM Handles Location For Logical Devices And/Or
The Physical Asset Performing The Device’s Role
cl a ss A sset sO v er v i ew
IdentifiedObject
IdentifiedObject +AssetInfo +AssetModel IdentifiedObject
A sset Funct i on
+AssetDatasheet A sset I nf o A sset M odel
0..1 0..1 + configID: String [0..1]
0..1 + firmwareID: String [0..1]
+AssetInfo 0..1 + hardwareID: String [0..1]
+ password: String [0..1]
+PowerSystemResource
+ programID: String [0..1]
IdentifiedObject 0..*
C or e:: P r oduct A sset M odel
P ow er Sy st emResour ce
+ corporateStandardKind: CorporateStandardKind [0..1] +ProductAssetModel +Manufacturer OrganisationRole
+PowerSystemResources
+PowerSystemResources
0..* 0..* + modelNumber: String [0..1]
M a nuf a ct ur er
+ modelVersion: String [0..1] 0..* 0..1
+ usageKind: AssetModelUsageKind [0..1]
+ weightTotal: Weight [0..1]
+Assets 0..*
+Assets +OrganisationRoles OrganisationRole
+Location 0..1 +Assets IdentifiedObject
A sset O r ga ni sa t i onRol e
IdentifiedObject A sset 0..* 0..*
0..*
C ommon::Loca t i on + acceptanceTest: AcceptanceTest [0..1]
+ critical: Boolean [0..1]
+ direction: String [0..1]
+ electronicAddress: ElectronicAddress [0..1]
+ electronicAddress: ElectronicAddress [0..1]
+ geoInfoReference: String [0..1] +Location +Assets + initialCondition: String [0..1]
+ initialLossOfLife: PerCent [0..1]
+ mainAddress: StreetAddress [0..1] A sset O w ner
0..1 0..* + lifecycle: LifecycleDate [0..1]
+ phone1: TelephoneNumber [0..1]
+ lotNumber: String [0..1]
+ phone2: TelephoneNumber [0..1]
+ purchasePrice: Money [0..1]
+ secondaryAddress: StreetAddress [0..1] +Assets
+ serialNumber: String [0..1]
+ status: Status [0..1]
+ status: Status [0..1] 0..*
+ type: String [0..1]
+ type: String [0..1]
+ utcNumber: String [0..1]
0..1 +AssetContainer
53
Types Of Document Relationship Inherited
By All Assets
AssetModel
number : String
version : String
0.. n
AssetRating
AssetProperty
ratingType : String
propertyType : String InspectionRoutine
property : String
propertyValue : String (f ro m As setsIns pec tio n)
ratingValue : Float
units : String
units : String
54
Activity Records
cl a ss t mpA ct i v i t y Recor d
IdentifiedObject
C ommon::
Document +Documents
0..*
IdentifiedObject
C ommon::
O r ga ni sa t i on
+Organisations 0..*
IdentifiedObject «informative»
A sset s::A sset
«informative» IdentifiedObject
+Assets +Assets
0..* 0..*
I nf C ommon::
+ActivityRecords P er son
«informative»
+ActivityRecords 0..* 0..*
+ActivityRecords 0..* +ErpPersons 0..*
+ScheduledEvents 0..*
IdentifiedObject +ActivityRecords
IdentifiedObject C ommon::A ct i v i t y Recor d «informative»
I nf C ommon:: 0..*
Schedul edEv ent + createdDateTime: DateTime [0..1]
+ reason: String [0..1]
+ severity: String [0..1]
+ status: Status [0..1]
+ type: String [0..1]
55
WG16 CIM Market Extensions
cl a ss M a i n
I EC 62325C I M V er si on
M a r k et C ommon
56
CIM UML Release Cycles
57
CIM UML in Enterprise Architect
58
Break
59