Download presentation
Presentation is loading. Please wait.
1
CTS – CIM Topology Store
Implementation of an RDF-based versioning system for the CIM using the topology difference model Mathias Uslar Arnhem, Netherlands xx
2
Agenda Adressed problem Use Cases Used technologies
Solving the problem Implementation Results Further work
3
Adressed problem Data must be exchanged between grid providers
Narrowly meshed grids New challenges for utilities Power grids are constantly evolving Changes have to be tracked and made persistent Serializing the grid using XMl leads to bloat High amounts of data Difficult to be validated
4
Use Cases We have identified four main use cases for our system
Regular exchange of full topology models Exchange of partial topology models Recombining partial topologies to create a full one Tracking and versioning topology histories
5
Used technologies – Semantic Web
XML eXtensible Markup Language RDF Resource Description Framework OWL Web Ontology Language SPARQL SPARQL Protocol And RDF Query Language Query language for RDF Semantic Web Stack (Quelle: W3C)
6
Technologies – Common Information Model
Focus: Representing topology data CIM is serialized in RDF Markup of the PsyCor-SmallModel (Source: CIMPhony by Dr. Alan McMorran, University of Strathclyde) <?xml version="1.0" encoding="UTF8"?> <rdf:RDF xmlns:rdf=" xmlns:cim=" <cim:SubControlArea rdf:ID="_1"> <cim:Naming.name>HANGER18</cim:Naming.name> <cim:SubControlArea.HostControlArea rdf:resource="#_14"/> </cim:SubControlArea> <cim:Substation rdf:ID="_2"> <cim:Naming.name>AIRPORT</cim:Naming.name> <cim:Substation.MemberOf_SubControlArea rdf:resource="#_1"/> <cim:Substation.LoadArea rdf:resource="#_15"/> </cim:Substation> <cim:VoltageLevel rdf:ID="_3"> <cim:VoltageLevel.highVoltageLimit>350</cim:VoltageLevel.highVoltageLimit> <cim:VoltageLevel.lowVoltageLimit>340</cim:VoltageLevel.lowVoltageLimit> <cim:Naming.name>VL_AIRP_345</cim:Naming.name> <cim:VoltageLevel.MemberOf_Substation rdf:resource="#_2"/>
7
Solving the problem – the difference model
Evaluating the existing format according to deVos Non-conform to the RDF-standard Uses syntax with insertion and deletion operations Developed and evaluated two new formats Conforming the RDF-standard Evaluating replacement and insertion and deletion approaches Improved parsing for machines More robust due to pre- and postconditions
8
Solving the problem – Difference model
Example: changing a load <cim:EnergyConsumer rdf:ID="_242C8FDFE7334E9BA603449C87D89903"> <cim:Naming.name>BRADFD</cim:Naming.name> <cim:EnergyConsumer.qfixed>0</cim:EnergyConsumer.qfixed> <cim:EnergyConsumer.conformingLoadFlag>true</cim:EnergyConsumer.conformingLoadFlag> <cim:EnergyConsumer.pfixed>0.2</cim:EnergyConsumer.pfixed> <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#_95D88A1500A4E7EB95B01E23C2FEF7D"/> <cim:EnergyConsumer.LoadArea rdf:resource="#_BA B0645A7AC8EA57B6249D537"/> </cim:EnergyConsumer> <cim:EnergyConsumer rdf:ID="_242C8FDFE7334E9BA603449C87D89903"> <cim:Naming.name>BRADFD</cim:Naming.name> <cim:EnergyConsumer.qfixed>0</cim:EnergyConsumer.qfixed> <cim:EnergyConsumer.conformingLoadFlag>true</cim:EnergyConsumer.conformingLoadFlag> <cim:EnergyConsumer.pfixed>0.2</cim:EnergyConsumer.pfixed> <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#_95D88A1500A4E7EB95B01E23C2FEF7D"/> <cim:EnergyConsumer.LoadArea rdf:resource="#_BA B0645A7AC8EA57B6249D537"/> </cim:EnergyConsumer> Differenzformat dahlem <dm:DifferenceModel rdf:about=" <dm:reverseDifferences> <rdf:Statement> <rdf:subject rdf:resource=" <rdf:predicate rdf:resource=" <rdf:object>0.2</rdf:object> </rdf:Statement> </dm:reverseDifferences> <dm:forwardDifferences> <rdf:object>30</rdf:object> </dm:forwardDifferences> </dm:DifferenceModel> Differenzformat nach deVos <dm:DifferenceModel rdf:about=" <dm:forwardDifferences rdf:parseType="Statements"> <rdf:Description rdf:about="#_242C8FDFE7334E9BA603449C87D89903"> <cim:EnergyConsumer.pfixed>30</cim:EnergyConsumer.pfixed> </rdf:Description> </dm:forwardDifferences> <dm:reverseDifferences rdf:parseType="Statements"> <cim:EnergyConsumer.pfixed>0.2</cim:EnergyConsumer.pfixed> </dm:reverseDifferences> </dm:DifferenceModel> Difference format dahlem2 <rdf:Statement> <rdf:subject rdf:resource=" <rdf:predicate rdf:resource=" <rdf:object>30</rdf:object> <dm:replaces> <rdf:object>0.2</rdf:object> </rdf:Statement> </dm:replaces> <cim:EnergyConsumer rdf:ID="_242C8FDFE7334E9BA603449C87D89903"> <cim:Naming.name>BRADFD</cim:Naming.name> <cim:EnergyConsumer.qfixed>0</cim:EnergyConsumer.qfixed> <cim:EnergyConsumer.conformingLoadFlag>true</cim:EnergyConsumer.conformingLoadFlag> <cim:EnergyConsumer.pfixed>30</cim:EnergyConsumer.pfixed> <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#_95D88A1500A4E7EB95B01E23C2FEF7D"/> <cim:EnergyConsumer.LoadArea rdf:resource="#_BA B0645A7AC8EA57B6249D537"/> </cim:EnergyConsumer>
9
Solving the problem – regional model
According to Britton: Designing Model Exchange Processes with CIM and ’RMA Sets’ Three types of regions: Base region Border region Aggregated region Regional model (Source: Britton, Areva T&D
10
Solving the problem – Versioning and SPARQL
Versioning system Absed on the difference format Implements the regional model SPARQL query system Querying of versioned topologies Supports aggregated regions
11
Our solution The new formats are more standard-compliant (RDF), more robust than the existing one and incorporated more information There was no known existing solutions for versioning topologies in CIM (end of 2006) There was no known implementation of the regional model for CIM (end of 2006)
12
Implementation Backend system Web Services Database MySQL Jena
Apache Tomcat Apache Axis Database MySQL Jena RDF-Triple-Store for MySQL Java API SPARQL implementation Command line client VMWare for Windows/Linux System overview (Source: Own graphic)
13
Results Compatibility to other CIM implementations
Interop #6 tests have been passed completetely Improved difference formats: More robust RDF-compliant More information Implementation fo a versioning system and the regional model More functionality: Validating against CPSM (2.0, experimental 3.0) Notification ( , Jabber)
14
Further work Improving the client Keeping data solely as RDF
GUI for endusers Keeping data solely as RDF Technology breach: versioning data is kept in a relational database Benchmarks RDF-Triple-Stores are too slow nowadays SPARQL has a lot potential for improvements „The next SQL“ Current research: DML & DDL, algebra
15
Thanks for listening Time for questions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.