Using CIMTool - UCAIugcimug.ucaiug.org/Meetings/Milan2010/Presentations... · Instances: for CIM...

Post on 18-Aug-2020

12 views 1 download

transcript

Systems Integration Specialists Company, Inc.

The Standards Based IntegrationCompany

© Copyright 2008 SISCO, Inc.

Using CIMTool

Margaret Goodrich, Manager, Systems EngineeringSISCO, Inc.6605 19½ Mile RoadSterling Heights, MI 48314 USATel: +1-903-477-7176Fax: +1-903-489-0063E-Mail: margaret@sisconet.com

© Copyright 2008 SISCO, Inc.2

Introduction

The purpose of this presentation is to describe the useof CIMTool

Some of the uses of CIMTool include:

Definition of information exchange profiles – messages orfiles

Development of XSD Schemas

Development of RDF Schemas

Validation of full CIM XML instance files

Validation of incremental CIM XML files

© Copyright 2008 SISCO, Inc.3

Contents

1. CIMTool Installation2. Creating a CIMTool Project3. Importing a Schema4. Creating and Editing a Profile5. Importing a Profile (Several Methods)6. Generating XSD Schemas7. Generating RDF Schemas8. Importing a Model9. Validating a Model10. Importing and Validating an Incremental Model11. Updating a Schema12. Miscellaneous

© Copyright 2008 SISCO, Inc.4

CIMTool Installation

© Copyright 2008 SISCO, Inc.5

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 XSD schemas from a profile

Generate RDF schemas from a profile

… and more

© Copyright 2008 SISCO, Inc.6

Preparation for Installation

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

Recommend at least 2GB free disk space (much moreis recommended if you will be working with large CIMnetwork models)

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

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

© Copyright 2008 SISCO, Inc.7

CIMTool Installation

Go to http://cimtool.org

Version 1.8.5 is currently available for download

Download a zip file with Eclipse and CIMTool (fullinstallation package)

Following the directions on the screen

© Copyright 2008 SISCO, Inc.8

Starting CIMTool

Click on the Eclipse icon The Eclipse startup dialog will

appear Define a ‘workspace’ directory

when prompted The workbench view will then

appear

© Copyright 2008 SISCO, Inc.9

Eclipse/CIMTool Workbench

Initial default viewbefore anyprojects arecreated

Default installationsupports Javadevelopment

© Copyright 2008 SISCO, Inc.10

CIMTool/Eclipse Hints and Tips

Files, Packages and Workspaces:

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

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

Other problems may be corrected using the Project>Clean option

You may however safely read files directly from the workspacefolder if needed

© Copyright 2008 SISCO, Inc.11

Creating a CIMTool Project

© Copyright 2008 SISCO, Inc.12

CIMTool Projects

Each project has a named folder in the workspace directory Each CIMTool project will have four sub-folders:

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

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

Profiles: for profile definitions, where

Profile definitions are stored in an XSD, OWL & RDFS formats

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

Depending upon the usage of CIMTool, there may also be HTML, XML andXSD files

Schema: for the CIM model in XMI format with a .xmi extension(Generated using the UML model from the EA Tool)

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

© Copyright 2008 SISCO, Inc.13

Creating a New CIMTool Project

Select ‘File> New >Project’

Select‘CIMToolProject’option

Click ‘Next’

© Copyright 2008 SISCO, Inc.14

Creating a New CIMTool Project

Name it –e.g. ‘AEP--’

Click ‘Finish’ This will

create anew folderin yourworkspacedirectory

© Copyright 2008 SISCO, Inc.15

Browsing the Project

Click on arrowto the left ofthe desiredproject namein the ProjectExplorer toexpand it

See thatproject hasthe 4 set offolders

Expand sub-folders to seecontents

© Copyright 2008 SISCO, Inc.16

Importing a Schema

© Copyright 2008 SISCO, Inc.17

Importing a Schema

Schemas describe the classes, attributes andrelationships defined by a UML model

Anything defined by a profile MUST be described withinthe 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 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

© Copyright 2008 SISCO, Inc.18

Schema in a UML Tool

18

© Copyright 2008 SISCO, Inc.19

Exporting UML Model as XMI

In EnterpriseArchitectselect thetop-levelpackage

SelectProject >Import/Export> ExportPackage toXMI

© Copyright 2008 SISCO, Inc.20

Exporting XMI from UML Tool

Use exportoptions shown

Export asUML 1.4

Unselect‘Enable fullEA Roundtrip’

Select‘Unisys/Roseformat’ option

Enter filename for XMIfile

Click onExport button

© Copyright 2008 SISCO, Inc.21

Schema Import within CIMTool

Schemas are imported when creating a new CIMToolproject

Schemas can also be added to supplement an existingschema

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

© Copyright 2008 SISCO, Inc.22

Initial Schema Import

1. Select ‘File > Import’2. Note the different import options under

CIMTool3. Select ‘Import Schema’ option4. Click ‘Next’

© Copyright 2008 SISCO, Inc.23

Initial Schema Import

Browse to findthe XMI file toimport

Check theproject for theimport

Don’t edit theNamespace

Click “Finish”

© Copyright 2008 SISCO, Inc.24

Creating and Editing a Profile

© Copyright 2008 SISCO, Inc.25

Creating a New Profile

There are four ways to create a new profile:

1. Create it from scratch within CIMTool

2. Import an OWL profile previously constructed using CIMTool

3. Import the profile from a data dictionary spreadsheet

4. Copy and paste an existing profile within CIMTool

Once created, profiles are stored in the ‘Profiles’ folder ofthe 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

© Copyright 2008 SISCO, Inc.26

Creating a New Profile

1. Select‘File >New >Other…’

© Copyright 2008 SISCO, Inc.27

Creating a New Profile

1. Select‘CIMToolProfile’option

2. Click‘Next’

© Copyright 2008 SISCO, Inc.28

Creating a New Profile

Click on checkbox forthe desired project

Determine a uniquename for the profile thatwill not conflict withother profile names,then using the name:

Set the profile name

Set namespace URI

Set envelope elementname

Click ‘Finish’

© Copyright 2008 SISCO, Inc.29

Browsing the Project

Click on arrows inProject Explorerto expand folders

Double click onthe .owl profile filename in the toopen it

Click on theprofile name inthe Outlinewindow

In the ProjectExplorer frameyou can alwaysright click on a filename to seeoptions

© Copyright 2008 SISCO, Inc.30

Adding Classes to Profile

Browsethroughmodel on theright side ofAdd/Removetab

Select one ormore classeson right sideAdd/removetab

Classes aremoved byclicking on <

© Copyright 2008 SISCO, Inc.31

Adding a Property (Attribute) to Profile

Click on aclass in theOutline

Properties areshown on theright side of theProfileAdd/Removetab

Click onproperty nameon right side

Click on ‘<‘ tomove propertyto left side

© Copyright 2008 SISCO, Inc.32

View After Adding a Property to profile

New profileproperty isseen onOutline viewand the leftside of theAdd/Removetab

You canremoveproperties byusing the >button

© Copyright 2008 SISCO, Inc.33

Adding Properties to Profile

Can movemore thanoneproperty ata time

© Copyright 2008 SISCO, Inc.34

Importing a Profile

© Copyright 2008 SISCO, Inc.35

Importing a Profile

Sometimes it is desirable to use another profiledefinition 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

© Copyright 2008 SISCO, Inc.36

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 importinto

Browse to find the file toimport

Click ‘Next’

© Copyright 2008 SISCO, Inc.37

Importing Profile from DataDictionary

© Copyright 2008 SISCO, Inc.38

Importing Profiles

Some products can generate a Data Dictionary in theform 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

© Copyright 2008 SISCO, Inc.39

Data Dictionary

An Excelspreadsheetthat describesthe contents ofone or moreprofiles

Tabs exist forClasses,Attributes,Associations,Data types,Enumerationsand Units

© Copyright 2008 SISCO, Inc.40

Importing Spreadsheet

Can importthe DataDictionaryspreadsheetas a profile

File>Import Select ‘Import

Spreadsheetas Profile’option

© Copyright 2008 SISCO, Inc.41

Importing Spreadsheet

Thespreadsheetmay identifyone or moreprofiles

Can selectwhich profilesto construct

Can onlyconstruct oneat a time

© Copyright 2008 SISCO, Inc.42

Importing Spreadsheet

Need toidentify theproject inwhich theprofile will becreated

The name ofthe profile isset by default,but can bemodified

© Copyright 2008 SISCO, Inc.43

Importing Spreadsheet

New profile(.owl file) iscreated ifthere are nofatal errors

A log file iscreated thatidentifies anyerrors

© Copyright 2008 SISCO, Inc.44

Importing Spreadsheet

A log file (.log)is generatedwith the profileto identifyerrors, if any

The log fileidentifies whatcould not befound forinclusion intothe profiledefinition

© Copyright 2008 SISCO, Inc.45

Extending the Spreadsheet

You can also create a new profile definition in thespreadsheet for import into CIMTool using the followingsteps:

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

2. Provide the same profile name on row one of each of the addedcolumns

3. Set the value of each new cell to ‘TRUE’ or ‘FALSE’4. Run the spreadsheet import process as described previously5. Look for errors in the log file

© Copyright 2008 SISCO, Inc.46

Creating a Profile using theCopy/Paste Function

© Copyright 2008 SISCO, Inc.47

Create a Profile Using Copy/Paste

Select the Profile you wish to copy Right click on the .Owl file and select ‘Copy’ Right click again and select ‘Paste’ Enter the name of the new Profile to be created in the

Dialog The set of Profile files will be generated Right click on the new .Owl file and select Properties Enter the new Profile namespace in the dialog This method will be demonstrated after the

presentation

© Copyright 2008 SISCO, Inc.48

Generating RDF Schemas

© Copyright 2008 SISCO, Inc.49

Generating RDF Schemas

Load thedesired profile

Select the‘Summary’ tab

© Copyright 2008 SISCO, Inc.50

Generating RDF Schemas

Check ‘Builderfor legacy-rdfs’

Check anyother desiredbuilder options

Click on‘File>Save’

© Copyright 2008 SISCO, Inc.51

Generated RDF Schema

To view theactual RDFS,right click filename in ProjectExplorer

Then select‘Open With >Text Editor’option

© Copyright 2008 SISCO, Inc.52

XML Schema Design

© Copyright 2008 SISCO, Inc.53

XML Schema Options

XML Schemas are key to message-based integration IEC 61968 leverages the CIM for message-based

integration Given a profile definition, there are a variety of options that

may be used to control the generation of an XML Schema:

Envelope name for the profile

Definition of ‘concrete’ classes (to generate an XML element)

Restrictions on cardinalities

Associations implemented either ‘by value’ or ‘by reference’

Also can create a stylesheet to customize the format ofgenerated XSDs

© Copyright 2008 SISCO, Inc.54

Associations

Associations may be realized either nested inline‘by value’, or ‘by reference’

Default is ‘by value’ A check box is used to select ‘by reference’ option

on the Add/Remove tab In the ‘by reference’ case a ‘ref’ attribute is

generated to point to an instance elsewhere in theXML

Typically an mRID value should be used for thevalue of the ‘ref’ attribute

© Copyright 2008 SISCO, Inc.55

Associations ‘By Reference’

ReadingType isused within thedefinitionReading

Arrow shows thatit will be realized‘by reference’

ReadingTypeinstances areinstantiatedelesewhere inthe profiledefinition

© Copyright 2008 SISCO, Inc.56

Selecting XSD Generation

XSDgenerationmust beselected onthe Summarytab for theprofile

Other optionssuch asHTMLgenerationmay beselectedconcurrently

© Copyright 2008 SISCO, Inc.57

Generating XSD Schemas

© Copyright 2008 SISCO, Inc.58

Generating XSD Schemas

Load thedesired profile

Select the‘Summary’ tab

© Copyright 2008 SISCO, Inc.59

Generating XSD Schemas

Check ‘Builderfor XSD’

Check anyother desiredbuilder options

Click on‘File>Save’

© Copyright 2008 SISCO, Inc.60

Generated XSD Schema

To view theactual XSDSchema, rightclick file namein ProjectExplorer

Then select‘Open With >Text Editor’option

© Copyright 2008 SISCO, Inc.61

CIMTool Output Options

CIMTool can generate several ‘styles’ of outputs for profile definitions,including:

XSD

SQL

XML

HTML

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

Legacy RDFS (currently the most commonly used)

Legacy nested RDFS

Simple OWL

Simple nested OWL

CIMTool can also generate Java Both the form of XSDs and HTML generated can be controlled by

stylesheets

© Copyright 2008 SISCO, Inc.62

HTML Documentation

HTML optiongenerates a singleHTML file withdescription of allclasses

Hyperlinks allownavigation betweenclass descriptions andtype definitions

Free tools exist forHTML to Wordconversion

© Copyright 2008 SISCO, Inc.63

Importing a Model

© Copyright 2008 SISCO, Inc.64

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

© Copyright 2008 SISCO, Inc.65

Importing a Model

Select ‘File > Import’ On ‘Import’ dialog select

‘Import Model (CIM/XMLfile)’ option

Click ‘Next’ Check the project to import

into Browse to find the file to

import Select an appropriate

profile Click ‘Next’

OR

Select the Model ImportICON on the toolbar andcomplete the screen shown

© Copyright 2008 SISCO, Inc.66

Importing a Model That Already Exists

Change the file name ifyou wish to save to adifferent sub folder

Check ‘Replace existingmodel’ if you wish tooverwrite

Click ‘Finish’ Wait for the import to

complete, as it may takeseveral minutes (up toan hour for a very largemodel)

Watch the progress iconat the bottom of CIMToolwhere it says ‘Importingmodel …’

© Copyright 2008 SISCO, Inc.67

Imported Model

The imported RDF model is stored within the Instancesfolder 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)

© Copyright 2008 SISCO, Inc.68

Validating a Model

© Copyright 2008 SISCO, Inc.69

Validating a Model

Validation of the model occurs when a model isimported

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

If errors exist, a diagnostic file is created which can bebrowsed

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

Rules can be edited and extended

© Copyright 2008 SISCO, Inc.70

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

© Copyright 2008 SISCO, Inc.71

Browsing Diagnostic File

71

© Copyright 2008 SISCO, Inc.72

Importing and Validating anIncremental Model

© Copyright 2008 SISCO, Inc.73

Importing Incremental CIM/XML

First step is toimport anincrementalCIM/XML fileusing File >Import andselectCIMTool/ImportIncrementalCIM/XML file(or use theToolBar ICON)

© Copyright 2008 SISCO, Inc.74

Importing Incremental CIM/XML

Must haveimported a baseinstance modelBEFOREattempting this

Need to browseto select file

Need to selectthe appropriatebase model

Errors will bereported in a logfile

© Copyright 2008 SISCO, Inc.75

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 bebrowsed

© Copyright 2008 SISCO, Inc.76

Browsing Diagnostic File

© Copyright 2008 SISCO, Inc.77

Updating a Schema

© Copyright 2008 SISCO, Inc.78

Updating a Schema in CIMTool

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

You should not directly replace a file in the CIMToolworkspace directory

You should instead, using CIMTool File menu options:

1. Delete the old schema

2. Import the new schema

Be sure that the correct namespace is entered Profiles with errors will be flagged with a red X

78

© Copyright 2008 SISCO, Inc.79

Namespaces

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

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

Default namespaces to be used by CIMTool can bechanged using Window > Preferences and selectingCIMTool option

Most problems encountered in CIMTool surround thenamespace.

It is best to use the default (defined above) for allproject files

79

© Copyright 2008 SISCO, Inc.80

Changing Namespaces

Namespaces can bechanged by rightclicking on a filename in the ProjectExplorer and thenselecting ‘properties’

The namespace isshown on theCIMTool propertydialog

Namespaces can bechanged as desired

Note that this mayimpact existingprofile definitions

© Copyright 2008 SISCO, Inc.81

Miscellaneous

© Copyright 2008 SISCO, Inc.82

Exporting a Project

It is oftennecessary toexport a projectfor use byothers, or touse on othercomputers

Use File >Export

Select ArchiveFile option

Select Next

© Copyright 2008 SISCO, Inc.83

Exporting a Project

Need toselect outputformat, ZIP isusually best

Need toselect outputfile name

Project canbe laterimportedback intoEclipse usingFile > Import

© Copyright 2008 SISCO, Inc.84

Switching Workspaces

Sometimes it isnecessary tomove or changethe location ofyour workspacefolder, or usemultipleworkspaces

To point Eclipseto the newworkspace folderuse File > SwitchWorkspace

Select the desiredworkspace folder

The settings willbe updated andEclipse will restart

© Copyright 2008 SISCO, Inc.85

Renaming Resources

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

It is important to do this using Eclipse, instead ofdirectly making changes to the resource outside ofEclipse

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

Now you can change the name of the resource

© Copyright 2008 SISCO, Inc.86

Changing CIMTool Preferences

Preferencescan bechanged usingWindow >Preferencesand selectingCIMTool option

Select ‘Apply’and ‘OK’ afterediting to save

© Copyright 2008 SISCO, Inc.87

Diagnostics

Errors will be written to ‘.diagnostic’ files These are often the consequence of changes in the CIM that

have eliminated used classes, relationships or attributes Profiles can then be edited to correct the problems

© Copyright 2008 SISCO, Inc.88

Backing Up a Project

Easy way …

Easiest way to back up a project directory is to use WinZip ora similar archive tool

Using WinZip (or similar tool), simply create an archive file ofthe project folder within the workspace

Using a source repository …

Many commercial source repositories options exist thatintegrate with Eclipse

Plugins can be found for:

CVS

Visual Source Safe

Clear Case

© Copyright 2008 SISCO, Inc.89

Importing a Project

Select File >Import > Toimport projectsinto Workspace

Click Next Browse to

identify a projectdirectory

Can use ‘Copyprojects intoworkspace’ tomake a copy ofthe directoryinstead ofworking directlyout of the chosendirectory

© Copyright 2008 SISCO, Inc.90

Deleting a Project

Right clickon name ofproject inthe ProjectExplorer

Files willonly bedeleted ifthe ‘Alsodeletecontentsunder …’option isselected

Click ‘Yes’

© Copyright 2008 SISCO, Inc.91

CIMTool Updates

TO obtainupdates toEclipse andCIMTool

Use Help >SoftwareUpdates >CIMTool

Select ‘Searchfor NewFeatures toInstall’ option

© Copyright 2008 SISCO, Inc.92

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

© Copyright 2008 SISCO, Inc.93

Acknowledgements

Not possible without the efforts of Arnold DeVos,the developer of CIMTool

Thanks to those companies that also helped tofund CIMTool development

Thanks to the CIM model managers that havehelped to advance the CIM:

Kurt Hunter, Siemens (WG13)

Kendall Demaree, Areva (WG13)

Lars-Ola Osterlund, ABB (WG13)

Tatjana Kostic, ABB (WG14)

Margaret Goodrich, SISCO (WG16)

© Copyright 2008 SISCO, Inc.94

More Information

Eclipse web site: http://eclipse.org CIMTool web site: http://cimtool.org E-mail: margaret@sisconet.com

Screen Shots Compliments of UISOL and ScottNeumann