Welcome to the CIM University San Francisco, California, USA 11 October 2010 1 Introduction to CIM And Its Role in the Utility Enterprise Data Preparation, Exchange, Integration, and Enterprise Information Management 2 Presentation Contents • Background • What is the CIM • How the CIM is used in the Utility Enterprise – As a semantic model for information exchange • • • • Three Layer Architecture for Using the CIM Standards CIM UML model Profiles for business context Implementation syntax – XML Schema – for messaging – RDF Schema - for model exchange • Where to get CIM information 3 CIM History • • 1992 – Unified Information turned over a data model based on the EPRI OTS to the CCAPI Task Force with the understanding it would be turned into an industry standard model 1993 to 1996 - The CCAPI task force expanded the data model with a primary goal of enabling use of plug compatible applications to help protect utility investment in applications – • Entity Relationship Visio Diagram with MS Access database 1996 – The CIM was turned over to IEC Technical Committee 57, Working Group 13&14, where it is advancing through the standards process. It covers both electric utility transmission and distribution business operations – Converted to UML and initially maintained in Rational Rose • • • • • • • 2000 – NERC mandates CIM and first IOP test 2003 – ISO/RTO Council and EPRI sponsored an initiative to expand CIM into Market Operations, a.k.a. CME, followed by extensions for Planning and Dynamics 2005 – First edition of IEC 61970-301 CIM Base 2005 – CIM Users Group established under UCA Users Group 2008 – CIM adopted by UCTE 2009 – NIST identifies CIM as key standard for Smart Grid interoperability 2010 – ENTSO-E migrates to CIM and holds first IOP test 4 The IEC Common Information Model (CIM) - What Is It? • A set of standards in 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 modeling tools – Many tools available generating design artifacts and documentation – Enable data access to enterprise data warehouse in a standard way 5 GridWise Interoperability Framework Role of CIM 6 Sample Power System Model Company Load Area Belongs To Member Of Operates Owns Operates Connects To Connects To Generator AC Line Connects To Load Substation 7 Application of Information Model Application 1 Application 2 Common model creates understanding SISCO SYSTEMS 8 Information is Needed From Many Individual Systems Mobile VENDOR HELP! AM/FM/GIS Asset Planning Protection SCADA Risk Analysis Work Mgmt Historian Network Planning The CIM Outage Management Maintenance & Inspection Property Mgmt Customer Information Compliance HR Network Management Financial Contract Management 9 The Common Language Should Provide Relevant Information To A User Regardless of Source Engineering Concerns Operations Concerns Materials Management Concerns Protection Concerns Construction Concerns Maintenance Concerns 10 The Needs of Various Users – Some Same, Some Different Engineering Concerns The logical view of how the type of equipment fits (will fit) in the electrical network. Nominal configuration of “as-built” and “future” states. Field Name Spatial Location Version Physical Connectivity Load Projections Capacity Requirements Compatible Unit Equipment Ratings Materials Management Concerns Planning and tracking material requirements for construction and maintenance. Information about physical pieces of equipment. Asset Identifier Compatible Unit Equipment Component Type Equipment Manufacturer/Model Serial Number Location Equipment Location History Manufacturer Specifications Construction Concerns Lifecycle information regarding when and how to install equipment: Field Name Location Equipment Manufacturer/Model Compatible Unit Equipment Ratings Work Order Work Design Installation Schedule &Budget Permits Manufacturer Specifications Safety Requirements 11 The Needs of Various Users – Some Same, Some Different (continued) Operations Concerns Real-time condition of equipment and electrical network necessary to maintain reliable network operation: Field Name Schematics & Spatial Location Electrical Connectivity Operational Limits (dynamic) Equipment Status Clearances Network Measurements (voltage, current, frequency) Equipment Faults Weather Measurements Operational Restrictions Protection Concerns Setting and configuring relays based on equipment and network protection requirements: Field Name Schematics Electrical Connectivity Maximum Capacity Zones Of Protection Equipment Status Clearances Network Measurements (voltage, current, frequency, transients) Equipment Faults Maintenance Concerns Lifecycle information regarding when and how equipment is maintained: Field Name Location Equipment Manufacturer/Model Equipment Ratings Routine Maintenance Testing & Diagnostics Procedures Equipment Condition Inspection Schedule Equipment Repair Records Site Service Records Maintenance Budget Safety Requirements 12 Exchanging Common Language Messages Among Systems Should Provide Relevant Information To Each System That Is Harmonious With All Other Systems’ Information Service Connection Request Blah, Blah, Blah, Organization, Blah, Blah, Blah Work Blah, Blah, Blah, Organization, Blah, Blah, Blah Asset Catalog Planned Outage Blah, Blah, Blah, Organization, Blah, Blah, Blah Blah, Blah, Blah, Organization, Blah, Blah, Blah Crew Blah, Blah, Blah, Organization, Blah, Blah, Blah Maintenance Blah, Blah, Blah, Organization, Blah, Blah, Blah Switching Schedule Meter Reading Load Data Set Blah, Blah, Blah, Organization, Blah, Blah, Blah Blah, Blah, Blah, Organization, Blah, Blah, Blah Blah, Blah, Blah, Organization, Blah, Blah, Blah Load Control Blah, Blah, Blah, Organization, 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 in them! 13 For example, a common language-based logical infrastructure facilitates collaboration among the many applications involved in Asset Management Asset Investment Planning Asset Strategy Asset Planning Tool Risk Management Program Mgmt. Load Forecast Budget Asset Portfolios Asset Program Management Work Mgmt. Reliability Analysis SRCM Executive Dashboard Network Analysis Portal Facility I&M GIS OMS Metering SCADA Financial Management CRM IVR Mobile & Dispatching eBusiness Customer Management Asset Owner Supply Chain Management Contract Management Asset Repository CIS Equip./Fleet Management Contract Mgmt. Revenue Regulatory Reporting Resource Scheduling & Planning EMS DMS SA/DA Mobile Workforce Mgmt. Work Collaboration & Reporting Work Design Asset Operations Asset Manager [source: DistribuTECH 2003 paper by Zhou & Robinson] Service Provider 14 Application To Common Language Mapping – The Typical Field to Field Process Is Cumbersome • Individual fields of data models from data sources are mapped to each other • Approach does not scale well as the number of maps grows exponentially with each new data source • Mapping is a challenge as ‘mappers’ must have an in depth understanding of all relevant data sources – a tall order! 15 Using A Semantic Model To Simplify & Scale 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. [source: TopQuadrant Technology Briefing, July 2003] 16 The CIM Provides a Semantic Layer in an Enterprise Architecture Composite Applications Web Services Business Intelligence Integration Bus ETL DW Common Language Generic Services Semantic Model Metadata Apps. 17 Decoupled Information Exchange CIM X.1 X.2 X.3 X.4 X.5 CIM X.1 X.2 X.3 X.4 X.5 App B.1 B.2 Subscriber Subscribers: Several Application Adapters Receive The Same Message Each Adapter: •Parses Message, Pulling Out Data Needed By Application •Transforms Data (if necessary) to Local Application Format •Passes Data To Local Application And/Or Database Through Most Appropriate Means App A.1 A.4 A.5 Subscriber Outage Reporting Grid Wires Model DAC Dist Wires Model EMS OMS CIM X.1 X.2 X.3 X.4 X.5 App C.1 C.3 C.4 Subscriber VRU Distribution Automation CIS Message Type Instance: ChangedNetworkDataSet (Expressed In Common Language) Event History CIM X.1 X.2 X.3 X.4 X.5 AM/FM/GIS Subscriber Human Resources App Y.1 Y.2 Y.3 Y.4 Y.5 CIM X.1 X.2 X.3 X.4 X.5 Publisher Work Management Substation Automation ... Data Warehouse Publishers: One Application Connector: •Obtains Data From Application And/Or Database •Transforms Data (if necessary) to the “Common Language” (a Canonical Data Model) •Puts Data Into Message Template •Publishes The Message (Fires & Forgets) 2003-2004 Xtensible Solutions, Inc. 18 18 The IEC 61968-1 Interface Reference Model (IRM) Provides The Framework For Identifying Information Exchange Requirements Among Utility Business Functions All IEC 61968 Activity Diagrams and Sequence Diagrams are organized by the IRM Business Functions External To Distribution Management Distribution Management Business Functions (NO) Network Operation Interface Standard: Part 3 (AM) Records & Asset Management (OP) Operational Planning & Optimization (MC) Maintenance & Construction Interface Standard: Part 4 Interface Standard: Part 5 Interface Standard: Part 6 (EMS) Energy Management & Energy Trading Interface Standard: Part 10 (RET) Retail Interface Standard: Part 10 (SC) Supply Chain and Logistics Interface Standard: Part 10 IEC 61968 Compliant Middleware Services Interface Standard: Part 7 Interface Standard: Part 8 (NE) Network Extension Planning (CS) Customer Support Interface Standard: Part 9 (MR) Meter Reading & Control Electric Distribution Network Planning, Constructing, Maintaining, and Operating Interface Standard: Part 10 (ACT) Customer Account Management Interface Standard: Part 10 Interface Standard: Part 10 Interface Standard: Part 10 (FIN) Financial (PRM) Premises (HR) Human Resources Generation and Transmission Management, Enterprise Resource Planning, Supply Chain, and General Corporate Services 19 The CIM and Related Standards • But the CIM standards are more than just an abstract information model expressed in UML • Profiles for specifying a subset of the CIM classes and attributes for a specific business context at a specific system interface or system interaction • Implementation models – Use of XML to create serialized files and messages • RDF Schema-based standards for power system model exchange • XML Schema-based standards for information message payloads – ETL based on CIM for data base access • DDLs for data tables 20 We Need An Organizing Framework • Layered Reference Architecture for TC57 • Based on UN/CEFACT – Information Model – Contextual Model – Message Syntax • Rules for Message Assembly TC57 Layered Architecture Information and Semantic Models CIM UML Information Model • Generalized model of all utility objects and their relationships • Application independent Context Profile Message Syntax Message XML Schema Contextual layer restricts information model • Constrain or modify data types • Cardinality (may make mandatory) • Cannot add to information model Message syntax describes format for instance data • Can re-label elements • Change associations to define single structure for message payloads • Mappings to various technologies can be defined 22 Semantic Models and Profiles Information and Semantic Models CIM UML Context 61968 Rules Profile Message Assembly CIM/XML Rules Project Rules Message Syntax Message XML Schema CIM/XML RDF Schema Relational Database 23 To Summarize • The CIM is an abstract information model standard expressed in UML. • Profiles specifying a subset of the CIM classes and attributes for specific business context • Implementation technologies, such as use of XML to create serialized files and messages – Standards for power system models – Standards for information message payloads • Also, the CIM UML can be extended – Standard extensions for new functional areas – Private extensions for specific utility requirements 24 Let’s Look at each Layer of the CIM Information and Semantic Models CIM UML Information Model • Defines all concepts needed for any application Context Profiles Message Syntax XML/RDF Schema Contextual layer restricts information model • Specifies which part of CIM is used for given profile • Mandatory and optional • Restrictions • But cannot add to information model File syntax • Can re-label elements • Change associations to define single structure for message payloads • Mappings to various technologies can 25 be defined Foundational Relationships Of The CIM PowerSystemResource Organisation Electrical Network Role Used For Planning, Operations, etc. Entities Performing Roles Such As Operations, Tax Authority Asset Contact Physical Plant Filling A Role Such As A Transformer, Pole, etc. People Performing Roles Such Dispatcher, Field Operator, etc. Location Customer Where To Find Something By GPS, Address, Electronically, etc. Industrial, Commercial, & Residential Which Can Have Multiple Accounts Document Information Containers Such As Trouble Ticket, Work Orders, etc. 26 CIM Packages WG13 WG14 WG16 27 WG13 CIM Packages - 61970 28 WG14 CIM Packages - 61968 pkg M ain Locations Domain2 AssetsLinear AssetsPointOriented M etering LoadControl PaymentM etering ERPS upport GM LS upport Common Operations Parts 3, 4 (and 5?) Assets AssetM odels T ypeAsset Part 4 Planning Parts (5 and 7)? Work Part 6 Customers Part 8 Part 9 Part 10? 29 WG16 CIM Market Extensions Bid FTR RTO Security Constraints Resource Clearing Results 30 CIM IEC Standards • 61970 CIM UML has annual release cycle – Current official annual release is IEC61970CIM14v13 – Basis for IEC 61970-301 CIM Base Fourth Edition • Word document auto-generated from the UML electronic model – Information system and Profile documents are synchronized with UML model release • 61968 CIM UML different update cycles – Basis for IEC 61968-11 CIM Distribution Information Exchange Model • Complete CIM UML available as a combined model on CIMug Sharepoint site – iec61970cim14v13_iec61968cim10v28_combined 31 The CIM Is Expressed In Unified Modeling Language (UML) Notation* Asset (from AssetBasics) code : String utc : String number : String serialNumber : SerialNumber assetType : String maufacturedDate : AbsoluteDate installationDate : AbsoluteDate inServiceDate : AbsoluteDate outOfServiceDate : AbsoluteDate removalDate : AbsoluteDate warrantyDate : AbsoluteDate financialValue : Money status : String statusDate : AbsoluteDate critical : Boolean corpStandard : String removalReason : String condition : String plantTransferDate : AbsoluteDate usage : String purchaseDate : AbsoluteDate purchasePrice : Money purchaseOrderNumber : String Class Name usually describes things in the real world Structure Class Attributes describe significant aspects about the thing height : ShortLength weedAbate : Boolean weedRemDate : AbsoluteDate fumigant : String fumigantApplyDate : AbsoluteDate jpaRefNum : String This Specialization indicates that a “Pole” is a type of “Structure.” Since a “Structure” is a type of “Asset,” the Pole inherits all of the attributes from both Structure and Asset Pole * For more information on UML notation (a standard), refer to Martin Fowler’s book “UML Distilled,” Addison-Wesley classification : String species : String treatment : String base : String preservative : String treatedDate : AbsoluteDate breastBlock : Boolean +AttachedTo_Pole 0..1 +Support_Streetlights 0..n Streetlight Associations connect classes and are assigned a role that describes the relationship rating : String armLength : ShortLength 32 Concepts: Generalization/Inheritance class DocumentationExampleInheritance I dent ifiedObject Core: : Pow erS ystemResource Core: : Equipment Core: : ConductingEquipment S w itch ProtectedS w itch Breaker Pow erT ransf ormer • Breaker: Specialization of ProtectedSwitch • ProtectedSwitch: Specialization of Switch • Switch: Specialization of Conducting Equipment • ConductingEquipment: Specialization of Equipment • Equipment: Specialization of PowerSystem Resource 33 class InheritanceHierarchy Equipment Inheritance Hierarchy Core: : Identif iedObject Core: : Pow erS ystemResource T apChanger VoltageControlZone Core: : ConnectivityNodeContainer Core: : Equipment Core: : EquipmentContainer CompositeS w itch Core: : S ubstation Core: : VoltageLevel HeatExchanger Core: : Bay Pow erT ransf ormer Plant Core: : ConductingEquipment Line Conductor S eriesCompensator T ransf ormerWinding DCLineS egment ACLineS egment EnergyS ource EnergyConsumer Rectif ierInverter BusbarS ection Ground Connector Junction S huntCompensator RegulatingCondEq FrequencyConverter S w itch S ynchronousM achine ProtectedS w itch S taticVarCompensator LoadBreakS w itch Breaker Jumper Fuse Disconnector GroundDisconnector 34 Naming Hierarchy 1 class NamingHierarchyPart1 Core: : Identif iedObject + + + + + + aliasName: String [0..1] description: String [0..1] localName: String [0..1] mRID: String [0..1] name: String [0..1] pathName: String [0..1] Core: : ConnectivityNodeContainer Core: : GeographicalRegion +Region 0..1 +Regions 0..* Core: : S ubGeographicalRegion Core: : EquipmentContainer Core: : Pow erS ystemResource +EquipmentContainer 0..1 +Region +Region 0..1 0..1 +Equipments 0..* +Lines Core: : Equipment 0..* Plant Line +Substations +Substation 0..* Core: : S ubstation 0..1 +Substation +VoltageLev els 1 0..* Core: : VoltageLevel 0..1 0..* +VoltageLev el +Bay s Core: : Bay +Bay s 0..* 35 Naming Hierarchy 2 class NamingHierarchyPart2 Core: : Identif iedObject + + + + + + M eas: : M easurement +Measurements +Pow erSy stemResource 0..* aliasName: String [0..1] description: String [0..1] localName: String [0..1] mRID: String [0..1] name: String [0..1] pathName: String [0..1] Core: : Pow erS ystemResource 0..1 T apChanger HeatExchanger +HeatExchanger 0..1 Core: : Equipment +Pow erTransformer 1 Pow erT ransf ormer Production: : GeneratingUnit CompositeS w itch +Pow erTransformer +CompositeSw itch +Sw itches 1 +Sy nchronousMachines 1..* +GeneratingUnit 0..1 0..1 S ynchronousM achine 0..* +TransformerWindings 1..* Core: : ConductingEquipment S w itch T ransf ormerWinding Fuse RegulatingCondEq Conductor Jumper Disconnector GroundDisconnector ProtectedS w itch LoadBreakS w itch DCLineS egment ACLineS egment S taticVarCompensator Connector FrequencyConverter S huntCompensator BusbarS ection Junction Breaker EnergyConsumer S eriesCompensator Rectif ierInverter Ground EnergyS ource 36 Connectivity and Topology Model 37 Converting a Circuit to CIM Objects • Example to show how voltage levels, current transformers, power transformers and generators are modelled • Circuit contains a single generating source, load, line and busbar. The circuit also contains two power transformers resulting in three voltage levels of 17kV, 33kV and 132kV Taken from McMorran, “An Introduction to IEC 61970-301 & 61968-11: The Common Information Model”, University of Strathclyde, Glasgow, UK 38 Example Circuit as a Single Line Diagram EnergyConsumer ACLineSegment Breaker Breaker BusbarSection Breaker GeneratingUnit SynchronousMachine Current measurement represented by Measurement connected to Terminal 39 Representing a Power Transformer as CIM Objects • A power transformer is not mapped to a single CIM class – Represented by a number of components with a single PowerTransformer container class – Two-winding power transformer becomes two TransformerWinding objects within a PowerTransformer container • If a tap changer is present to control one of the windings – An instance of the TapChanger class is associated with that particular winding – Also contained within the PowerTransformer instance 40 Transformer Class Diagram Shell of transformer, containing windings, insulation, magnetic core, etc. Inherits from Equipment, since does not conduct electricity Part of TransformerWinding, not separate piece of equipment Physically connected to network and conducts electricity, so inherits from ConductingEquipment 41 CIM Mapping for Transformer 17-33 • Transformer 17-33 is represented as four CIM objects 42 Transformer Model Diagram from 61970-301CIM Base PowerSystemResource (from Core) Equipment (from Core) PowerTransformer +PowerTransformer 1 TapChanger 0..n +TapChangers 1 0..n +TapChangers +MemberOf_PowerTransformer +HeatExchanger 0..1 HeatExchanger +Contains_TransformerWindings 1..n ConductingEquipment (from Core) TransformerWinding 0..n +To_TransformeWindings +To_WindingTest 1 1 +RegulationSchedule 0..1 RegulationSchedule +TransformerWinding 1 +From_TransformerWinding +From_WindingTests 0..n WindingTest 43 Transformer Winding Attributes Transformer Winding b: Susceptance insulationKV: Voltage connectionType: WindingConnection emergencyMVA : ApparentPower g: Conductance grounded: Boolean r: Resistance r0: Resistance ratedKV: Voltage rated MVA: ApparentPower rground: Resistance shortTermMVA: ApparentPower windingType: WindingType x: Reactance x0: Reactance xground: Reactance 44 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 45 How The CIM Handles Location For Logical Devices And/Or The Physical Asset Performing The Device’s Role 46 Types Of Document Relationship Inherited By All Assets 47 Activity Records 48 CIM UML in Enterprise Architect • The CIM UML model is maintained in Sparx Enterprise Architect (EA) • Current ENTSO-E CIM UML Model for IOP – iec61970cim15v15_iec61968cim10v16_combined.eap • Go to UML model in EA 49 Questions? 50 Let’s Look at each Layer of the CIM Information and Semantic Models CIM UML Information Model • Defines all concepts needed for any application Context Profiles Message Syntax XML/RDF Schema Contextual layer restricts information model • Specifies which part of CIM is used for given profile • Mandatory and optional • Restrictions • But cannot add to information model File syntax • Can re-label elements • Change associations to define single structure for message payloads • Mappings to various technologies can 51 be defined Profile Documents • IEC 61970-4xx series of Component Interface Standards (CIS) – Specifies the functional requirements for interfaces that a component (or application) implements to exchange information with other components (or applications) and/or to access publicly available data in a standard way – Component interfaces describe the specific message contents and services that can be used by applications for this purpose – Implementation of these messages in a particular technology is described in Part 5 of the standard 52 Common Power System Model (CPSM) Profile • IEC 61970-452 specifies the specific profile (or subset) of the CIM for exchange of static power system data between utilities, security coordinators and other entities participating in a interconnected power system • All parties have access to the modeling of their neighbor’s systems that is necessary to execute state estimation or power flow applications • A companion standard, IEC 61970-552, defines the CIM XML Model Exchange Format based on the Resource Description Framework (RDF) Schema specification language which can be used to transfer power system model data for a particular profile • Interoperability tests have validated several vendor’s products for exchanging complete power system models, partial models, and incremental updates 53 61970-452 CPSM Profile TOC Snippet Scope .............................................................................................................................. 7 2 Normative References ............................................................................................... 8 3 Definitions ................................................................................................................. 8 4 Overview of Data Requirements ................................................................................ 10 4.1 4.2 4.3 4.4 4.5 4.6 4.7 5 4.8 CIM 5.1 5.2 5.3 5.4 Overview .......................................................................................................... 10 General Requirements ..................................................................................... 10 Transformer Modeling ...................................................................................... 11 Modeling Authorities ........................................................................................ 12 Use of Measurement Classes ........................................................................... 12 4.5.1 ICCP Data Exchange ........................................................................... 14 Voltage or Active Power Regulation ................................................................. 14 Use of Curves .................................................................................................. 14 4.7.1 Generating Unit Reactive Power Limits ................................................ 14 Definition of Schedules .................................................................................... 15 Classes.............................................................................................................. 16 61970............................................................................................................... 16 5.1.1 IEC61970CIMVersion ........................................................................... 16 Core Package .................................................................................................. 17 5.2.1 BaseVoltage ......................................................................................... 17 5.2.2 Bay ...................................................................................................... 17 5.2.3 CurveData ............................................................................................ 17 5.2.4 Geographical Region ............................................................................ 18 5.2.5 RegularTimePoint................................................................................. 18 5.2.6 SubGeographical Region ...................................................................... 18 5.2.7 Substation ............................................................................................ 19 5.2.8 Terminal ............................................................................................... 19 5.2.9 Unit ...................................................................................................... 19 5.2.10 VoltageLevel ........................................................................................ 20 Topology Package ........................................................................................... 21 5.3.1 ConnectivityNode ................................................................................. 21 Wires Package ................................................................................................. 22 5.4.1 ACLineSegment ................................................................................... 22 5.4.2 Breaker ................................................................................................ 22 5.4.3 BusbarSection ...................................................................................... 23 5.4.4 Disconnector ........................................................................................ 23 5.4.5 EnergyConsumer.................................................................................. 24 5.4.6 Line...................................................................................................... 24 5.4.7 LoadBreakSwitch ................................................................................. 25 5.4.8 PowerTransformer ................................................................................ 25 5.4.9 ReactiveCapabilityCurve ...................................................................... 26 5.4.10 RegulatingControl ................................................................................ 26 54 Let’s Look at each Layer of the CIM Information and Semantic Models CIM UML Information Model • Defines all concepts needed for any application Context Profiles Message Syntax XML/RDF Schema Contextual layer restricts information model • Specifies which part of CIM is used for given profile • Mandatory and optional • Restrictions • But cannot add to information model File syntax • Can re-label elements • Change associations to define single structure for message payloads • Mappings to various technologies can 55 be defined XML Implementation Technologies • XML Schema – Used for generation of message payloads for system interfaces in system integration use cases • RDF Schema – Used for exchange of power system models 56 What is XML? • eXtensible Markup Language – A text-based tag language, similar in style to HTML but with user-definable tags • Similar in use of ASCII text and tags – Based on Standard Generalized Markup Language (SGML), which is ISO 8879. • Self-describing • Open industry standard - W3C Recommendation (spec) – Broad usage across industries (many XML tools available) • Cross-platform and vendor-neutral standard • Easy to use, easy to implement 57 Basic Syntax • Starts with XML declaration <?xml version="1.0"?> • Rest of document inside the "root element" <TEI.2>…</TEI.2> • Tags are used to provide information about the document content (metadata) • Start and end tags must match exactly 58 What is an XML Element? • • • • • An XML element is everything from (including) the element's start tag to (including) the element's end tag. An element can contain other elements, simple text or a mixture of both. Elements can also have attributes. <bookstore> <book category="CHILDREN"> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> In the example above, <bookstore> and <book> have element contents, because they contain other elements. <author> has text content because it contains text. In the example above only <book> has an attribute (category="CHILDREN"). 59 Implementation Syntax – XML Schema • Example of use of XML Schema • Mapping Proprietary EMS Interfaces to the CIM – Provide enterprise system access to transformer data 60 Mapping EMS Interfaces to the CIM – User access to transformer data • EMS Native Interface attributes: – – – – – – – TRANS_NAME – The Transformer’s name WINDINGA_R – The Transformer’s primary winding resistance WINDINGA_X – The Transformer’s primary winding reactance WINDINGB_R – The Transformer’s secondary winding resistance WINDINGB_X – The Transformer’s secondary winding reactance WINDINGA_V – The Transformer’s primary winding voltage WINDINGB_V – The Transformer’s secondary winding voltage 61 Transformer Class Diagram in CIM 62 CIM Interface Mapping - Beginnings of Profile/Message Payload Definition Two different interface attributes (WINDINGA_R and WINDINGB_R) map to same CIM attribute Aggregation changed from 0..n to 2 Multiplicity changed from 0..1 to 1 Multiplicity changed from 0..1 to 1 63 Message Payload in UML Note: • Associations changed to aggregations • Parent classes removed • Not required in actual message content • Parent classes already known by both sender and receiver • Corollary: Only those parts of the CIM used in message exchange need to be supported by interface applications • End result – modified class structure • Example of application of business context to information model 64 Schemas – Meta Data – A Schema is a description or definition of the structure of a database or other data source. It provides: • Allowable content or structure of data of a variety of types • Abstract definition of the relationships and characteristics of a class of objects or pieces of data – Database Schema • Defines the table names and columns, describes the relationships between tables (via keys), and acts as a repository for triggers and stored procedures. – XML Schema • Describes the ordering and inter-relationship of – XML elements (i.e., sequence and nesting of tags) and – Attributes (i.e., values, types, defaults) in the class of XML documents to which the schema applies. (source: “Professional XML Meta Data,” by Kal Ahmed, et al.) 65 XML Schema of CIM • An XML Schema of the CIM can be generated with XML tools • The CIM classes and attributes are used to define tags • Then the CIM can be shown in XML as well as UML • Example is PowerTransformer 66 Transformer Model Diagram from 61970-301CIM Base PowerSystemResource (from Core) Equipment (from Core) PowerTransformer +PowerTransformer 1 TapChanger 0..n +TapChangers 1 0..n +TapChangers +MemberOf_PowerTransformer +HeatExchanger 0..1 HeatExchanger +Contains_TransformerWindings 1..n ConductingEquipment (from Core) TransformerWinding 0..n +To_TransformeWindings +To_WindingTest 1 1 +RegulationSchedule 0..1 RegulationSchedule +TransformerWinding 1 +From_TransformerWinding +From_WindingTests 0..n WindingTest 67 XML Schema for Transformer Message 68 Sample Transformer Interface Message Payload in XML <cim:PowerTransformer> <cim:Naming.name>Transformer SGT1</cim:Naming.name> <cim:PowerTransformer.Contains_TransformerWindings> <cim:TransformerWinding.r>0.23</cim:TransformerWinding.r> <cim:TransformerWinding.x>0.78</cim:TransformerWinding.x> <cim:TransformerWinding.windingType>WindingType.primary </cim:TransformerWinding.windingType> <cim:Equipment.MemberOf_EquipmentContainer> <cim:VoltageLevel.BaseVoltage> <cim:BaseVoltage.nominaVoltage>400 </cim:BaseVoltage.nominalVoltage> </cim:VoltageLevel.BaseVoltage> </cim:Equipment.MemberOf_EquipmenContainer> </cim:PowerTransformer.Contains_TransformerWindings> <cim:PowerTransformer.Contains_TransformerWindings> <cim:TransformerWinding.r>0.46</cim:TransformerWinding.r> <cim:TransformerWinding.x>0.87</cim:TransformerWinding.x> <cim:TransformerWinding.windingType>WindingType.secondary </cim:TransformerWinding.windingType> <cim:Equipment.MemberOf_EquipmentContainer> <cim:VoltageLevel.BaseVoltage> <cim:BaseVoltage.nominaVoltage>275 </cim:BaseVoltage.nominalVoltage> </cim:VoltageLevel.BaseVoltage> </cim:Equipment.MemberOf_EquipmenContainer> </cim:PowerTransformer.Contains_TransformerWindings> </cim:PowerTransformer> 69 XML Implementation Technologies • XML Schema – Used for generation of message payloads for system interfaces in system integration use cases • RDF Schema – Used for exchange of power system models 70 Big Issue • “Although we can swap our documents with each other through XML, we still haven’t a clue what they mean.” » (“Professional XML Meta Data,” by Kal Ahmed, et al.) • Resource Description Framework (RDF) Is W3C’s Means To Resolve This. 71 RDF Schema • RDF Schema mechanism is a set of RDF resources (including properties) and constraints on their relationships • Defines application-specific RDF vocabularies, for example CIM vocabulary • RDF Schema URI unambiguously identifies a single version of a schema [Courtesy Of Leila Schneburger] 72 Technical Approach • RDF (Resource Description Framework) - Defines mechanism for describing resources that makes no assumptions about a particular application domain, nor defines the semantics of any application domain. The definition of the mechanism is domain neutral, yet the mechanism is suitable for describing information about any domain: – For more information: http://www.w3.org/RDF – Status: W3C Recommendation 22 February 1999 • http://www.w3.org/TR/REC-rdf-syntax/ • RDF Schema - Defines a schema specification language. Provides a basic type system for use in RDF models. It defines resources and properties such as Class and subClassOf that are used in specifying applicationspecific schemas: – Status: W3C Proposed Recommendation 03 March 1999 • http://www.w3.org/TR/PR-rdf-schema/ 73 Technical Approach (Cont.) • Namespaces - provide a simple method for qualifying element and attribute names used in XML documents by associating them with namespaces identified by URI references: – Status: WC3 Recommendation 14-January-1999 • http://www.w3.org/TR/REC-xml-names/ • URI (Uniform Resource Identifiers) - provide a simple and extensible means for identifying a resource: – Status: Internet RFC August 1998 • ftp://ftp.isi.edu/in-notes/rfc2396.txt 74 XML Namespaces • Distinguish between duplicate element type and attribute names • Collection of element type and attribute names. The namespace is identified by a URI. • Declared with an xmlns attribute, which can associate a prefix with the namespace. • If XML namespace declaration contains a prefix, refer to element type and attribute names in that namespace with the prefix. E.g. cim:Substation, UCTE:Substation • If XML namespace declaration does not contain a prefix, the namespace is the default XML namespace, refer to element type names in that namespace without a prefix. 75 CIM UML=>RDF Schema=>RDBMS UML. RDF Object Resource Attribute or association Property Class Class Resource Description URI Value Relational Model Tuple (i.e. row) Attribute (i.e. column) or foreign key Relation (i.e. table) Tuple value Key value Field value [Courtesy Of Leila Schneburger] 76 Simple Network Example SS2 400KV SS1-SS2 Cable1 SS1 Cable2 12345 MW Cable3 12345 KV BB1 12345 MW SS4 T1 110KV 77 Simple Network Connectivity Modeled with CIM Topology T1 T2 SS 2 400KV BB1 SS1-SS2 Volts (KV) P1 (M W) CN5 DC2 CN4 BR1 SS 1 CN3 Cable1 CN2 Cable2 CN1 BR3 CN6 Cable3 P2 (M W) TW 1 CN8 T 1 TW 2 SS 4 CN7 BDD-RSK2 110KV 78 Siemens 100 Bus Network Model in RDF Top of RDF Schema version of Siemens 100 bus model <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xml:base="siemens" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2001/CIM-schema-cim10#"><cim:ACLineSegment rdf:ID="_ 6B1DD5C2CB934E86AC53FFD886E2D1B3"><cim:Naming.name>BBD-RSK2</cim:Naming.name><cim:Conductor.bch>2.79 </cim:Conductor.bch><cim:Conductor.x>4.3378</cim:Conductor.x><cim:Conductor.r>0.4761</cim:Conductor.r> </cim:ACLineSegment><cim:Terminal rdf:ID="_EB6085D9DF364DA78A884D4D0A571371"><cim:Naming.name>T2</cim:Naming.name> <cim:Terminal.ConnectivityNode rdf:resource="#_CC312D30C85C4236948A4129AEE3B5F7"/> <cim:Terminal.ConductingEquipment rdf:resource="#_6B1DD5C2CB934E86AC53FFD886E2D1B3"/></cim:Terminal><cim:Terminal rdf:ID="_7C8354E0DA247DBB3611E2E8BF8A86D"><cim:Naming.name>T1</cim:Naming.name><cim:Terminal.ConnectivityNode rdf:resource="#_D16FD63501444AECBF8157D1E4764E38"/><cim:Terminal.ConductingEquipment rdf:resource="#_ 6B1DD5C2CB934E86AC53FFD886E2D1B3"/></cim:Terminal><cim:ACLineSegment rdf:ID="_E83B07FE54A945539A95FD2DB2CDD4FC"> <cim:Naming.name>BKR-TUR</cim:Naming.name><cim:Conductor.bch>0.39</cim:Conductor.bch><cim:Conductor.x>4.1262 </cim:Conductor.x><cim:Conductor.r>1.0051</cim:Conductor.r></cim:ACLineSegment><cim:Terminal rdf:ID="_E273D9258F9D42FCA018B274BE6F5FA6"><cim:Naming.name>T2</cim:Naming.name><cim:Terminal.ConnectivityNode rdf:resource="#_576B6D171B174B8BACB7AFF7289D0434"/><cim:Terminal.ConductingEquipment rdf:resource="#_E83B07FE54A945539A95FD2DB2CDD4FC"/></cim:Terminal><cim:Terminal rdf:ID="_B23175B9692441AFBD2C581E86300550"><cim:Naming.name>T1</cim:Naming.name><cim:Terminal.ConnectivityNode rdf:resource="#_A69ED82F4EB4B65A8840CDD1E064887"/><cim:Terminal.ConductingEquipment rdf:resource="#_E83B07FE54A945539A95FD2DB2CDD4FC"/></cim:Terminal><cim:Unit rdf:ID="_ 5EAAD38A446E429E9905FAC32070D6FC"><cim:Naming.name>Amperes</cim:Naming.name></cim:Unit><cim:ACLineSegment rdf:ID="_329884C01F6B4DC08492F711088538D6"><cim:Naming.name>CRS-ANY1</cim:Naming.name><cim:Conductor.bch>5.03 </cim:Conductor.bch><cim:Conductor.x>12.90761</cim:Conductor.x><cim:Conductor.r>1.2696</cim:Conductor.r></ 79 ACLineSegment in RDF Siemens 100 bus model - RDF schema <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xml:base="siemens" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2001/CIM-schema-cim10#"> <cim:ACLineSegment rdf:ID="_6B1DD5C2CB934E86AC53FFD886E2D1B3"> <cim:Naming.name>BBD-RSK2</cim:Naming.name> <cim:Conductor.bch>2.79</cim:Conductor.bch> <cim:Conductor.x>4.3378</cim:Conductor.x> <cim:Conductor.r>0.4761</cim:Conductor.r> </cim:ACLineSegment> <cim:Terminal rdf:ID="_EB6085D9DF364DA78A884D4D0A571371"> <cim:Naming.name>T2</cim:Naming.name> <cim:Terminal.ConnectivityNode rdf:resource="#_CC312D30C85C4236948A4129AEE3B5F7"/> <cim:Terminal.ConductingEquipment rdf:resource="#_6B1DD5C2CB934E86AC53FFD886E2 D1B3"/> </cim:Terminal> <cim:Terminal rdf:ID="_7C8354E0DA247DBB3611E2E8BF8A86D"> <cim:Naming.name>T1</cim:Naming.name> <cim:Terminal.ConnectivityNode rdf:resource="#_D16FD63501444AECBF8157D1E4764E38"/> <cim:Terminal.ConductingEquipment rdf:resource="#_6B1DD5C2CB934E86AC53FFD886E2 D1B3"/> </cim:Terminal> 80 ACLineSegment in RDF Siemens 100 bus model - RDF schema <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xml:base="siemens" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2001/CIM-schema-cim10#"> <cim:ACLineSegment rdf:ID="_6B1DD5C2CB934E86AC53FFD886E2D1B3"> <cim:Naming.name>BBD-RSK2</cim:Naming.name> <cim:Conductor.bch>2.79</cim:Conductor.bch> <cim:Conductor.x>4.3378</cim:Conductor.x> <cim:Conductor.r>0.4761</cim:Conductor.r> </cim:ACLineSegment> <cim:Terminal rdf:ID="_EB6085D9DF364DA78A884D4D0A571371"> <cim:Naming.name>T2</cim:Naming.name> <cim:Terminal.ConnectivityNode rdf:resource="#_CC312D30C85C4236948A4129AEE3B5F7"/> <cim:Terminal.ConductingEquipment rdf:resource="#_6B1DD5C2CB934E86AC53FFD886E2 D1B3"/> </cim:Terminal> <cim:Terminal rdf:ID="_7C8354E0DA247DBB3611E2E8BF8A86D"> <cim:Naming.name>T1</cim:Naming.name> <cim:Terminal.ConnectivityNode rdf:resource="#_D16FD63501444AECBF8157D1E4764E38"/> <cim:Terminal.ConductingEquipment rdf:resource="#_6B1DD5C2CB934E86AC53FFD886E2 D1B3"/> </cim:Terminal> 81 Containment in RDF Substation VOL with 230 230 KV voltage level and Bay 240W79 with 240W79 Breaker CB Substation VOL with KV voltage level and Bay with Breaker CB <cim:Substation rdf:ID="_277B2933524E43E19DAAF1D138DC62C4"> <cim:Naming.name>VOL</cim:Naming.name> <cim:Substation.LoadArea rdf:resource="#_BA2173878B0645A7AC8EA57B6249D537"/> </cim:Substation> <cim:VoltageLevel rdf:ID="_C20AF84C15E047218D75C47870C34C87"> <cim:Naming.name>230K</cim:Naming.name> <cim:VoltageLevel.MemberOf_Substation rdf:resource="#_277B2933524E43E19DAAF1D138DC62C4"/> <cim:VoltageLevel.BaseVoltage rdf:resource="#_CF8BD1450E264399891F7FE5653D0760"/> </cim:VoltageLevel> <cim:BusbarSection rdf:ID="_5E0DBC09FE4D4A0DB902FEFF18AA4C30"> <cim:Naming.name>VOL 2304</cim:Naming.name> <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#_C20AF84C15E047218D75C47870C34C87"/> </cim:BusbarSection> Further down in document < c i m : B a yr d f : I D = " _ 7 D B B A 5 E 3 2 C 8 3 4 B 6 A B 0 8 B B 6 F B 0 7 1 5 5 D 4 6 " > < c i m : N a m i n g . n a m e > 2 4 0 W 7 9 < / c i m : N a m i n g . n a m e > < c i m : B a y . M e m b e r O f _ V o l t a g e L e v e lr d f : r e s o u r c e = " # _ C 2 0 A F 8 4 C 1 5 E 0 4 7 2 1 8 D 7 5 C 4 7 8 7 0 C 34 C 8 7 " / > < / c i m : B a y > < c i m : B r e a k e rr d f : I D = " _ 4 A 7 4 B 5 5 4 2 0 8 3 4 E 4 0 B 8 5 F 0 3 0 4 B 6 F 9 A D F 8 " > < c i m : N a m i n g . n a m e > C B < / c i m : N a m i n g . n a m e > < c i m : S w i t c h . n o r m a l O p e n > f a l s e < / c i m : S w i t c h . n o r m a l O p e n > < c i m : E q u i p m e n t . M e m b e r O f _ E q u i p m e n t C o n t a i n e rr d f : r e s o u r c e = " # _ 7 D B B A 5 E 3 2 C 8 3 4 B 6 A B 0 8 B B 6 F B 0 7 1 55 D 4 6 " / > < / c i m : B r e a k e r > 82 Measurement in RDF <cim:Measurement rdf:ID="_5B22599688AC4DE6B99FD8B13C1BA36F"> <cim:Naming.name>LN 1 MVAr</cim:Naming.name> <cim:Measurement.MeasurementType rdf:resource="#_83D7B035901D4D2E80C040609D5ED7EC"/> <cim:Measurement.Unit rdf:resource="#_61784D3DA1954750A4E09444BE5206CB"/> </cim:Measurement> <cim:MeasurementValue rdf:ID="_FF332A9A82FF43719AAF4E5DAFCFB9CD"> <cim:Naming.aliasName>ICCP ID 24</cim:Naming.aliasName> <cim:Naming.name>MVAr</cim:Naming.name> <cim:MeasurementValue.MeasurementValueSource rdf:resource="#_F0F5BA1CDE23483A8C80D20A4907A272"/> <cim:MeasurementValue.MemberOf_Measurement rdf:resource="#_ 5B22599688AC4DE6B99FD8B13C1BA36F"/></cim:MeasurementValue> 83 Implementation Syntax – WG13 61970 • Part 501 specifies the translation of the CIM in UML form into a machine readable format as expressed in the Extensible Markup Language (XML) representation of that schema using the Resource Description Framework (RDF) Schema specification language – • The resulting CIM RDF schema supports CIM Model Exchange specifications, as presented in IEC 61970-452 and others Part 552 describes the CIM XML format at a level for implementation to support the model exchange requirements in IEC 61970-452 – This standard relies upon the CIM RDF Schema of IEC 61970501 84 Basics: Schema from CIM Power System Data CIM (in UML) UML to RDF Transformers Exporter Enterprise Architect CIM as XML/RDF specifies Schema Power System Data as XML/RDF 85 Key Standards and Related Organizations MultiSpeak TC57 Open Application Group Coordination WG19 (NRECA) CIM/61850 WG14 DMS OLE Process Control (OPC) UCA : User groups EPRI CCAPI Project WG9 Distribution Feeders WG7 Control WG17 Centers WG18 WGs 10 Substations WG13 EMS WG16 W3C EPRI UCA2 Project CIM Object Mgmt. Group ebXML OASIS 86 Where to Get More Information About the CIM and Related Standards • • Visit CIM User Group (CIMug) Web Site – http://cimug.ucaiug.org Single site for gaining access to information about the CIM and related standards – Includes all standards being developed by IEC TC57 Working Groups 13, 14, 16, and 19 • Now provide access to: – – – – – Announcements of CIM-related activities and events Calendar of activities CIM electronic model in various formats Lists of CIM-related tools and access to open source tools Documents that are publicly available • Draft IEC TC57 CIM standards for CIMug members – Lists of the CIMug working groups and works in progress as well as minutes of meetings and conference calls – CIM issues lists and status of resolution – Help desk – Discussion forums – Links to other CIM-related sites 87 Questions? • Contact tsaxton@xtensible.net • Thank you 88 How Are CIM Standards Used? • Unlike most standards we use – Ex: ICCP/TASE.2 Communication Protocol standard – Fixed functionality, very stable, easy to test compliance, but inflexible • CIM standards can be strictly applied and tested for compliance – Ex: CIM/XML Power system model exchange – Product interfaces can be developed and tested for compliance – Subject of several EPRI-sponsored interoperability tests for specific interface definition 90 Example: Power Flow Network Model Exchange Information and Semantic Models Conforms to IEC 61970-301 CIM CIM UML – – Context Conforms to IEC 61970-452, 453, 456, others Model Exchange Profile Reused parts New extensions Power System Model Profile Group Contextual layer restricts information model • Specifies which part of CIM is used for static/dynamic model exchange • Mandatory and optional • Restrictions • But cannot add to information model CIM/RDF Schema File syntax • Can re-label elements • Change associations to define single structure for message payloads • Mappings to various technologies can be defined Message Syntax Conforms to IEC 61970-501 and -552 CIM XML Model Exchange Format Information Model • Defines all concepts needed for exchange of operational load flow models 91 Ex: Power Flow Network Model Exchange Conforms to IEC 61970-301 CIM Concrete Message Conforms to IEC 61970-452 Model Exchange Profile Conforms to IEC 61970-552-4 CIM XML Model Exchange Format CIM UML Information Model • Defines all concepts needed for exchange of operational load flow models – – Profile CIM/XML RDFSchema Reused parts New extensions Contextual layer restricts information model • Specifies which part of CIM is used for static model exchange • Mandatory and optional • Restrictions • But cannot add to information model File syntax • Can re-label elements • Change associations to define single structure for message payloads • Mappings to various technologies can be defined 92 The IEC Standards for Power System Model Exchange • The CIM translated into the industry standard eXtensible Markup Language (XML): – Uses a standard XML format that any EMS can understand using standard Internet and/or Microsoft technologies • IEC 61970 series of standards – Part 301 CIM Base • Specifies UML model – Parts 452 and 456 CIM Model Exchange Specification • Specifies guidelines for the definition of specific profiles (or subsets) of the CIM for particular power system model exchange requirements – Part 501 CIM RDF Schema • Specifies mapping between UML model and XML model using RDF Schema • This was mandated by NERC for exchange of models between Reliability Coordinators – Part 552 CIM XML Model Exchange Format • Specifies simplified RDF Schema and extensions to transfer incremental updates via difference file 93 How Are CIM Standards Used? • Unlike most standards that we are used to – Ex: IDDP/TASE.2 Communication Protocol standard – Fixed functionality, very stable, easy to test compliance, but inflexible • CIM standards can be strictly applied and tested for compliance – Ex: CIM/XML Power system model exchange – Product interfaces can be developed and tested for compliance – Subject of several EPRI-sponsored interoperability tests for specific interface definition • CIM can also be used as a starter kit – Basis for an Enterprise Semantic Model (ESM) which includes other models/semantics from other sources – Ex: Sempra Information Model (SIM) – Interfaces are usually project-defined, so no standard tests – System interfaces are managed and tested for each project 94 GridWise Interoperability Framework Role of CIM 95 Enterprise Semantic Models – CIM + Other Industry Standards Private UML Extensions CIM UML Merge – resolve semantic differences Other Information Models Context Profile Message Syntax Schemas XSD, RDFS, DDL Contextual layer restricts information model • Constrain or modify data types • Cardinality (may make mandatory) • Cannot add to information model Message/data syntax describes format for instance data • Can re-label elements • Change associations to define single structure for message payloads • Mappings to various technologies can be defined 96 Building and Using an ESM for Generating Canonicals (XSDs, DDLs, others) Semantic Formalization Semantic Consistency Existing Terminology and Metadata ClassA ClassB ClassC 3) Generate Canonicals 1) Establish Vocabulary 2) Develop ESM •Control Content •Collaborate •Identify and refine semantics •Model using vocabulary terms •Refine context •Syntactically and semantically consistent canonical models Context Refinement Compliments Xtensible MD3i 97 Role of Enterprise Semantic Model Open Standards Application Information Process Integration Business Intelligence Business Definitions BPM/Workflow Enterprise Semantic Model Enterprise Integration Platforms Applications Metadata 98 Let’s Apply to a Utility Project - Interface Architecture CIM UML Extensions CIM UML Bridge Other Information Models Profile 2 Profile 3 CIM/RDF Schema DDL Context System Interface Design Document Profile 1 Profile 1 Profile 1 Interface Syntax Message XML Schema 99 Ex: Project Interaction Test Conforms to Utility ESM ESM Enterprise Semantic Model • Defines all concepts needed for Enterprise – – Concrete Message Conforms to Profiles defined for each system interaction Conforms to WSDLs and Message XML Schemas Reused parts New extensions for project Profile Contextual layer restricts ESM • Specifies which part of ESM is used for specific system interaction • Mandatory and optional • Restrictions • But cannot add to information model XML Schema File syntax • Can re-label elements • Change associations to define single structure for message payloads • Mappings to various technologies can be defined 100 Project Integration Architecture 101 Data Architecture – Model REFEFENCE MODELS CIM SCHEMAS OTHER Semantic Model SEMPRA MODEL MESSAGES CIS Business Entity Business Entity DB Schema XML Schema Business Entity 102 Use of ESM to Implement a Service Oriented Architecture (SOA) • CAISO designed a new power market system – Multi-year program that involved many vendors, new systems, as well as numerous legacy systems • Includes EMS, Full Network Model, Outage Management, PI Historian, Market Systems, many others • External interfaces to Market Participants included • Integration Competency Center decided on a Service Oriented Architecture (SOA) for the integration framework – Require all new applications and systems to be “Integration Ready” with service-enabled interfaces – Use only standard CAISO-defined services – Payloads based on the CIM – Based on Web services – CIM and Model Driven Integration (MDI) methodology used to define information exchange 103 Interface Examples: Interface Type Example Implemented by Utilized by Description Information Creation submitBid(XML) Vendor Enterprise These interfaces are for creating or modifying information within a system of record. Information Transfer publishCleanBidSet(XML) CAISO Vendor These interfaces are for transferring information and releasing custody. Information Interest receiveCleanBidSet(XML) Vendor EAI These interfaces are implemented by vendors to allow systems to receive information as it becomes available. This indicates a subscription type interest in data. Information Sharing getResourceInfo(XML) XML Vendor Enterprise These interfaces are implemented by the vendors to surface information currently within custody to the enterprise. (Slide from Stipe Fustar, KEMA) 104 Integration Layer System A WS receiveMarketMeterData WS broadcastMarketMeterData WS retrieveMarketMeterData WS receiveMarketMeterData WS PI broadcastMarketMeterData BITS retrieveMarketInterchange broadcastInvoiceData WS receiveInvoiceData WS broadcastGeneralLedgerData WS WS WS broadcastStatusInvoiceData receiveGeneralLedgerData (Slide from Stipe Fustar, KEMA) WS MC 105 (Slide from Stipe Fustar, KEMA) 106 (Slide from Stipe Fustar, KEMA) 107 CAISO Project Statistics 22 Systems • Dispatch System • MP Report Interface • Load Forecast • Transmission Capacity Calculator • Real Time Nodal System • Settlement and Market Clearing • Bid Interface and Validation 7 Vendors • Siemens - Market Systems • ABB - EMS system • Areva - Settlement System • Legacy - CAISO system • Nexant - Congestion Revenue Rights System • MCG - Interchange Scheduling System • Potomac - Default Energy Bids • • • • • • Default Energy Bids Real Time Metering Adjusted Metering Market Participants • • • • – Bidding • – Market Results • – Settlement – Outage Scheduling • – Dispatch Signals • Forward Market Nodal • System EMS OASIS Interchange Scheduling System Congestion Revenue Rights Intermittent Resources Compliance RMR Validation Generation Outage Scheduling Transmission Outage Scheduling Market Quality System (ATF updates) Appr 130 integrations between the 22 systems Appr 75 message schemas Appr 175 service definitions Appr 450 publisher/consumer testable data transfers between systems 108 Pacificorp Use of CIM • PacifiCorp is successfully using CIM to design both interfaces and databases – CIM was adopted in 1999 as PacifiCorp’s application integration standard – Used for both messaging and database design for new projects – Existing interfaces are reworked when the need arises • Model Driven Integration based on the CIM viewed internally as “Best Practice” – – – – Having a common vocabulary reduces semantic misinterpretation Reusing messages minimizes integration costs Minimal knowledge of internal application designs required Xtensible MDI Workbench used for message creation, management, and maintenance • CIM is here to stay – – – – CIM is standard design practice PacifiCorp vendors are getting used to the idea PacifiCorp’s data warehouse is based on the CIM EMS/SCADA system (Ranger) uses a CIM-based data maintenance tool 109 CIM Scorecard – Examples of CIM use Business Units Application/ Project Message(s) CIM Pct of message that is CIM Power Delivery Substation Measurements IntervalRead, SubstationEquipment.Measurement MeasurementList 90% Outage Center Call Handing TroubleCalls, TroubleReportAlerts, TroubleReportDetails, TroubleReportSummary, Customer Info, Customer Balance, Customer Account Balance OutageManagement 80% Retail Access Project RegisterReadRequest, BillDeterminant, CustDrop, Enroll.DACust, EnrollmentChange, NonDACust, Reg.ESSRegister, Register.ESS, ESStatusChange, SESSESSRelationshipChange, RegisterReadResponse, CnIConsumption, DAEnrollConsumption, EnrollmentChange, NonDAEnrollConsumption, ESSStatusChange CustomerMeterDataSet, CustomerServiceAgreement, MeasurmentList, Document, ActivityRecord, CustomerBilling, BillingDeterminant 80% Pole Attachment System FacilityPoint, JointUse.Agreement, JointUse.Attachment, JointUse.Notice, JointNoticeRequest, FacilityPoint AssetList 70% Transmission Planned Outages PlannedOutage.Change PlannedOutageNotification 50% Transmission Wholesale Billing System TransmissionData, STLossData, LTLossData, Scheduling.LoadData, ConsumptionData, InvoiceData Settlement and MarketClearing 70% EMS SCADA WeatherData MeasurementList 100% Transmission 110 CIM Scorecard Cont’d Business Units Application/ Project Message(s) CIM Pct of message that is CIM Power Supply/ Generation Availability Information System GeoThermalPlantGeneration MeasurementList 60% Hydro Information Website FlowDisplay MeasurementList 100% Generation Equipment Performance Work Management SolutionNotification, Performance, SolutionProject, EquipmentGroupRepetitiveTasks, Inventory.StockingPlan, WorkHistoryDocument Work WorkHistory 90% CRS MarkToMarketData MarkToMarket (Not in CIM) 80% California ISO interface EDI810 Settlement 50% Giving Campaign EmployeeDetails, ContributionPayrollDetails Employee (erpPerson) 70% Sarbanes Oxley Audit ChangeAuditReport ChangeAudit (Not in CIM) 90% Commercial & Trading Corporate 111 Addressing Objections to the Use of the CIM Standards • Claim: CIM is not stable – – – • CIM is to complex too learn and contains many parts I do not need – – • Fact: The overall CIM UML model is large and complex Reality: A typical interface requires only very small subset of information model CIM creates too much overhead in message content – – • Fact: The CIM UML model is evolving as new applications are identified Fact: Only small part of CIM information model is used for a given interface, so change of information model unlikely to affect specific interface. Solution: Version control - tie interface designs to project specifications, not directly to standard Fact: Only instantiated concrete class/attributes are actually sent in a message instance Reality: Message payload is no larger than any XML formatted message I don’t want to add in an extra step of converting to CIM for system integration – – Fact: There is an extra step of mapping to CIM for one connection Reality: Consequence of not mapping to a common language is solution that does not scale: • • I can’t expect my vendors to adopt the CIM model for their interface – – • Fact: Only a few parts of the CIM need to be “Known” by the vendor Reality: Approach is to specify the mappings to a common language (CIM) as part of the interface contract I don’t want to convert all my metadata to the CIM – – • n(n-1) instead of 2n connection mappings Fact: CIM is a starter kit Reality: Use CIM as appropriate for building your own ESM – far better than starting from scratch CIM does not contain everything I need or in the form I need for my interfaces – – Fact: CIM UML is extensible Reality: Many utilities still use the CIM as a starting point, using namespaces to maintain traceability 112 CIM Usage • • • Many EMS vendors support power system model exchange using CIM/RDF/XML, some with CIM-based databases behind the scenes EPRI has sponsored 12 interoperability tests for transmission model exchange and service validation and more recently for planning and distribution Utilities have implemented CIM-based integration using EAI technologies – • • • • • • • Asset and work management vendors as well as GIS application vendors are supporting CIM/XSD standards AMI (Smart Meter) projects use IEC 61968 Part 9 for meter related information exchange CIM has been extended into the power market, planning, and dynamic model exchange CIM provides a foundation for Service-Oriented Architecture (SOA) and Web service implementations Vendors have developed tools to build CIM-based information exchange messaging, ESB and OPC interfaces, and repository applications that can process CIM-aware data MultiSpeak is converting to CIM-based UML models and XML ENTSO_E is converting power model exchanges and day-ahead forecasts for planning/operational applications to CIM based format – • Utilities have used the CIM as the basis for developing common messages for integration Second IOP conducted in July 2010 (first was UCTE IOP in March 2009) Many Smart Grid-related activities based on CIM – Separate presentations during week 113 CIM Acceptance • In use at dozens of utilities throughout world – In North America, used at TSOs, RTO/ISOs and NERC as well – In Europe now being adopted by UCTE and TOs • 50+ applications based on CIM • 40+ suppliers sell application/products based on CIM – See CIM Reference List for Details • Endorsed by other standards organizations – Multispeak, Zigbee, HAN, UCTE, etc. • Foundation for information exchange between utilities and/or other external organizations • Foundation for Model-Driven Integration (MDI) architecture based on Enterprise Information Model (EIM) within an enterprise • Key building block in Smart Grid to achieve interoperability • CIM User Group to deal with questions and issues arising from increased use 114 Concluding Remarks • Bottom line: CIM standards are different and much more powerful – Can be applied in many ways – Support many types of functions/applications through combination of reuse and extension – Architecture supports future, unknown applications 115 Questions? • Contact tsaxton@xtensible.net • Thank you 116 Profiles Defined • Equipment – Identifies equipment, describes basic characteristics, and electrical connectivity that would be input to topology processing • Schedules – Describes input to functions that derive parameters for a specific point in time • Measurement Specs – Describes how SCADA will obtain measurements and what equipment objects are measured • Measurement Set Topology The result of topology processing. i.e. Description of how equipment connects into buses and how buses makeup connected systems State Variables This is the set of state variables used in the mathematical formulation that the algorithms work with Schematic Layouts Describes how equipment objects are placed on schematic diagrams Dynamics Adds dynamics to static network – The set of SCADA values for model measurements for a particular point in time Diagram Layout 120 61970 Profile Groups 61970-456 Profile Group Future 6197045x Profile State Variables Measurement Set Dynamic Models Topology 61970-453 Profile Measurement Specifications 61970-452 Profile Group •Provided by Jay Britton Equipment Model Boundary Objects Common Objects Schematic Layouts Schedules 121 Typical Workflow for Model Exchange Equipment Topology State Variables •E1 •T1 •S1 •S2 •T1.1 •Time •E1.1 •S3 •S4 •T1.2 •S5 •T1.3 •S6 •Profile •Full model •DifferentialModel •Predecessor •S7 •S8 •DependsOnModel 122