Agenda CIM Lecture 2017-04-04 by Lars-Ola Österlund

Standards development – CIM Standards development – Driving forces and network codes Standards development – CIM and CGMES specifications Standards development – Data Exchange and partitioning Standards development – Profile development UML overview CIM UML Data examples CIMXML exchange format

April 26, 2017 Slide 1 Standards Development Some Abbreviations

CIM Common Information Model (for power systems) ISO Independent System Operator, exist in US TSO Transmission System Operator DSO Distribution System Operator EPRI Electric Power Research Institute, an ISO/TSO sponsored research institute in US CCAPI Control Center API CME CIM for Market data Exchange IOP Interoperability Test IEC International Electrotechnical Committee TCxx Technical Committee xx WGxx Working Group xx ENTSO-E European Network of TSOs of electricity, formed by merging UCTE and ETSO CGMES Common Grid Model Exchange Standard UCTE Union for the Coordination of the Transmission of Electricity ETSO European Transmission System Operators

April 26, 2017 Slide 2 Standards Development How CIM Started

EPRI had a need to integrate software developed for them by contractors Power utilities (ISO, TSO, DSO…) has an increasing need to exchange data

1994-1996 CCAPI EPRI project 3654-01 published the report TR-106324 1996 IEC work started, IEC 61970 for transmission and IEC 61968 for distribution 1998 Move to UML 2000 First IOP, annual IOPs from then on, NERC mandate the use of CIM - many US users still on CIM10 2003 CME EPRI ISO/RTO sponsored market extension project, resulted in IEC 62325 2005 First edition of IEC 61970-301 CIM base document 2008 UCTE start to use CIM (IEC 61970) for DACF 2009 NIST identifies CIM as a Smart Grid standard 2010 First ENTSO-E IOP 2014 ENTSO-E Conformance test published

April 26, 2017 Slide 3 Standards Development What CIM Is

An information model in UML An agreed canonical information model The information model is large • Not practical to use as is • Subsets or profiles used for actual exchanges Data is exchanged as XML documents • XML Schema based documents • RDF/XML documents • RDF is described by RDFS and OWL • RDF and OWL designed for the semantic web

April 26, 2017 Slide 4 Standards Development IEC TC57

Working groups and standards WG3 and WG7 Communication protocols WG10 – IEC 61850 Substation control interfaces WG13 – IEC 61970 CIM - EMS API * WG14 – IEC 61968 CIM - System interfaces for electrical distribution * WG15 – IEC 62210 Data and communication security WG16 – IEC 62325 CIM - Deregulated energy market communications WG17 Communication system for distributed energy resources (DER) WG18 Hydro electric power plants WG19 coordination of TC57 standards, in particular CIM and IEC 61850

* Scope is currently changing for CIM 61970 – network model for both transmission and distribution 61968 – utility related IT/OT work processes

April 26, 2017 Slide 5 Standards Development Current Drivers Resulting In Standardization In Europe

Drivers

. Common energy markets

. Increased trade increase flows across market boundaries

. Large increase in renewable power generation

. Increasing difficulty in predicting power flows

. Huge power flows over congested network boundaries

. Old generation units being decommissioned

. Decreasing system stability

Results in increased need for network model exchange between TSOs and DSOs

In Europe legislation, the Network Codes (NC), push TSOs to increase data exchange

. Legislation developed by ACER (Agency for Cooperation of Energy Regulators)

. ENTSO-E implement the Network Codes and developed CGMES CIM profiles to support it

April 26, 2017 Slide 6 Standards Development Energy Production And Flows in EU

Renewable energy production increase • Wind • Solar • During sunny and windy days the renewable production is substantial, regionally > 25%! Old fossil fuel plants being decommissioned Large power flows across EU Power flow congestion an issue • Hinder free market • Threaten stability stability

April 26, 2017 Slide 7 Standards Development Overview ENTSO-E Network Codes

April 26, 2017 Slide 8 Standards Development ENTSO-E CGMES

Requirements from the Network Codes CACM and Operational security and planning • Congestion management (NC CACM)

• Intra Day Congestion Forecast (IDCF)

• Day Ahead Congestion Forecast (DACF)

• Capacity Allocation two days ahead • Need to exchange network models and schedules for Europe • Old DEF format needed development • CIM was investigated as an alternative

April 26, 2017 Slide 9 Standards Development ENTSO-E CGMES

Three versions • CGMES 1 based on CIM 14 • CGMES 2.4 based on CIM 16 • CGMES 2.5 Consist of • CIM Canonical UML • ENTSO-E Canonical UML extensions • ENTSO-E profile in UML • ENTSO-E profile in RDFS • ENTSO-E main document • Several additional guideline documents

April 26, 2017 Slide 10 Standards Development IEC 61970/CGMES Documents

Canonical CIM • UML package iec61970cim16v33b_iec61968cim12v08_iec62325cim03v01a.eap • CIM Base IEC 61970-301 • Dynamics IEC 61970-302 Profile documents

. EQ – Network equipment IEC 61970-452

. TP – Topology IEC 61970-456

. SV – State Variables IEC 61970-456

. SSH – Steady State Hypothesis (power flow input) IEC 61970-456

. DL – Display Layout IEC 61970-453

. GL – Geographical Location

. DY – Dynamics data IEC 61970-457 CIM RDF schema, profile information model IEC 61970-501 CIMXML data exchange format IEC 61970-552

April 26, 2017 Slide 11 Standards Development Profile Documents

The canonical CIM is big and cannot be used as is A profile is a subset of CIM for a dedicated information exchange, e.g. • Basic Network model describing equipment, connectivity parameters etc; EQ core – IEC 61970-452 • Short circuit data; EQ SC – IEC 61970-452 • Operational parameters for EMS; EQ OP – IEC 61970-452 • Dynamics parameters; DY – IEC 61970-457 • Display layout; DL – IEC 61970-453 • Geographical location; GL • Power flow initial values; SSH – IEC 61970-456 • Electrical nodes or power flow busses; TP – IEC 61970-456 • Power flow solution; SV – IEC 61970-456 • Frames; IEC 61970-459, in progress • Network model projects; IEC 61970-460, in progress • Generic dataset; IEC 61970-452, intended to replace header information in IEC 61970-552

April 26, 2017 Standards Development Network Applications Data Exchange

Network applications calculate with bus-branch data Real power system has breakers and measurements, they are node-breaker based Two types of network models • Bus-branch (BB) G • Node-breaker (NB) BB models can be derived from NB models Existing standards for application data is BB NB • IEEE to BB • PSS/E • PSLF • DEF •... CIM is both NB and BB

April 26, 2017 Slide 13 Standards Development Use of Profiles with Network Applications, Power Flow

Data Modeller/Engineering

EQ EQ NB BB

SSH Network TP Out of service Model Busses Switch Status Builder Retained Sw. SV Islands Power Voltage, amplitude/angle Injection, active/reactive SSH Flow Power flow, active/reactive Injection, active/reactive Tap position Voltage set point Switch status Tap position Limits

April 26, 2017 Slide 14 Standards Development Use of Profiles with Network Applications, Details

Diagram Layout EQ DL Datasets Described by Network As-Built Geo Locations - Equipment GL Model Parts - Containment CIM Profiles Physical Model - Connectivity Dynamics Select / Edit - Controls DY - SIPS - Equipment Rating Contingency List - Normal operations CL - Energy allocation

Planned Construction Model Parts Projects SSH TP - TopologyNodes - Status - association to - Switch status conducting equipment Measurement Outage Device Status - In Service Sources Schedules - Branch end Initialization/Edit - Tap positions SV - Control settings - Voltage regulation Control Setting - Flow regulation - Energized State - SIPS Topology & - Island Topology External Energy Initialization/Edit - Monitoring Network Solution - BusVoltage Sources Forecasts & - Operating limits - Bus Injections - Other Algorithm - Terminal flows Schedules - Energy Injections - Controls Monitoring - Bulk generation - Violations Initialization/Edit - Solar - Wind - Storage - Traditional Load Case Parts Energy Injection - DR - etc, Repository Case Parts Initialization/Edit

April 26, 2017 Slide 15 Standards Development Modularisation Of Network Models In Areas (Frames)

TSO E TSO F ~ ~

TSO A My TSO ~ ~

DSO D DSO C

April 26, 2017 Slide 16 Standards Development Modularization Of Network Application Model Exchange

Modularization Of Data Sets Austria Hungary

. Frames and Model Authority Sets Italy Slovenia Croatia Serbia Bosnia Herzegovina

Equipment EQ . Type of data, Profiles Steady State Hypothesis (Power flow inputs) SSH Topology TP State Variables SV…

Modularization In Time

. Power System Projects

April 26, 2017 Slide 17 Standards Development Profile Development

Canonical Information and Semantic Models

CIM UML

Context Message Assembly XML Schema Rules CIM/XML Profile Rules

Message Syntax

Message CIM/XML XML Schema

April 26, 2017 Standards Development Profile Dependency

61970-456 61970-451 Profiles Profiles Discrete State Measurements Variables Profile Profile Analog Topology Measurements Profile Profile

61970-452 Profiles Equipment Model Profile

61970-453 Profiles Schematic Layouts Profile

April 26, 2017 Standards Development IEC Method

UML tool CIM UML tool EA

Canonical *.xmi Model Canonical model *xmi11.xml (automating Model in UML *.eap Enable interoperability *xmi21.xml EA function) *cimtool.xml

61970-301 Model Profiling tools 61968-11 Profile Profile Validation *.doc 62325-301 - EA definition tool Report Model template - CIMTool *.doc Model (web *.xml publishing)

Validation Profile Statistics *.owl

61970-452 Profile Profile Profile Manual 61970-456 *.rdf *. *.doc editing 61968-13

Profile Manual Part 61968-3 through 61968-9 *.xsd insert file *.doc

April 26, 2017 Standards Development CIM Tool Demo

April 26, 2017 Slide 21 Standards Development Interoperability And Conformance

Interoperability and conformance tests has been organized by EPRI and ENTSO-E

Interoperability tests

. Purpose is to verify

‒ The CIM standard enables interoperability

‒ Vendor products interoperate Conformance tests

. Purpose is to verify vendor products conforms with the standard

Currently ENTSO-E host a conformance procedure for CGMES 2.4.15, three levels of conformance

. Bronze, Silver and Gold

ENTSO-E TSO are expected to be conformant to CGMES 2.4.15 during 2017.

Interoperability tests are being planned summer 2017 for next ENTSO-E profile CGMES 2.5

April 26, 2017 Slide 22 Standards Development Interoperability Tests 1

18-19/12 2000 1th test in Orlando ABB, ALSTOM (and Langdale), Siemens, PsyCor, CIM-Logic, SISCO 29/4-1/5 2001 2nd test in Las Vegas ABB, ALSTOM, Siemens, CIM-Logic, SISCO 26-28/9 2001 3rd test in Monterey ABB, ALSTOM, Siemens, PsyCor, SISCO 14-17/7 2002 4th test in San Francisco ABB, PTI(PsyCor), Langdale, GE Harris 2 August 2002 Beijing NEPDCC, CEPRI, NARI, Tsinghua, Luneng, Dongfang 18-20/11 2003 5th test in San Francisco Alstom, Shaw PTI, SISCO, SNC Lavalin 19/7 2004 6th test at CAISO in Folsom Areva, EDF, Incremental Systems, PTI, Siemens, Sisco 26-30/9 2005 7th test at CAISO in Folsom Areva, EDF, ABB, PTI, Siemens, Sisco, Xtensible Solutions

April 26, 2017 Slide 23 Standards Development Interoperability Tests 2

30 March 2006 8th test in San Francisco Areva, EDF, PTI, SNC Lavalin, ABB (remote) 1 Oct 2006 9th test in Washington DC ABB, EDF, GE, Siemens-PTI, Sisco 17 Sept 2007 10th test in San Francisco ABB, Areva, GE, Siemens, Siemens-PTI, SNC 13 October 2008 11th test in Washington DC Areva, GE, Siemens, Siemens PTI, SNC, SISCO 2009-2014 July by ENTSO-E 2016 July by ENTSO-E 2017 Being planned by ENTSO-E

April 26, 2017 Slide 24 Standards Development Conformance Tests

Organized by ENTSO-E starting 2014 CGMES 2.4.15 conformance documents • Application process, application and comments documents • Function category description • Use case description • Function category matrix • Report template Test configurations • Micro grid • Mini grid • Small grid • Real grid

April 26, 2017 Slide 25 Standards Development Micro Grid Test Network Example

Micro Grid Base Case

BE-Busbar_6 BE_S2 BE-Busbar_1 P=1.181 MW u=105.00 % u=108.68 % NL-Busbar_2 Uang=-9.39133 ° Q=-59.058 Mvar N1230991724 NL-_Busbar_1 u=102.33 % Uang=-6.78071 ° u=108.68 % XWI_GY11 u=102.15 % NL-Load_3 BE_TR_BUS1 N1230992195 Uang=-3.48874 ° P=488.265 MW BE_TR_BUS2 Uang=-6.78071 ° u=102.72 % u=102.15 % Uang=-6.35443 ° u=105.00 % BE-Line_5 Q=231.608 Mvar BE_S1 u=108.68 % P=-82.840 MW Uang=-6.57644 ° P=82.840 MW Uang=-6.35443 ° NL-Busbar_5 P=0.000 MW Uang=-9.39133 ° BE-TR2_1 Q=138.451 Mvar Uang=-6.78071 ° Q=-138.451 Mvar NL_TR_BUS2 u=101.80 % Q=-330.750 Mvar Tap=16 CIRCB-1230992174P=-298.481 MW u=101.80 % P=-55.890 MW NL_TR_BUS1 Uang=0.00000 ° P=-55.088 MWP=55.088 MW P=-55.088 MW Q=110.598 Mvar P=55.890 MW Q=217.566 Mvar u=102.33 % Uang=0.00000 ° Q=221.867 MvarQ=-221.867 Mvar Q=221.867 Mvar NL-Line_5 P=-95.994P=95.994 MW MW NL_TR2_3 Q=-217.566 Mvar P=82.840 MW P=95.994 MW NL-TR2_1 P=299.369 MW Uang=-3.48874 ° Q=158.287Q=-158.287 Mvar Mvar Tap=5 P=556.714 MW P=556.714 MW Q=-138.451N1230991739 Mvar Q=-158.287 Mvar Tap=-2 Q=-93.418 Mvar XCA_AL11 N1230992198 Q=249.198 Mvar Q=249.198 Mvar CIRCB-1230991718u=108.68 % P=55.890 MW u=102.79 % u=102.15 % Q=-217.566 Mvar Uang=-6.78071 ° BE_Breaker_1 Uang=-6.58811 ° Uang=-6.35443 ° NL_BREAKER_1 P=-556.714 MW BE_BUSBAR_10 P=-555.343 MW P=555.343 MW BE_Breaker_2 BE-Line_3 Q=-249.198 Mvar NL-G1 BE-Busbar_5 u=104.70 % Q=-202.611 Mvar Q=202.611 Mvar u=104.70 % P=36.590 MW CIRCB-1230992183 P=-556.714 MW Uang=-6.65080 ° NL-S1 P=-555.343 MW NL_BREAKER_1 Q=-249.198 Mvar P=-36.590 MW P=36.590Q=-54.186 MW Mvar P=-51.922P=51.922 MW MW BE-Load_1 Uang=-6.65080P=-118.000 ° MW CIRCB-1230991736 NL-Line_1 N1230992201 P=0.000 MW Q=-202.611 Mvar P=118.000 MW Q=54.186 Mvar Q=-54.186 Mvar Q=102.183Q=-102.183 Mvar Mvar Q=-92.612 Mvar P=99.218 MW P=51.922 MW u=102.15 % Q=-52.178 Mvar P=200.000 MW Q=92.612 Mvar Q=3.304 Mvar Q=-102.183 Mvar Q=90.000 Mvar P=-99.218 MW Uang=-6.35443 ° NL-Load_1 P=-232.291 MW BE-Busbar_4 Q=-3.304 Mvar CIRCB-1230992192 P=90.000 MW Q=64.421 Mvar u=103.06 % BE_TR_BUS5 BE-Line_4 Q=280.000 Mvar u=105.00 % P=118.000 MW P=36.859 MW Uang=-7.05718 ° BE-G2 Q=92.612 Mvar P=99.218 MW Q=-80.683 Mvar BE-TR2_3 NL-Load_2 B1 Uang=-9.39133 ° P=-118.000 MW Q=3.304 Mvar NL-Line_2 busbarcoupler 1 Tap=18 BE-TR3_1 P=-50.565 MWP=50.565 MW N1230822413 P=-89.686 MW Q=-92.612 Mvar BE_Breaker_10 P=50.565 MW P=10.000 MW Tap=17 Q=87.950 MvarQ=-87.950 Mvar u=101.70 % P=-89.686 MW Q=57.132 Mvar BE_BUSBAR_12 Q=-87.950 Mvar Q=10.000 Mvar P=90.000 MW BE_Breaker_12 Q=57.132 Mvar u=108.68 % N1230992228 P=232.291 MW Uang=-1.71291 ° Q=-51.116 Mvar XKA_MA11 BE_TR_BUS3 BE-Load_2 Uang=-6.78071 ° N1230991550 u=102.33 % Q=-64.421 Mvar u=99.94 % u=103.15 % u=105.00 % P=200.000 MW P=-216.198 MW Uang=-6.74695 ° Uang=-3.48874 ° N1230822396 Q=50.000 Mvar Q=-85.368 Mvar Uang=-7.62490 ° BE-Line_1 P=-288.964 MW Uang=-9.39133 ° P=-25.773 MW u=102.33 % P=27.365 MW Q=69.869 Mvar P=-31.314 MW Q=-2.828 Mvar BE-G1 P=89.686 MW N1230992288 BE-Line_2N1230992411 Q=-0.426 Mvar Uang=-3.48874 ° BE_Breaker_5 P=-55.226 MWP=55.296 MW P=55.296 MW Q=-1.205 Mvar NL-Line_4 P=-90.000 MW Q=-57.132 Mvar u=99.70 % P=27.875u=99.94 MWP=31.314 % MW P=-288.964 MWNL_TR2_2 P=290.000 MW Q=-38.250 MvarQ=39.192 Mvar P=-27.875Q=39.192P=27.875 MvarMW MW P=28.628 MW CIRCB-1230992240 Q=51.116 Mvar Uang=-8.77012 Q=2.748°Uang=-7.62490 MvarQ=1.205 Mvar ° Q=69.869 Mvar Tap=17 Q=-53.361 Mvar CIRCB-1230992276Q=-2.748Q=2.748 Mvar Mvar P=25.773 MW Q=-3.961 Mvar Q=2.828 Mvar NL-G2 CIRCB-1230992399CIRCB-1230991544 P=-28.628P=28.628 MW MW P=-140.000 MW Q=3.961Q=-3.961 Mvar Mvar P=-55.226 MW Q=26.681 Mvar BE-TR2_2 XZE_ST23 NL_BREAKER_4 Q=-38.250 Mvar P=55.226 MW P=-55.296 MW N1230991529 N1230992231 NL_BREAKER_3 Tap=10 BE-Line_7 u=102.50 % Q=38.250 Mvar Q=-39.192 Mvar u=99.94 % u=102.33 % P=290.000 MW P=26.805 MW P=288.964 MW P=-290.000 MW CIRCB-1230992408 Uang=-5.58021 ° Q=-53.361 Mvar Uang=-7.62490 ° Q=-1.490 Mvar Uang=-3.48874 ° Q=-69.869 Mvar Q=53.361 Mvar BE_Breaker_3 BE_Breaker_4P=-11.222 MW P=-17.296 MW P=17.296 MW NL-Line_3 Q=-1.076CIRCB-1230992285P=11.222 Mvar MW Q=-0.353 Mvar Q=0.353 Mvar P=28.045 MW BE_TR_BUS4 Q=1.076 Mvar Q=-1.486 Mvar BE-Line_6 u=99.70 % CIRCB-1230991526 BE-Busbar_3N1230992414N1230992291P=11.222 MW P=-28.045P=28.045 MW MW NL-G3 P=-23.838 MW Uang=-8.77012 ° u=99.70 % u=99.70Q=1.076 Mvar% Q=1.486Q=-1.486 Mvar Mvar P=-150.000 MW u=99.94 % Q=1.271 Mvar Uang=-8.77012Uang=-7.62490Uang=-8.77012 ° L-1230804819 ° XZE_ST24 NL-Busbar_3 Q=26.681 Mvar P=1.000 MW P=23.838 MW u=102.26 % CIRCB-1230992249 u=101.70 % Q=0.000BE-Busbar_2 Mvar Q=-1.271 Mvar Uang=-5.63853 ° NL_Busbar__4 Uang=-1.71291 ° u=99.94 % u=102.33 % Uang=-7.62490 ° Uang=-3.48874 ° BE MAS NL MAS Boundary

April 26, 2017 Slide 26 Standards Development ENTSO-E CGMES 2.4.15 Conformance Matrix

April 26, 2017 Slide 27 Standards Development Unified Modelling Language - UML

class LineModel UML diagram types Conductor

• Class + length: Length [0..1] • Sequence UML elements • Package DCLineSegment ACLineSegment + b0ch: Susceptance [0..1] • Class inheritance + bch: Susceptance [0..1] + g0ch: Conductance [0..1] + gch: Conductance [0..1] • Class + r: Resistance [0..1] + r0: Resistance [0..1] • Attribute + x: Reactance [0..1] + x0: Reactance [0..1] • Roles 0..* +LineS egments • Association +S equenceImpedance0..1

• Roles PerLengthSequenceImpedance

+ b0ch: SusceptanceP erLength [0..1] • Objects + bch: SusceptanceP erLength [0..1] + g0ch: ConductanceP erLength [0..1] + gch: ConductanceP erLength [0..1] + r: ResistanceP erLength [0..1] + r0: ResistanceP erLength [0..1] + x: ReactanceP erLength [0..1] + x0: ReactanceP erLength [0..1]

April 26, 2017 Slide 28 Standards Development Implementing CIM

Technologies • General purpose language, e.g. Java, C#, C++, C … • Relational database, query language is SQL Table • Class -> Table Col1 Col2 • ID -> Table row #1 27ad07c9-.. 34e5b362-.. • Attribute -> Column #.. … • Role -> Column and foreign key

• Value Row/Column crossing • Graph database, query language is SPARQL Object • Class -> rdf:type Predicate

• ID -> Subject

• Attribute/Role -> Predicate Predicate

• Value -> Object Subject

April 26, 2017 Slide 29 UML Basics Classes and Attributes

A Class – a collection of instances with same characteristics, e.g. - ACLineSegment - PowerTransformer - Substation

class LineModel An attribute – a characteristic value, e.g. - ACLineSegment r – series resistance ACLineSegment - ACLineSegment x – series reactance + b0ch: Susceptance [0..1] + bch: Susceptance [0..1] + g0ch: Conductance [0..1] + gch: Conductance [0..1] + r: Resistance [0..1] Implementation mapping; + r0: Resistance [0..1] + x: Reactance [0..1] - Class - Relational table, Subject in triple + x0: Reactance [0..1] - Attribute - Relational table column, Predicate in triple - Attribute value - Relational table column value, Object in triple

Object Subject ACLineSegmen.r 2,05 urn:uuid:34e5b3…

April 26, 2017 Slide 30 UML Basics Roles

Relations between classes, a pair of Roles class LineModel Cardinalities specify number of instances ACLineSegment 1 exactly one + b0ch: Susceptance [0..1] + bch: Susceptance [0..1] 0..1 one instance may exist + g0ch: Conductance [0..1] + gch: Conductance [0..1] 0..* any number of instances + r: Resistance [0..1] + r0: Resistance [0..1] 1..* at least one + x: Reactance [0..1] + x0: Reactance [0..1] Implementation mapping; 0..* Roles +LineS egments Role – Relational foreign key, Predicate in triple

+S equenceImpedance 0..1 An ACLineSegment PerLengthSequenceImpedance may have a Object + b0ch: SusceptanceP erLength [0..1] SequenceImpedance + bch: SusceptanceP erLength [0..1] + g0ch: ConductanceP erLength [0..1] urn:uuid:5b334e… + gch: ConductanceP erLength [0..1] + r: ResistanceP erLength [0..1] + r0: ResistanceP erLength [0..1] + x: ReactanceP erLength [0..1] ACLineSegment. + x0: ReactanceP erLength [0..1] Subject SequenceImpedance

urn:uuid:34e5b3…

April 26, 2017 Slide 31 UML Basics Inheritance

class LineModel A subclass inherits its superclass characteristics Conductor - A superclass class not affected by subclass + length: Length [0..1] - A subclass class get all attributes and Superclass relations from the superclass

Subclass

DCLineSegment ACLineSegment Implementation mapping; + b0ch: Susceptance [0..1] + bch: Susceptance [0..1] - Relational typically a mix of + g0ch: Conductance [0..1] + gch: Conductance [0..1] - Separate tables + r: Resistance [0..1] + r0: Resistance [0..1] - Superclass merged into subclass table + x: Reactance [0..1] + x0: Reactance [0..1] - Triples 0..* +LineS egments - A dedicated Predicate “rdfs:subClassOf”

+S equenceImpedance0..1 PerLengthSequenceImpedance cim:Conductor + b0ch: SusceptanceP erLength [0..1] + bch: SusceptanceP erLength [0..1] + g0ch: ConductanceP erLength [0..1] + gch: ConductanceP erLength [0..1] Subject + r: ResistanceP erLength [0..1] rdfs:subClassOf + r0: ResistanceP erLength [0..1] + x: ReactanceP erLength [0..1] + x0: ReactanceP erLength [0..1] Cim:ACLineSegment

April 26, 2017 Slide 32 Standards Development Implementing CIM, Example

2.200000

Relational tables Graph subject-predicate-object triples

ACLineSegment cim:ACLineSegment ID r rdf:type #1 34e5b362-.. 2,05 cim:ACLinesegment.r 2,05 #.. … 34e5b362-.. Terminal cim:Terminal Terminal.ConductingEquipment ID ConductingEquipment rdf:type 27ad07c9-.. 34e5b362-.. #1 27ad07c9-.. #.. …

April 26, 2017 Slide 33 Canonical CIM IEC Top Level

April 26, 2017 Slide 34 Canonical CIM Top Level Package Dependencies

class PackageDependencies

TC57CIM IEC61970

tags nsprefix = cim nsuri = http://iec.ch/TC57/2016/CIM-schema-cim# Ba se Dy na mics (from Model)

(from IEC61970) (from IEC61970) TC57CIMVersion

+ majorVersion: String = 2016 (from TC57CIM) + minorVersion: String = 01 + publishedDate: Date

IEC61968 IEC61970::IEC61970CIMVersion

+ date: Date [0..1] = 2016-02-04 {readOnly} (from TC57CIM) + version: String [0..1] = IEC61970CIM17v11 {readOnly}

IEC61968::IEC61968CIMVersion IEC62325 + date: Date [0..1] = 2015-01-22 {readOnly} + version: String [0..1] = IEC61968CIM12v10 {readOnly}

(from TC57CIM)

IEC62325::IEC62325CIMVersion

+ date: Date [0..1] = 2014-09-18 {readOnly} + version: String [0..1] = IEC62325CIM03v02 {readOnly}

PackageDependencies PackageDependenciesCIMVersion

+ date: Date [0..1] = 2014-11-13 {readOnly} (from TC57CIM) + version: String [0..1] = 7 {readOnly}

April 26, 2017 Canonical CIM IEC 61970 Base Modularization

class IEC61970Dependencies

Loa dM odel P r otection

(from Base) (from Base)

Gener a tion

GenerationTrainingSimulation

(from Generation) P r oduction

(from Generation) (from Base)

W ir es Equivalents

(from Base) (from Base) StateVariables DC ControlArea (from Base) (from Base) (from Base) OperationalLimits Topology SCADA

(from Base) (from Base) M ea s (from Base)

Cor e (from Base)

AuxiliaryEquipment (from Base) Doma in

Contingency DiagramLayout (from Base)

(from Base) (from Base) (from Base)

April 26, 2017 Canonical CIM Core cla ss M a in IdentifiedObject P SRTy pe +PSRType This is an AC diagram 0..1 0..* +PowerSystemResources IdentifiedObject PowerSystemResource IdentifiedObject

ConnectivityNodeContainer BaseFrequency

IdentifiedObject +Equipments Ba seP ow er 0..* EquipmentContainer Equipment 0..1 +EquipmentContainer

+ConductingEquipment +Terminals 1 0..* ACDCTerminal ConductingEquipment Ter mina l 0..*

IdentifiedObject GeographicalRegion +ConductingEquipment +Region 0..1 +Regions 0..*

IdentifiedObject SubGeographicalRegion

+Region 0..1

+Substations 0..*

Substa tion +Substation +Substation 1 0..1

+VoltageLevels 0..* +BaseVoltage 0..1 +VoltageLevel IdentifiedObject VoltageLevel 0..* +BaseVoltage 1 BaseVoltage +VoltageLevel 0..1

+Bays 0..* 0..* +Bays Ba y

April 26, 2017 Canonical Model

Generic Data Set class GenericDataSet

GenericDataset

GenericDataSetVersion

tags + majorVersion: String = 2016 nsprefix = gds + minorVersion: String = 01 nsuri = http://iec.ch/TC57/2016/CIM-schema-gds# + published: Date

(from Base)

Core::IdentifiedObject

0..1 1 +PropertiesObject +TargetObject P r ofile

+Profile 1..*

+Profileset Da ta Set +PropertiesCIMDataObject DataSetMember +TargetingCIMDataObject

0..* 0..1 0..*

Cha ngeSet InstanceSet InstanceSetMember ChangeSetMember

+ version: Integer + minorVersion: Integer 0..1 0..* 0..* +Changeset 1 +AlternateCIMDataObject +ObjectChange +Dataset

ObjectReverseModification

0..1 +ObjectReverseModification

+ObjectModification 0..1

ObjectModification ObjectDeletion ObjectCreation

April 26, 2017 Canonical Model Topology class Main

Core:: IdentifiedObject

Core:: Meas:: PowerSystemResource Measurement Detailed +Measurements 0..*

Substation 0..1 +Terminal Core:: Equipment Core:: 1..* +Terminal +Terminals Terminal

0..* +BusNameMarker +Terminals 0..* +Terminal +ConductingEquipment 1 0..1 0..* Core:: BusNameMarker ConductingEquipment +ConnectivityNode 0..1

Core:: +ConnectivityNodes 0..* ConnectivityNode

+ConnectivityNodeContainer

Core:: 1 +ConnectivityNodes 0..* ConnectivityNodeContainer +TopologicalNode 0..1 +ConnectivityNodeContainer 0..1 0..1 +TopologicalNode +TopologicalNode 0..* TopologicalNode

+TopologicalNodes 1..* 0..1 +AngleRef_TopologicalNode

+TopologicalIsland 1

0..1 +AngleRef_TopologicalIsland Bus StateVariables:: TopologicalIsland

April 26, 2017 Branch Canonical CIM Wires, Equipment

class InheritanceHierarchy

Cor e:: IdentifiedObject

Cor e:: PowerSystemResource

Ta pCha nger VoltageControlZone Cor e:: ConnectivityNodeContainer

Cor e:: Cor e:: EquipmentContainer Core::Substation Equipment CompositeSwitch

Core::VoltageLevel

Cor e::Ba y

P la nt Line

Cor e:: ConductingEquipment

April 26, 2017 Canonical CIM Wires, class InheritanceHierarchy

Cor e:: Conductor Conducting ConductingEquipment

ACLineSegment Equipment SeriesCompensator

EnergySource

EnergyConsumer

BusbarSection Gr ound

Junction ShuntCompensator Connector

FrequencyConverter RegulatingCondEq

StaticVarCompensator

PowerTransformer RotatingMachine ExternalNetworkInjection

Cla mp SynchronousMachine

AsynchronousMachine EarthFaultCompensator

Switch PetersenCoil

GroundingImpedance For subclasses of Switch refer to diagram SwitchingEquipment April 26, 2017 Canonical CIM

Wires, class SwitchingEquipment

ConductingEquipment Switch Switch

+ normalOpen: Boolean [0..1] Equipment + ratedCurrent: CurrentFlow [0..1] + switchOnCount: Integer [0..1] + switchOnDate: DateTime [0..1] + retained: Boolean [0..1] + open: Boolean [0..1]

ProtectedSwitch Sectionaliser

+ breakingCapacity: CurrentFlow [0..1]

Jumper

LoadBreakSwitch Fuse Disconnector

Recloser

GroundDisconnector

Br ea ker

+ inTransitTime: Seconds [0..1]

April 26, 2017 Canonical CIM Wires, class LineModel

ConnectivityNodeContainer 0..1 +Equipments PowerSystemResource Cor e:: Cor e:: Core::Equipment ConductingEquipment Line Model EquipmentContainer 0..* +EquipmentContainer

IdentifiedObject Conductor Cor e:: SubGeographicalRegion + length: Length [0..1]

0..1 +Region

0..* ACLineSegment +Lines SeriesCompensator Line + b0ch: Susceptance [0..1] + r: Resistance [0..1] + bch: Susceptance [0..1] + r0: Resistance [0..1] + g0ch: Conductance [0..1] + x: Reactance [0..1] + gch: Conductance [0..1] + x0: Reactance [0..1] + r: Resistance [0..1] + varistorPresent: Boolean [0..1] + r0: Resistance [0..1] + varistorRatedCurrent: CurrentFlow [0..1] + shortCircuitEndTemperature: Temperature [0..1] + varistorVoltageThreshold: Voltage [0..1] + x: Reactance [0..1] + x0: Reactance [0..1]

+ACLineSegments 0..*

+PerLengthImpedance 0..1

IdentifiedObject PerLengthImpedance PerLengthLineParameter

PerLengthSequenceImpedance PerLengthPhaseImpedance

+ b0ch: SusceptancePerLength [0..1] + conductorCount: Integer [0..1] + bch: SusceptancePerLength [0..1] + g0ch: ConductancePerLength [0..1] +PhaseImpedance 1 + gch: ConductancePerLength [0..1] +PhaseImpedanceData 1..* + r: ResistancePerLength [0..1] + r0: ResistancePerLength [0..1] + x: ReactancePerLength [0..1] PhaseImpedanceData + x0: ReactancePerLength [0..1] + b: SusceptancePerLength [0..1] + r: ResistancePerLength [0..1] + sequenceNumber: Integer [0..1] + x: ReactancePerLength [0..1] April 26, 2017 Canonical CIM Wires, class Transformer ACDCTerminal Equipment +Terminals Core::Terminal +ConductingEquipment Cor e:: ConductingEquipment 0..* 1 Transformer + phases: PhaseCode [0..1] +ConductingEquipment

+Terminal 0..1 0..*

PowerTransformer

+BaseVoltage + beforeShCircuitHighestOperatingCurrent: CurrentFlow [0..1] IdentifiedObject + beforeShCircuitHighestOperatingVoltage: Voltage [0..1] Cor e:: 0..1 + beforeShortCircuitAnglePf: AngleDegrees [0..1] BaseVoltage + highSideMinOperatingU: Voltage [0..1] + isPartOfGeneratorUnit: Boolean [0..1] + operationalValuesConsidered: Boolean [0..1] +BaseVoltage 0..1 + vectorGroup: String [0..1]

+PowerTransformer 0..1 0..1 +PowerTransformerEnd 0..* +PowerTransformer PowerTransformerEnd 0..* +TransformerTanks + b: Susceptance [0..1] Equipment +TransformerEnds + b0: Susceptance [0..1] +TransformerEnd 0..* 0..* + connectionKind: WindingConnection [0..1] TransformerTank + g: Conductance [0..1] IdentifiedObject + g0: Conductance [0..1] TransformerEnd + phaseAngleClock: Integer [0..1] +TransformerTank 0..1 + bmagSat: PerCent [0..1] + r: Resistance [0..1] + endNumber: Integer [0..1] + r0: Resistance [0..1] + grounded: Boolean [0..1] + ratedS: ApparentPower [0..1] + ratedU: Voltage [0..1] + magBaseU: Voltage [0..1] +TransformerTankEnds 1..* + magSatFlux: PerCent [0..1] + x: Reactance [0..1] + x0: Reactance [0..1] + rground: Resistance [0..1] TransformerTankEnd + xground: Reactance [0..1] + phases: PhaseCode [0..1] 0..* 0..* 1 1..* +TransformerEnd IdentifiedObject «enumeration» +FromTransformerEnd+ToTransformerEndTransformerMeshImpedance +TransformerEnd WindingConnection +ToMeshImpedance 0..* + r: Resistance [0..1] D + r0: Resistance [0..1] +FromMeshImpedance Y 0..* + x: Reactance [0..1] Z + x0: Reactance [0..1] Yn Zn +StarImpedance +CoreAdmittance A 0..1 IdentifiedObject I 0..1 TransformerCoreAdmittance IdentifiedObject TransformerStarImpedance + b: Susceptance [0..1] + b0: Susceptance [0..1] + r: Resistance [0..1] + g: Conductance [0..1] + r0: Resistance [0..1] + g0: Conductance [0..1] + x: Reactance [0..1] + x0: Reactance [0..1] April 26, 2017 class TapChanger

«enumeration» RegulatingControlModeKind PowerSystemResource voltage RegulatingControl Canonical CIM activePower + discrete: Boolean [0..1] reactivePower + enabled: Boolean [0..1] currentFlow + mode: RegulatingControlModeKind [0..1] admittance + monitoredPhase: PhaseCode [0..1] Wires, PowerSystemResource timeScheduled + targetDeadband: Float [0..1] Core::Equipment temperature + targetValue: Float [0..1] powerFactor + targetValueUnitMultiplier: UnitMultiplier [0..1]

TapChanger +TapChanger PowerSystemResource 1 1 Ta pCha nger +RegulatingControl Cor e:: ConductingEquipment +TapSchedules + controlEnabled: Boolean [0..1] 0..* + highStep: Integer [0..1] + initialDelay: Seconds [0..1] +TapChanger +RegulationSchedule SeasonDayTypeSchedule + lowStep: Integer [0..1] 0..* TapSchedule + ltcFlag: Boolean [0..1] 0..* PowerTransformer + neutralStep: Integer [0..1] SeasonDayTypeSchedule + neutralU: Voltage [0..1] + normalStep: Integer [0..1] RegulationSchedule 0..1 + subsequentDelay: Seconds [0..1] +PowerTransformer + step: Float [0..1] IdentifiedObject

TransformerEnd +TapChangerControl 0..1 1 +PowerTransformerEnd TapChangerControl 1 0..* +TransformerEnd +TransformerEnd + limitVoltage: Voltage [0..1] + lineDropCompensation: Boolean [0..1] PowerTransformerEnd + lineDropR: Resistance [0..1] +PhaseTapChanger + lineDropX: Reactance [0..1] 0..1 + reverseLineDropR: Resistance [0..1] + reverseLineDropX: Reactance [0..1] PhaseTapChanger +RatioTapChanger 0..1

RatioTapChanger +RatioTapChanger

PhaseTapChangerTabular + stepVoltageIncrement: PerCent [0..1] + tculControlMode: TransformerControlMode [0..1] 0..* 0..* +RatioTapChangerTable +PhaseTapChangerTabular 0..1 PhaseTapChangerLinear +PhaseTapChangerTable IdentifiedObject + stepPhaseShiftIncrement: AngleDegrees [0..1] 0..1 + xMax: Reactance [0..1] RatioTapChangerTable IdentifiedObject + xMin: Reactance [0..1]

PhaseTapChangerTable 1

1 TapChangerTablePoint +RatioTapChangerTable

+ b: PerCent [0..1] + g: PerCent [0..1] +PhaseTapChangerTable +PhaseTapChangerTablePoint + r: PerCent [0..1] 1..* +RatioTapChangerTablePoint + ratio: Float [0..1] PhaseTapChangerTablePoint + step: Integer [0..1] 1..* + x: PerCent [0..1] + angle: AngleDegrees [0..1] RatioTapChangerTablePoint

PhaseTapChangerNonLinear

+ voltageStepIncrement: PerCent [0..1] + xMax: Reactance [0..1] + xMin: Reactance [0..1]

PhaseTapChangerSymmetrical PhaseTapChangerAsymmetrical April 26, 2017 + windingConnectionAngle: AngleDegrees [0..1] class RegulatingEquipment

ACDCTerminal Canonical CIM IOPoint Cor e:: Meas::Control Ter mina l +Terminal 0..1 Wires, +RegulatingControl 0..* PowerSystemResource

ConductingEquipment RegulatingControl Regulating RegulatingCondEq + discrete: Boolean [0..1] +RegulatingCondEq+RegulatingControl + enabled: Boolean [0..1] + controlEnabled: Boolean [0..1] 0..* 0..1 + mode: RegulatingControlModeKind [0..1] + monitoredPhase: PhaseCode [0..1] Control + targetDeadband: Float [0..1] + targetValue: Float [0..1] + targetValueUnitMultiplier: UnitMultiplier [0..1] RotatingMachine +RegulatingControl 1

+RegulationSchedule 0..*

SeasonDayTypeSchedule RegulationSchedule «enumeration» SynchronousMachine RegulatingControlModeKind

voltage 1..* 1..* activePower +InitiallyUsedBySynchronousMachines StaticVarCompensator reactivePower currentFlow admittance +SynchronousMachines timeScheduled temperature ShuntCompensator powerFactor +ReactiveCapabilityCurves +InitialReactiveCapabilityCurve 0..1 0..* FrequencyConverter TapChangerControl Curve ReactiveCapabilityCurve + limitVoltage: Voltage [0..1] + lineDropCompensation: Boolean [0..1] + lineDropR: Resistance [0..1] ExternalNetworkInjection + lineDropX: Reactance [0..1] + reverseLineDropR: Resistance [0..1] + governorSCD: ActivePowerPerFrequency [0..1] + reverseLineDropX: Reactance [0..1] + ikSecond: Boolean [0..1] + maxInitialSymShCCurrent: CurrentFlow [0..1] + maxP: ActivePower [0..1] +TapChangerControl 0..1 + maxQ: ReactivePower [0..1] 0..* + maxR0ToX0Ratio: Float [0..1] + maxR1ToX1Ratio: Float [0..1] +TapChanger + maxZ0ToZ1Ratio: Float [0..1] + minInitialSymShCCurrent: CurrentFlow [0..1] PowerSystemResource + minP: ActivePower [0..1] Ta pCha nger + minQ: ReactivePower [0..1] + minR0ToX0Ratio: Float [0..1] + minR1ToX1Ratio: Float [0..1] +TapChanger 1 + minZ0ToZ1Ratio: Float [0..1] + referencePriority: Integer [0..1] +TapSchedules 0..* + voltageFactor: PU [0..1] + p: ActivePower [0..1] SeasonDayTypeSchedule + q: ReactivePower [0..1] TapSchedule April 26, 2017 Standards Development Enterprize Architect Demo

April 26, 2017 Slide 47 Standards Development Network Model Node-Breaker Example

April 26, 2017 Slide 48 Standards Development Network Model Example In CIM

April 26, 2017 Slide 49 Data Exchange Formats Two Main Types

CIMXML – IEC 61970-552 • Based on RDF triples, a semantic web technology • But has custom extensions no longer needed with OWL, a revision is worked on • Formatting rules based on canonical UML • Generic, no adaptation needed for profiles • Has lots of empty space, compress from 20 to 1 XML Schema – IEC 61968-100 • XML Schema manually generated from rules in IEC 61968-100

There are interoperability issues between IEC 61970-552 and IEC 61968-100, e.g. • Object IDs

April 26, 2017 Slide 50 Data Exchange Formats CIMXML – IEC 61970-552

CIMXML is based on RDF/XML

.

value

. CIMXML can with a few minor changes be used with the semantic web

Object: Predicate: rdf:type cim:ClassName

Predicate: cim:ClassName.AttributeName or cim:ClassName.RoleName Subject: Object: mRID value or mRID

April 26, 2017 Slide 51 Data Exchange Formats CIMXML – IEC 61970-552 Example

RDF/XML template

.

value

. Example data

.

AMHE400MARC LINE

27.749

3.416

0.0002914

‒ …

April 26, 2017 Slide 52 Data Exchange Formats CIMXML – IEC 61970-552, Header

class Part552

+Depending 0..* M odel

+ created: DateTime +DependentOn 0..* + scenarioTime: DateTime «Primitive» + description: String URI +SupersededBy 0..* + modelingAuthoritySet: URI [0..1] {root} + profile: URI [1..*] +Supersedes + version: Integer 0..*

+forwardDifferences DifferenceModel Sta tements FullM odel 0..1 +reverseDifferences

0..1

April 26, 2017 Slide 53 Data Exchange Formats CIMXML – IEC 61970-552, Dependencies Example

Equipment Topology State Variables

E1 T1 S1

S2

T2 S3

Time E2 S4 T3 S5 E3 E3 T4 S6 E4

Profile FullModel DifferenceModel DependentOn Supersedes

April 26, 2017 Slide 54 Data Exchange Formats CIMXML – IEC 61970-552, Header Example

2014-10-24T14:26:47 2014-10-24T12:02:49 2 CGMES Conformity Assessment: …. http://elia.be/CGMES/2.4.15 http://entsoe.eu/CIM/EquipmentCore/3/1 http://entsoe.eu/CIM/EquipmentShortCircuit/3/1 http://entsoe.eu/CIM/EquipmentOperation/3/1

April 26, 2017 Slide 55 Data Exchange Formats XML Spy Demo

April 26, 2017 Slide 56 Making CIM An Ontology Issues

The XMI format for exchange of UML models • Is a weak standard resulting in poor tool interoperability • Is described by an XML Schema so it a format description that lacks semantic capability • Has a complex hierarchical structure making it difficult to process

The CIM RDF Schema (IEC 61970-501) for profile exchange • Is not fully supported by all profiling tools, e.g. CIM Tool can’t import it • Has several custom extensions not compatible with ontology specifications (RDF, RDFS, OWL) • Cannot be read by ontology tools

April 26, 2017 Slide 57 Making CIM An Ontology Why Making CIM An Ontology?

The semantic web architecture support • Information resources distributed over the web • Federation of distributed information resources • Knowledge based reasoning with federated information resources, OWL2

CIM models are managed by Model Authorities, e.g. EU TSOs and DSOs • Each Model Authority is responsible for is own CIM models • But a Model Authority is heavily dependent on its neighbors CIM models • So a complex exchange of CIM models is needed

CIM models available as semantic web information resources will greatly simplify sharing

April 26, 2017 Slide 58 Making CIM An Ontology Converting Canonical CIM to Ontologies

Data and meta data Ontology data

M2, UML Describe

UML IM as UML IM as Translate Derive UML IM as OWL XMI data Ontology Instances

M1, CIM Describe

CIM as CIM as Translate Derive CIM as OWL XMI data Ontology Instances

M0, Data Describe

CIMXML Instances

IM = Information Model

April 26, 2017 Slide 59 Making CIM An Ontology Converting Profiles to Ontologies

Data and meta data Ontology data M2, UML

Profile IM Profile IM Profile IM Translate Derive as OWL as as XMI Instances Ontology

M1, CIM Profile OWL Describe Instances

Profiled CIM as Profiled CIM as Derive OWL CIM as OWL Instances Ontology Create Instances

IM = Information Model

April 26, 2017 Slide 60 Making CIM An Ontology Ontology for UML

class xmi_uml

Id

+ name: string + toolId: string

Element 1 +supplier

+ documentation: string 1 +client + pathName: string +container + scope: ScopeValues 0..1 + stereotype: string 0..* PackageE

0..*

+model 0..1

ModelE

PropertyElement ClassElement

+domain EnumLiteralE EnumE 0..* 1

+inverse +superClass 0..1 1 1 +domain 0..* 0..* 0..* PropertyE ClassE +subClass GeneralizationE 0..* 1 AssociationE DependencyE + defaultValue: IdentifiedValueE +range 1 0..* + highCardinality: IdentifiedValueE + lowCardinality: IdentifiedValueE 0..* 1 0..1 0..1 0..*

1 1 +container 0..1 +side1 +side2

«enumeration» ScopeValues «xsd» «xsd» «xsd» «xsd» package IdentifiedValueE nonNegativeInteger protected integer string positiveInteger public + value: any private

April 26, 2017 Slide 61 Making CIM An Ontology Protege Demo

April 26, 2017 Slide 62