Cimtool training
This presentation is the property of its rightful owner.
Sponsored Links
1 / 106

CIMTool Training PowerPoint PPT Presentation


  • 118 Views
  • Uploaded on
  • Presentation posted in: General

CIMTool Training. Using CIMTool to Validate CIM RDF/XML. Introduction. The purpose of this presentation is to describe the use of CIMTool for the definition of model profiles and the validation of RDF instance files, a.k.a. CIM/XML

Download Presentation

CIMTool Training

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cimtool training

CIMTool Training

Using CIMTool to Validate CIM RDF/XML


Introduction

Introduction

The purpose of this presentation is to describe the use of CIMTool for the definition of model profiles and the validation of RDF instance files, a.k.a. CIM/XML

The use of CIMTool for the development of XML Schemas is out of the scope of this presentation

This presentation is intended to meet the needs of Texas Nodal market participants

CIMTool Training


Contents

Contents

Overview of the CIM, RDF and Profiles

CIMTool and Eclipse

Creating a CIMTool Project

Importing a Schema

Creating and Editing a Profile

Importing a Profile

Importing a Profile from a Data Dictionary

Generating RDF Schemas

Importing a Model

Validating a Model

Importing and Validating an Incremental Model

Updating a Schema

Miscellaneous

CIMTool Training


Cimtool training

CIM, RDF and Profiles

CIMTool Training


What is the cim

What is the CIM?

The Common Information Model (CIM) is a standard for the electric utility industry that is intended to provide an information model that can be used to describe information exchanges

The core CIM is an IEC standard: IEC 61970-301

There are other standards (e.g. IEC 61968 for distribution) that leverage or extend the CIM

The CIM is a UML model composed of packages that describe a unique subject

Each package describes a set of classes

A class describes a set of attributes and relationships with other objects

CIMTool Training


What is rdf

What is RDF?

Resource Descriptor Format (RDF) is an XML dialect that is a W3C recommendation

RDF is used to make statements about resources in the form of subject-predicate-object expressions (called triples)

RDF Schema files describe the classes, attributes and relationships of an information model and typically use a .rdfs extension

RDF instance files describe object instances, and typically use a .xml extension

RDF incremental files describe changes to a set of object instances as described by an instance file, and typically use a .xml extension

CIMTool Training


How is rdf used in cim

How is RDF used in CIM?

IEC 61970-501 describes a ‘Common Information Model Resource Description Framework (CIM RDF) Schema’

IEC 61970-452 describes a ‘CIM Transmission Network Model Exchange Profile’ that leverages RDF

IEC 61970-552-4 describes ‘CIM XML Model Exchange Format’

CIMTool Training


Rdf statements

RDF Statements

Value

Resource

(instance)

Property

or

Resource

CIMTool Training


Universal resource identifier uri

Universal Resource Identifier (URI)

Resources are identifies using URIs

A URI identifies either:

  • A name (URN)

  • A location (URL)

    A portion of a URI is identified by a URI and a fragment:

  • URI#fragment

    Four forms/combinations:

  • Full (e.g. http://myuri.org/ontology#fragment) or relative (e.g. myuri.org/ontology#fragment)

  • With or without fragment

9

CIMTool Training


Rdf s syntax

RDF(S) Syntax

Schema file:

  • Class: Used in RDF Schema to define a new class

  • Resource: Root class for all resources

  • Property: Class of all properties

  • Datatype: Identifies data types

  • subClassOf: Specializes a class

  • range: Limits the valuesof a property

  • type: Identifies the class of an individual

  • about: Describes an existing resource

  • Description: Used for property/value pairs about a resource

    Instance file:

  • ID: Identifies a new resource

  • about: Describes an existing resource

  • Description: Used for property/value pairs about a resource

CIMTool Training


Cim xml

CIM XML

Schemas: Describe the model in terms of classes, associations and properties are defined using RDF

Instance files: Describe objects that make up an electrical network in accordance with the RDF schema

Incremental files: Describe the changes to an instance file in terms of additions and deletions in both forward and reverse directions

CIMTool Training


Instance rdf example

Instance RDF Example

<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/CIM-generic#">

<cim:IEC61970CIMVersion rdf:ID="_301">

<cim:IEC61970CIMVersion.version>cim6197011v09</cim:IEC61970CIMVersion.version>

<cim:IEC61970CIMVersion.date>2007-06-12</cim:IEC61970CIMVersion.date>

</cim:IEC61970CIMVersion>

<cim:ACLineSegment rdf:ID="_7814201">

<cim:Conductor.gch>0</cim:Conductor.gch>

<cim:Conductor.bch>.0002914</cim:Conductor.bch>

<cim:Conductor.r>3.416</cim:Conductor.r>

<cim:Conductor.x>27.749</cim:Conductor.x>

<cim:Conductor.length>95</cim:Conductor.length>

<cim:IdentifiedObject.name>AMHE400MARCLINE</cim:IdentifiedObject.name>

<cim:IdentifiedObject.localName>SEG1</cim:IdentifiedObject.localName>

<cim:ConductingEquipment.BaseVoltage rdf:resource="#_400000302"/>

<cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#_487038201"/>

</cim:ACLineSegment>

<cim:ACLineSegment rdf:ID="_7842201">

<cim:Conductor.gch>0</cim:Conductor.gch>

<cim:Conductor.bch>.0003356</cim:Conductor.bch>

<cim:Conductor.r>3.926</cim:Conductor.r>

<cim:Conductor.x>31.986</cim:Conductor.x>

<cim:Conductor.length>100</cim:Conductor.length>

<cim:IdentifiedObject.name>AMHE400BOWMLINE</cim:IdentifiedObject.name>

<cim:IdentifiedObject.localName>SEG1</cim:IdentifiedObject.localName>

<cim:ConductingEquipment.BaseVoltage rdf:resource="#_400000302"/>

<cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#_487036201"/>

</cim:ACLineSegment>

CIMTool Training


Incremental rdf example

Incremental RDF Example

<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2007/CIM-schema-cim12#" xmlns:dm="http://iec.ch/2002/schema/CIM_difference_model#">

<dm:DifferenceModel rdf:about="">

<dm:reverseDifferences rdf:parseType="Statements" xml:base="ABB40bus">

<rdf:Description rdf:about="#_7842201">

<cim:Conductor.r>3.926</cim:Conductor.r>

<cim:Conductor.x>31.986</cim:Conductor.x>

</rdf:Description>

</dm:reverseDifferences>

<dm:forwardDifferences rdf:parseType="Statements" xml:base="ABB40bus">

<rdf:Description rdf:about="#_7842201">

<cim:Conductor.r>3.93</cim:Conductor.r>

<cim:Conductor.x>31.99</cim:Conductor.x>

</rdf:Description>

<cim:Substation rdf:ID="_789133201">

<cim:IdentifiedObject.localName>CIMT</cim:IdentifiedObject.localName>

<cim:IdentifiedObject.name>CIMTEST</cim:IdentifiedObject.name>

</cim:Substation>

</dm:forwardDifferences>

</dm:DifferenceModel>

</rdf:RDF>

CIMTool Training


What is a profile

What is a Profile?

The set of classes, attributes and relationships in a profile is a subset of the classes, attributes and relationships found in a schema

The cardinality of a relationship in a profile is either the same or more restrictive than the relationship in the schema

A profile is often given a name (e.g. CPSM)

Each profile will have an assigned namespace

Profiles are also known as ‘contextual models’

Within CIMTool, profiles are managed using an OWL format, where a .owl extension is used

Important to note that OWL is based upon RDF

Profiles can be realized in a variety of forms, including but not limited to RDFS, XML Schema and HTML

CIMTool Training


Information models and profiles

Information Models and Profiles

CIMTool Training


Cimtool and eclipse

CIMTool and Eclipse

CIMTool Training


What is cimtool

What is CIMTool?

CIMTool is an Eclipse plugin

It provides the means to:

Define profiles from a UML model

Import profiles from a spreadsheet

Validate profiles

Validate instance files against a profile

Validate incremental files against an instance file and a profile

Generate XML schemas from a profile

Generate RDF schemas from a profile

… and more

CIMTool Training


What is eclipse

What is Eclipse?

Eclipse is a freely available, open source, integrated development environment (IDE) found at http://eclipse.org

Think of Eclipse as a ‘workbench’

Eclipse is most commonly used for enterprise software development using Java, but it is extendible

Eclipse capabilities are extended by a wide number of available ‘plug-ins’, developed by a wide number of sources

Plugins available include:

  • CIMTool

  • XML Schema Editor

  • UML Editors

  • C, C++ compilers

  • … and much, much more

    Many commercial products are now delivered as Eclipse plug-ins

CIMTool Training


Preparation for installation

Preparation for Installation

You should have a PC running a recent version of Windows, Linux or Mac OS, with at least 1GB memory

Recommend at least 2GB free disk space (much more is recommended if you will be working with large CIM network models)

You need an internet connection, noting that there may be 200MB of downloads required for installation

CIMTool Training


Installation options

Installation Options

  • Install CIMTool and all of the necessary components in one step

    • Easiest approach if you do not have Java or Eclipse already installed

  • Install Java, Eclipse and then CIMTool

    • In the case where you may have Java and Eclipse already installed and need to install each component separately

      Note: In some corporate environments, firewalls and security processes may prevent a user from performing some of these steps. Consult your IT organization if you have trouble performing any of these steps. In particular, the Eclipse update facility does not work through many firewalls. For this reason, the one step version is more likely to work without assistance.

CIMTool Training


Installing java and eclipse

Installing Java and Eclipse

Java:

  • You need a Java runtime environment (JRE)

  • Java 5 JRE is currently recommended

  • If you don’t have one you can download from http://java.com

    Eclipse:

  • Go to http://eclipse.org

  • Click on ‘Download Eclipse’

  • Pick a package to download, recommend ‘Eclipse Classic’ for Windows

  • You be prompted to download a zip from a mirror site, pick any one and save the zip file

  • Once the Eclipse zip file is downloaded, unzip (go to http://winzip.com if you don’t have an unzipper) it into a directory such as C:\eclipse

  • Create a desktop shortcut to the executable, e.g. C:\eclipse\eclipse.exe

CIMTool Training


Starting eclipse

Starting Eclipse

Click on the Eclipse icon

The Eclipse startup dialog will appear

Define a ‘workspace’ directory when prompted

From the ‘Welcome’ page, click the ‘Go to the workbench’ icon (this page is often different on different versions)

The workbench view will then appear

CIMTool Training


Eclipse workbench

Eclipse Workbench

Initial default view before any projects are created

Default installation supports Java development

Help button is the key to adding new plug-ins to Eclipse

The Package Explorer shows files and folders that exist in your workspace directory

CIMTool Training


Eclipse hints and tips

Eclipse Hints and Tips

Updates

Where the current version of Eclipse is 3.3.2, there are occasionally updates that may be of interest

Eclipse can be updated using the ‘Help>Software Updates’ menu

IDE

Until you add specific plug-ins, Eclipse is primarily a Java integrated development environment (IDE)

Views, Frames and Tabs

You can change views using ‘Window>Show View’

You may change the arrangement of frames within the work bench

You may have multiple files open at once, and switch between them using the tabs provided

CIMTool Training


Eclipse hints and tips1

Eclipse Hints and Tips

Files, Packages and Workspaces

When you double-click on a file in the package explorer, it will be opened in the main work area frame

It is important that you never add, modify or delete anything inside a workspace directory with tools other than Eclipse

If there is ever a ‘resource out of sync’ problem, you can usually correct by using the ‘refresh’ option

You may however safely read files directly from the workspace folder if needed

CIMTool Training


Eclipse plug ins

Eclipse Plug-Ins

Plug-ins provide capabilities to import, export, view, edit, process and/or create different types of files

Eclipse plug-ins can be installed and updated from remote sites

Eclipse is preconfigured with a set of remote sites where additional plug-ins can be found

Other remote sites of particular interest include:

CIMTool

Provides the ability to use CIM models, schemas and profiles

See http://cimtool.org for more information beyond what is covered in this presentation

Add a new remote site for CIMTool at http://files.cimtool.org

hyperModel

Provides UML diagrams

See http://xmlmodeling.com for details

Add a new remote site for hyperModel at http://download.xmlmodeling.com/hyperModel/dev/updates/site.xml

CIMTool Training


Installing cimtool

Installing CIMTool

CIMTool is installed as a plug-in from a remote site

Using the Eclipse update facility:

  • Start Eclipse

  • Find the update facility in the menus: ‘Help > Software Updates > Find and Install...’

  • Select ‘Search for new features to install’ option and then select ‘Next’

  • Select ‘New Remote Site …’

  • On ‘New Update Site’ dialog set name=‘CIMTool’ and URL=‘http://files.cimtool.org’, then click ‘OK’

  • Verify that the new site is now in the list and checked, and then click ‘Finish’

  • On ‘Search Results’ dialog, check the box for CIMTool and then click ‘Next’

  • Accept the license terms and click ‘Next’

  • Click ‘Finish’ and wait for download to complete

  • On ‘Feature Verification’ dialog select ‘Install All’ and wait

  • When asked to restart Eclipse, click ‘Yes’

  • Eclipse will then restart with the latest CIMTool plug-in installed

CIMTool Training


Creating a cimtool project

Creating a CIMTool Project

CIMTool Training


Cimtool projects

CIMTool Projects

Each Eclipse project has a named folder in the Eclipse workspace directory

Each CIMTool project will have four sub-folders:

Incremental: for CIM XML incremental files in RDF format with a .xml extension

Instances: for CIM XML instance files in RDF format with a .xml extension

Profiles: for profile definitions, where

Profile definitions are stored in an OWL format

Log files, which may identify errors, are text files with a .log extension

Depending upon the usage of CIMTool, there may also be HTML, RDFS and XSD files

Schema: for the CIM model in XMI format with a .xmi extension

Folders and files that have errors may include a red X on their associated icon

CIMTool Training


Creating a new cimtool project

Creating a New CIMTool Project

Select ‘File > New > Project’

Select ‘CIMTool Project’ option

Click ‘Next’

CIMTool Training


Creating a new cimtool project1

Creating a New CIMTool Project

Name it – e.g. ‘ERCOT18’

Click ‘Finish’

This will create a new folder in your workspace directory

CIMTool Training


Browsing the project

Browsing the Project

Click on arrow to the left of the desired project name in the Project Explorer to expand it

See that project has a set of empty folders: Incremental, Instances, Profiles, Schema

You can expand project sub-folders to see contents

CIMTool Training


Importing a schema

Importing a Schema

CIMTool Training


Importing a schema1

Importing a Schema

Schemas describe the classes, attributes and relationships defined by a UML model

Anything defined by a profile MUST be described within the UML model

Schemas must be in a suitable XMI format for import

The XMI files are typically generated from the CIM UML model created/maintained using Rose or Enterprise Architect

Schemas will be stored in the ‘Schema’ folder of the project

There is typically one schema for a project, although there are cases where there may be more than one

CIMTool Training


Schema in a uml tool

Schema in a UML Tool

CIMTool Training


Exporting uml model as xmi

Exporting UML Model as XMI

In Enterprise Architect select the top-level package

Select Project > Import/Export > Export Package to XMI

CIMTool Training


Exporting xmi from uml tool

Exporting XMI from UML Tool

Use export options shown to the right

Export as UML 1.4

Unselect ‘Enable full EA Roundtrip’

Select ‘Unisys/Rose format’ option

Enter file name for XMI file

Click on Export button

CIMTool Training


Schema import within cimtool

Schema Import within CIMTool

Schemas are imported when creating a new CIMTool project

Schemas can also be added to supplement an existing schema

Schemas can also replace an existing schema, as in the case of a new CIM version

CIMTool Training


Initial schema import

Initial Schema Import

Select ‘File > Import’

Note the different import options under CIMTool

Select ‘Import Schema’ option

Click ‘Next’

CIMTool Training


Initial schema import1

Initial Schema Import

Browser to find XMI file to import

Check the project into which it is to be imported

Edit namespace (if necessary)

Click ‘Finish’

CIMTool Training


Browsing the project1

Browsing the Project

In Project Explorer, click on arrow to the left of project name to expand it

Click on arrow to the left of Schema to expand it

Note that schema is now present

Right click on the file name to see properties and options

CIMTool Training


Browsing the project model

Browsing the Project Model

Project Model tab can be opened from Window > Show View > Other… and then by picking CIMTool/Project Model option

The contents of the model as defined by the schema can then be viewed

CIMTool Training


Key icons used within cimtool

Key Icons Used Within CIMTool

CIMTool Training


Creating and editing a profile

Creating and Editing a Profile

CIMTool Training


Creating a new profile

Creating a New Profile

There are three ways to create a new profile:

Create it from scratch within CIMTool

Import an OWL profile previously constructed using CIMTool

Import the profile from a data dictionary spreadsheet

Once created, profiles are stored in the ‘Profiles’ folder of the project

A project may have many profiles

Each profile will have a namespace

This following slides describe the creation of a new profile using the edit capabilities within CIMTool

CIMTool Training


Creating a new profile1

Creating a New Profile

Select ‘File > New > Other …’

CIMTool Training


Creating a new profile2

Creating a New Profile

Select ‘CIMTool Profile’ option

Click ‘Next’

CIMTool Training


Creating a new profile3

Creating a New Profile

Click on checkbox for the desired project

Assign a profile name (e.g. ERCOT18)

Update namespace (if necessary)

Click ‘Finish’

CIMTool Training


Browsing the project2

Browsing the Project

Click on arrows in Project Explorer frame to expand folders

Double click on the <profile>.owl file name in the Project Explorer to open it

Click on the profile name in the Outline window

In the Project Explorer frame you can always right click on a file name to see options

CIMTool Training


Adding classes to profile

Adding Classes to Profile

First step is to add classes to profile

Can browse through model on the right side of the Add/Remove tab

Can select one or more classes on right side of Add/remove tab

Classes are moved by clicking on <

CIMTool Training


Adding a property to a profile

Adding a Property to a Profile

Click on a class in the Outline

Properties are shown on the right side of the Profile Add/Remove tab

Click on property name on right side

Click on ‘<‘ to move property to left side

CIMTool Training


Adding a property to a profile1

Adding a Property to a Profile

View after property is moved

New profile property is seen on Outline view and the left side of the Add/Remove tab

You can remove properties by using the >

CIMTool Training


Adding a property to profile

Adding a Property to Profile

Can move more than one property at a time

CIMTool Training


Adding a property to profile1

Adding a Property to Profile

View after multiple properties are moved

CIMTool Training


Importing a profile

Importing a Profile

CIMTool Training


Importing a profile1

Importing a Profile

Sometimes it is desirable to use another profile definition as a starting point for a profile definition

CIMTool saves profile definitions in an OWL format

Profile definitions from another project or workspace can be imported to create new profiles

CIMTool Training


Importing profiles into cimtool

Importing Profiles into CIMTool

Select ‘File > Import’

Note the different import options under CIMTool

On ‘Import’ dialog select ‘CIMTool – Import Profile’ option

Check the project to import into

Browse to find the file to import

Click ‘Next’

CIMTool Training


Importing profile from data dictionary

Importing Profile from Data Dictionary

CIMTool Training


Importing profiles

Importing Profiles

The Siemens IMM product can generate a Data Dictionary in the form of an Excel spreadsheet

The spreadsheet can define one or more profiles

Note that the spreadsheet can be maintained independently of any particular product

The Data Dictionary defines the classes, attributes and relationships that comprise one or more profiles

This can be imported into CIMTool to define a profile

CIMTool Training


Data dictionary

Data Dictionary

Siemens IMM can generate an Excel spreadsheet that describes the contents of one or more profiles

Tabs exist for Classes, Attributes, Associations, Data types, Enumerations and Units

CIMTool Training


Importing spreadsheet

Importing Spreadsheet

Can import the Data Dictionary spreadsheet as a profile

File>Import

Select ‘Import Spreadsheet as Profile’ option

CIMTool Training


Importing spreadsheet1

Importing Spreadsheet

The spreadsheet may identify one or more profiles

Can select which profiles to construct

Can only construct one at a time

CIMTool Training


Importing spreadsheet2

Importing Spreadsheet

Need to identify the project in which the profile will be created

The name of the profile is set by default, but can be modified

CIMTool Training


Importing spreadsheet3

Importing Spreadsheet

New profile (.owl file) is created if there are not fatal errors

A log file is created that identifies any errors

CIMTool Training


Importing spreadsheet4

Importing Spreadsheet

A log file (.log) is generated with the profile to identify errors, if any

The log file identifies what could not be found for inclusion into the profile definition

CIMTool Training


Extending the spreadsheet

Extending the Spreadsheet

You can also create a new profile definition in the spreadsheet for import into CIMTool using the following steps:

Insert new profile columns into the ‘Classes’, ‘Attributes’ and ‘Associations’ tabs

Provide the same profile name on row one of each of the added columns

Set the value of each new cell to ‘TRUE’ or ‘FALSE’

Run the spreadsheet import process as described previously

Look for errors in the log file

CIMTool Training


Generating rdf schemas

Generating RDF Schemas

CIMTool Training


Generating rdf schemas1

Generating RDF Schemas

Load the desired profile

Select the ‘Summary’ tab

CIMTool Training


Generating rdf schemas2

Generating RDF Schemas

Check ‘Builder for legacy-rdfs’

Check any other desired builder options

Click on ‘File>Save’

CIMTool Training


Generated rdf schema

Generated RDF Schema

To view the actual RDFS, right click file name in Project Explorer

Then select ‘Open With > Text Editor’ option

CIMTool Training


Example rdf schema

Example RDF Schema

<?xml version="1.0"?>

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:j.0="http://iec.ch/TC57/CIM-generic#"

xmlns:cims="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#"

xmlns:j.1="http://langdale.com.au/2005/UML#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<rdf:Property rdf:about="http://iec.ch/TC57/CIM-generic#Conductor.bch">

<j.1:hasStereotype rdf:resource="http://langdale.com.au/2005/UML#attribute"/>

<rdfs:comment>Positive sequence shunt (charging) susceptance, uniformly distributed, of the entire line section.</rdfs:comment>

<rdfs:label>bch</rdfs:label>

<cims:dataType>

<rdfs:Class rdf:about="http://iec.ch/TC57/CIM-generic#Susceptance"/>

</cims:dataType>

<rdfs:domain>

<rdfs:Class rdf:about="http://iec.ch/TC57/CIM-generic#Conductor"/>

</rdfs:domain>

<cims:multiplicity rdf:resource="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#M:0..1"/>

</rdf:Property>

<rdf:Property rdf:about="http://iec.ch/TC57/CIM-generic#Load.mWColdPickUpFactor">

<j.1:hasStereotype rdf:resource="http://langdale.com.au/2005/UML#attribute"/>

<rdfs:comment>The amount of nominal feeder MW that is picked up cold, in percent.</rdfs:comment>

<rdfs:label>mWColdPickUpFactor</rdfs:label>

<cims:dataType>

<rdfs:Class rdf:about="http://iec.ch/TC57/CIM-generic#PerCent"/>

</cims:dataType>

<rdfs:domain>

<rdfs:Class rdf:about="http://iec.ch/TC57/CIM-generic#Load"/>

</rdfs:domain>

<cims:multiplicity rdf:resource="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#M:0..1"/>

</rdf:Property>

CIMTool Training


Cimtool output options

CIMTool Output Options

CIMTool can generate several ‘styles’ of RDF or OWL as outputs for profile definitions, including:

Legacy RDFS (currently the most commonly used)

Legacy nested RDFS

Simple OWL

Simple nested OWL

Where the following slides provide examples of each style, the Legacy RDFS style is currently the most commonly used

CIMTool can also generate XML Schemas and HTML as outputs, although the details and options for XSD generation are outside the scope of this presentation

CIMTool Training


Legacy rdfs

Legacy RDFS

<?xml version="1.0"?>

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:j.0="http://iec.ch/TC57/CIM-generic#"

xmlns:cims="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#"

xmlns:j.1="http://langdale.com.au/2005/UML#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >

<rdf:Description rdf:about="http://iec.ch/TC57/CIM-generic#SynchronousMachine.x">

<j.1:hasStereotype rdf:resource="http://langdale.com.au/2005/UML#attribute"/>

<rdfs:comment>Positive sequence reactance of the synchronous machine.</rdfs:comment>

<rdfs:label>x</rdfs:label>

<cims:dataType rdf:resource="http://iec.ch/TC57/CIM-generic#Reactance"/>

<rdfs:domain rdf:resource="http://iec.ch/TC57/CIM-generic#SynchronousMachine"/>

<cims:multiplicity rdf:resource="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#M:0..1"/>

<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>

</rdf:Description>

<rdf:Description rdf:about="http://iec.ch/TC57/CIM-generic#PenaltyFactor">

<rdfs:comment>Defined as: 1 / ( 1 - Incremental Transmission Loss); with the Incremental Transmission Loss expressed as a plus or minus value. The typical range of penalty factors is (0.9 to 1.1).</rdfs:comment>

<rdfs:label>PenaltyFactor</rdfs:label>

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>

</rdf:Description>

<rdf:Description rdf:about="http://iec.ch/TC57/CIM-generic#TransformerWinding">

<rdfs:subClassOf rdf:resource="http://iec.ch/TC57/CIM-generic#ConductingEquipment"/>

<cims:belongsToCategory rdf:resource="http://iec.ch/TC57/CIM-generic#Package_CIMWires"/>

<rdfs:comment>A winding is associated with each defined terminal of a transformer (or phase shifter).</rdfs:comment>

<rdfs:label>TransformerWinding</rdfs:label>

<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>

</rdf:Description>

CIMTool Training


Nested legacy rdfs

Nested Legacy RDFS

<?xml version="1.0"?>

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:j.0="http://iec.ch/TC57/CIM-generic#"

xmlns:cims="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#"

xmlns:j.1="http://langdale.com.au/2005/UML#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<rdf:Property rdf:about="http://iec.ch/TC57/CIM-generic#Load.mWColdPickUpFactor">

<j.1:hasStereotype rdf:resource="http://langdale.com.au/2005/UML#attribute"/>

<rdfs:comment>The amount of nominal feeder MW that is picked up cold, in percent.</rdfs:comment>

<rdfs:label>mWColdPickUpFactor</rdfs:label>

<cims:dataType>

<rdfs:Class rdf:about="http://iec.ch/TC57/CIM-generic#PerCent"/>

</cims:dataType>

<rdfs:domain>

<rdfs:Class rdf:about="http://iec.ch/TC57/CIM-generic#Load"/>

</rdfs:domain>

<cims:multiplicity rdf:resource="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#M:0..1"/>

</rdf:Property>

<rdf:Property rdf:about="http://iec.ch/TC57/CIM-generic#SynchronousMachine.x">

<j.1:hasStereotype rdf:resource="http://langdale.com.au/2005/UML#attribute"/>

<rdfs:comment>Positive sequence reactance of the synchronous machine.</rdfs:comment>

<rdfs:label>x</rdfs:label>

<cims:dataType>

<rdfs:Class rdf:about="http://iec.ch/TC57/CIM-generic#Reactance"/>

</cims:dataType>

<rdfs:domain>

<rdfs:Class rdf:about="http://iec.ch/TC57/CIM-generic#SynchronousMachine"/>

</rdfs:domain>

<cims:multiplicity rdf:resource="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#M:0..1"/>

</rdf:Property>

CIMTool Training


Simple owl

Simple OWL

<?xml version="1.0"?>

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:j.0="http://iec.ch/TC57/CIM-generic#"

xmlns:owl="http://www.w3.org/2002/07/owl#"

xmlns:uml="http://langdale.com.au/2005/UML#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >

<rdf:Description rdf:nodeID="A0">

<owl:onProperty rdf:resource="http://iec.ch/TC57/CIM-generic#ShuntCompensator.maximumkV"/>

<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:maxCardinality>

<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>

</rdf:Description>

<rdf:Description rdf:nodeID="A1">

<owl:onProperty rdf:resource="http://iec.ch/TC57/CIM-generic#GeneratingUnit.baseMW"/>

<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:maxCardinality>

<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>

</rdf:Description>

<rdf:Description rdf:nodeID="A2">

<owl:onProperty rdf:resource="http://iec.ch/TC57/CIM-generic#IdentifiedObject.aliasName"/>

<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</owl:maxCardinality>

<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>

</rdf:Description>

<rdf:Description rdf:about="http://iec.ch/TC57/CIM-generic#SynchronousMachine.x">

<uml:hasStereotype rdf:resource="http://langdale.com.au/2005/UML#attribute"/>

<rdfs:comment>Positive sequence reactance of the synchronous machine.</rdfs:comment>

<rdfs:label>x</rdfs:label>

<rdfs:subPropertyOf rdf:resource="http://iec.ch/TC57/CIM-generic#Reactance"/>

<rdfs:domain rdf:resource="http://iec.ch/TC57/CIM-generic#SynchronousMachine"/>

<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>

</rdf:Description>

CIMTool Training


Nested simple owl

Nested Simple OWL

<?xml version="1.0"?>

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:j.0="http://iec.ch/TC57/CIM-generic#"

xmlns:owl="http://www.w3.org/2002/07/owl#"

xmlns:uml="http://langdale.com.au/2005/UML#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<owl:Class rdf:about="http://iec.ch/TC57/CIM-generic#RegularTimePoint">

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty>

<owl:DatatypeProperty rdf:about="http://iec.ch/TC57/CIM-generic#RegularTimePoint.sequenceNumber"/>

</owl:onProperty>

<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"

>1</owl:maxCardinality>

</owl:Restriction>

</rdfs:subClassOf>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty>

<owl:DatatypeProperty rdf:about="http://iec.ch/TC57/CIM-generic#RegularTimePoint.value1"/>

</owl:onProperty>

<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"

>1</owl:maxCardinality>

</owl:Restriction>

</rdfs:subClassOf>

CIMTool Training


Html documentation

HTML Documentation

HTML option generates a single HTML file with description of all classes

Hyperlinks allow navigation between class descriptions and type definitions

CIMTool Training


Importing a model

Importing a Model

CIMTool Training


Importing a model1

Importing a Model

In order to validate a model, it must first be imported

Model files to be imported are in a CIM/XML RDF format with a .xml extension

Model files can be very large, as much as 2GB in size

The import process can take many minutes

The resulting model is placed in the ‘Instances’ folder of the project

CIMTool Training


Importing a model2

Importing a Model

Select ‘File > Import’

Note the different import options under CIMTool

On ‘Import’ dialog select ‘Import Model (CIM/XML file)’ option

Click ‘Next’

Check the project to import into

Browse to find the file to import

Revise the namespace URI as appropriate (e.g. http://iec.ch/TC57/CIM-generic# )

Select an appropriate profile

Click ‘Next’

CIMTool Training


Importing a model3

Importing a Model

Change the file name if you wish to save to a different sub folder

Check ‘Replace existing model’ if you wish to overwrite

Click ‘Finish’

Wait for the import to complete, as it may take several minutes (up to an hour for a very large model)

Watch the progress icon at the bottom of Eclipse where it says ‘Importing model …’

CIMTool Training


Imported model

Imported Model

The imported RDF model is stored within the Instances folder of the project

Errors are recorded in log files

A folder is created to store the model in typically many smaller files that have a .ttl extension

The .ttl files are in Terse RDF Triple Language format (more compact than CIM XML)

@prefix : <http://iec.ch/TC57/2007/network#> .

@prefix local: <http://langdale.com.au/2007/SplitModel/local212a30f0#> .

@prefix split: <http://langdale.com.au/2007/SplitModel#> .

@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

@prefix cim: <http://iec.ch/TC57/2006/CIM-schema-cim10#> .

@prefix spc: <http://www.siemens-ptd/SHIMM1.0#> .

@prefix etx: <http://www.ercot.com/CIM11R0/2007/1.8/extension#> .

split:document split:hasHash """118"""^^xsd:integer .

split:document split:hasModulus """128"""^^xsd:integer .

:_e2cab9b4-41dc-41f4-bb8e-9e9f6a4a53bf rdf:type cim:Company .

:_e2cab9b4-41dc-41f4-bb8e-9e9f6a4a53bf cim:IdentifiedObject.name """ACN ENERGY INC (LSE)""" .

:_e2cab9b4-41dc-41f4-bb8e-9e9f6a4a53bf etx:Company.DUNS """81791134""" .

:_e2cab9b4-41dc-41f4-bb8e-9e9f6a4a53bf cim:IdentifiedObject.aliasName """""" .

:_2d21e40e-5b73-4f03-b275-bc56b22fb981 rdf:type cim:Company .

CIMTool Training


Validating a model

Validating a Model

CIMTool Training


Validating a model1

Validating a Model

Validation of the model occurs when a model is imported

Errors are identified in log files in the ‘Instances’ folder of the project with a name in the form <profile>.log

If errors exist, a diagnostic file is created which can be browsed

CIMTool has a default set of validation rules, where the rule file is named <profile>.split-rules

Rules can be edited and extended

CIMTool Training


Example validation errors

Example Validation Errors

Undefined classes

Undefined properties

Instantiation of abstract classes

Illegal cardinality on an association (e.g. more or less associations than expected)

Range violation for a data item

Illegal domain of a property

Base voltages for conducting equipment connected at a connectivity node do not agree

Isolated nodes

Untyped objects

Missing or extra terminal

Duplicate properties

Unexpected loop

CIMTool Training


Browsing diagnostic file

Browsing Diagnostic File

CIMTool Training


Creating validation rules

Creating Validation Rules

Select File > New > Other

Pick CIMTool Validation Rules option

Click Next

Pick the Project and Profile

Recommended to copy standard rules

A new rules file for the profile is created

The rule file can be edited using the text editor

CIMTool Training


Editing validation rules

Editing Validation Rules

Rules file is opened for editing by right clicking on the rule file in the Project Explorer and then using Open with > Text Editor

CIMTool Training


Validation rule language

Validation Rule Language

Rules are in the form:

Problem( … ) <- clause1 clause2 clause3

This is an extension of the Jena rule language

Example rule to test that connectivity node is referenced by at least two terminals:

[ -> [ problem("Isolated node" topol:ConnectivityNode "expect two or more terminals. Subject" ?n "has less.") <- (?n rdf:type topol:ConnectivityNode) countLessThan(2 * topol:Terminal.ConnectivityNode ?n)]]

CIMTool Training


Importing and validating an incremental model

Importing and Validating an Incremental Model

CIMTool Training


Importing incremental cim xml

Importing Incremental CIM/XML

First step is to import an incremental CIM/XML file using File > Import and then select CIMTool/Import Incremental CIM/XML file

CIMTool Training


Importing incremental cim xml1

Importing Incremental CIM/XML

Must have imported a base instance model BEFORE attempting this

Need to browse to select file

Be sure to set namespace URI (e.g. http://iec.ch/TC57/CIM-generic# )

Need to select the appropriate base model

Errors will be reported in a log file

CIMTool Training


Validating an incremental model

Validating an Incremental Model

Validation occurs when the model is imported

Errors are identified in log files in the ‘Incremental’ folder of the project with a name in the form <profile>.log

If errors exist, a diagnostic file is created which can be browsed

CIMTool Training


Browsing diagnostic file1

Browsing Diagnostic File

CIMTool Training


Updating a schema

Updating a Schema

CIMTool Training


Updating a schema in cimtool

Updating a Schema in CIMTool

From time to time, there may be updates to the UML model. These updates will result in a revised XMI file

You should not directly replace a file in a Eclipse/CIMTool workspace

You should instead, using Eclipse File menu options:

  • Delete the old schema

  • Import the new schema

    Be sure that the correct namespace is entered

CIMTool Training


Namespaces

Namespaces

A commonly used namespace is http://iec.ch/TC57/CIM-generic#

If namespaces do not match between schema, profiles and the model files errors may be encountered

Default namespaces to be used by CIMTool can be changed using Window > Preferences and selecting CIMTool option

CIMTool Training


Changing namespaces

Changing Namespaces

Namespaces can be changed by right clicking on a file name in the Project Explorer and then selecting ‘properties’

The namespace is shown on the CIMTool property dialog

Namespace can be changed as desired

Note that this may impact existing profile definitions

CIMTool Training


Miscellaneous

Miscellaneous

CIMTool Training


Exporting a project

Exporting a Project

It is often necessary to export a project for use by others, or use on other computers

Use File > Export

Select Archive File option

Select Next

CIMTool Training


Exporting a project1

Exporting a Project

Need to select output format, ZIP is usually best

Need to select output file name

Project can be later imported back into Eclipse using File > Import

CIMTool Training


Switching workspaces

Switching Workspaces

Sometimes it is necessary to move or change the location of your workspace folder, or to use multiple workspaces

To point Eclipse to the new workspace folder use File > Switch Workspace

Select the desired workspace folder

Eclipse will then update settings and restart

CIMTool Training


Renaming resources

Renaming Resources

Sometimes it is necessary to rename projects, folders within a project or files within a folder

It is important to do this using Eclipse, instead of directly making changes to the resource outside of Eclipse

To rename, right click on the desired resource in the Project Explorer and select ‘Rename’

Now you can change the name of the resource

CIMTool Training


Changing cimtool preferences

Changing CIMTool Preferences

Preferences can be changed using Window > Preferences and selecting CIMTool option

Select ‘Apply’ and ‘OK’ after editing to save

CIMTool Training


Cimtool and eclipse updates

CIMTool and Eclipse Updates

Occasionally there will be updates to Eclipse and plugins like CIMTool

Use Help > Software Updates > Find and Install

The search for Updates option may take some time

A quicker option to just update CIMTool is to use the Search for New Features to Install option

CIMTool Training


Where do i get

Where Do I Get …

CIMTool and Eclipse:

http://eclipse.org

http://cimtool.org

CIM:

http://www.ucaiug.org/CIMug

IEC Standards:

http://www.iec.ch

CIMTool Training


  • Login