message generation based on the cim - home -...

64
1 Message Generation Based on the CIM CIM User Group Meeting Austin, Texas 23 October 2007

Upload: dinhtu

Post on 14-Apr-2018

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

1

Message Generation Based on the CIM

CIM User Group Meeting Austin, Texas

23 October 2007

Page 2: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

2

Acknowledgements

• Alan McMorran, “An Introduction to IEC 61970- 301 & 61968-11: The Common Information Model”, University of Strathclyde, Glasgow, UK

• Jean-Luc Sanson, EDF and Xiaofeng Wang, Xtensible Solutions, “Information Model and Message Modeling”

• Arnold deVos, “UN/CEFACT Modeling and Messaging Framework”

Page 3: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

3

Message Generation Based on the CIM

• Initial Take– Generating a message based on the CIM standards

• Second Take– How do you incorporate business constraints and restrictions to

the CIM standard– How do you use the 61968 message standards

• Third Take– How do you incorporate other information meta models into your

enterprise semantic model in addition to the CIM standard

• Fourth Take– How do you test for compliance

Page 4: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

4

EMS Replacement with MDI for External Interfaces

EAI Integration BusBased on Vitria BusinessWare Message Bus

EMS

Net

wor

k M

odel

Feed

er S

tatu

san

d A

nalo

gs

PlannedOutage Data(from ISO)Assets

Scheduling Systems- Generation- Interchange

Out

age

Dat

a

Pla

nned

Out

ages

Equ

ipm

ent

Ope

ratin

g Li

mits

Equ

ipm

ent L

imits

OMS

Sch

edul

es

Sch

edul

e

Feed

er S

tatu

s/A

nalo

g va

lues

External Power System

ApplicationsN

etw

ork

Mod

el

Page 5: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

5

EMS Replacement Project

• Goal was to implement MDI (Model Driven Integration)• Decision to use Web Services over Vitria BusinessWare

EAI platform• Delivered XML message schemas and WSDLs for

– Status and analog measurements– Outage schedules– Interchange schedules– Generation schedules– Line operating limits– Transformer operating limits– Generic events for log

• Interesting paradigm shift

Page 6: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

6

Mapping EMS Interfaces to the CIM – User access to transformer data

• 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

Page 7: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

7

Transformer Class Diagram

Page 8: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

8

CIM Interface Mapping - Beginnings of 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

Page 9: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

9

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

Page 10: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

10

XML Schema for Transformer Message

Page 11: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

11

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>

Page 12: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

12

How can we generate a Message from an Information Model?• First we are define a context : use case, business process

analysis…• At the end of this analysis some exchanges are defined

that are realized by message exchange• Message description must state :

– What are the classes involved in the exchange?– What are the class properties necessary for the exchange?– What kind of constraints should be applied on the properties type?– What is the principal class involved in the exchange?

• In fact what we are doing is defining a view of the information Model

Page 13: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

13

Information Model

• An Information Model is a model that represents all classes with :– all their possible properties– all their possible associations

• This has some consequences : – All properties are described as optional– A lot of associations are left optional– All associations are bidirectional ones (except for specialized ones

like inheritance and aggregation)– This means that there is no hierarchy– dataTyping is kept as generic as possible

• An Information Model is context independant• The CIM model is based on this philosophy

Page 14: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

14

Information Model (Abstract Model) Business Class

Page 15: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

15

Step 1: Selecting Classes involved in the exchange

Page 16: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

16

Step 2: Select class properties involved in the exchange:

Page 17: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

17

Step 3: Define Properties DataTypes and constraints

Need for a constraint language

Page 18: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

18

Step 4: Define main classes (and hierarchy)

Contextual Model Definition

Root Element

Page 19: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

19

Define Message Model according to standard assembly rules

Implementation Model level

Assembly Rules

Page 20: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

20

Define Syntactic Message Model according to transformation rules

• <?xml version="1.0" encoding="UTF-8"?>• <xsd:element name=« VerbNounMessageType">• <xsd:sequence>• <xsd:element name=« ControlArea"/>• <xsd:sequence>• <xsd:element name=« Verb"/>• <xsd:element name=« Noun"/>• </xsd:sequence>• </xsd:element>

XML Syntax

Page 21: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

21

From Information

Model to Syntactic

Model

AbstractModel

SyntacticModel

<?xml version="1.0" encoding="UTF-8"?><xsd:element name="MSG"><xsd:sequence>

<xsd:element name="EnTête"/><xsd:sequence>

<xsd:element name="Source"/><xsd:element name="Creation"/>

</xsd:sequence></xsd:element>

UML World

XML SyntacticWorld

Page 22: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

22

UML/XML Modelling layers

Information ModelUML

Modèles ConceptuelsUML

Modèles d’EchangesUML

Modèle d’EchangeXML (XSD)

Modèles ConceptuelsUMLContextual Models

UML

Modèles d’EchangesUMLMessage Models

UML

Modèle d’EchangeXML (XSD)Message Models

XML (XSD)

Page 23: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

23

CIM Message Modelling Philosophy

Page 24: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

24

CIM UML/XML Modelling layersInformation Model

CIM/UML

Modèles d’EchangesUML

Modèles ConceptuelsUML

Modèle d’EchangeXML (XSD)

Modèles ConceptuelsUMLContextual Models

CIM/UML

Modèles d’EchangesUMLMessage Models Modèle d’Echange

XML (XSD)Message ModelsCIM/XML (XSD)

61970 part 30161968 part 11

61968 part 3 to 10

Guidelines

Page 25: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

25

CIM UML/XML Modelling layersInformation Model

CIM/UML

Modèles d’EchangesUML

Modèles ConceptuelsUML

Modèle d’EchangeXML (XSD)

Modèles ConceptuelsUMLContextual Models

CIM/UML

Modèles d’EchangesUMLMessage Models Modèle d’Echange

XML (XSD)Message ModelsCIM/XML (XSD)

61970 part 30161968 part 11

61968 part 3 to 10

Guidelines

UML files

XML Schemasfiles

Page 26: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

26

UML/XML Modeling layers in CIMInformation Model

UML

Message ModelMessage ModelUMLUML

Contextual ModelUML

Information ModelXML (XSD)

ContextualContextual ModelModelXML (XSD)XML (XSD)

Modèles d’EchangeXML (XSD)

61968 Parties 3 à 10

Modèles d’EchangeXML (XSD)Message Models

XML (XSD)

61968 part 3 to 10

Contextual ModelsUML

XML Schemasfiles

XML Schemasfiles

Page 27: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

27

CIM Context

• CIM defines different contexts mostly in 61968 part 3 to 10

• Those contexts are first defined by the Interface Reference Model– Interface for Network Operations– Interface for Record and Asset Management– Interface for Operational Planning and Optimisation– Interface for Maintenance and Construction….

• Then for each Interface:– There is a selection of classes involved– There is a set of Message Type based on an Message

Architecture

Page 28: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

28

IEC TC57 Standards Emphasis

(NE)Network

ExtensionPlanning

(CS)CustomerSupport

(MR)Meter

Reading &Control

(AM)Records &

AssetManagement

(MC)Maintenance

&Construction

IEC 61968-4 IEC 61968-6

IEC 61968-7 IEC 61968-8 IEC 61968-9

(ACT)CustomerAccount

Management

(FIN)Financial

(PRM)Premises

(HR)Human

Resources

(EMS)Energy

Management &Energy Trading

(RET)Retail

IEC 61968-10OAG

(SC)Supply

Chain andLogistics

(NO)Network

Operation

IEC 61968-3and IEC 61970

(OP)OperationalPlanning &

Optimization

IEC 61968-5 andIEC 61970

IEC 61968-10 andIEC 61970

IEC 61968-10 andOAG

IEC 61968-10 andOAG

IEC 61968-10 andOAG

IEC 61968-10 andOAG

IEC 61968-10 andOAG

Utility Electric NetworkPlanning, Constructing,

Maintaining, and Operating

Enterprise Resource Planning,Supply Chain, and General

Corporate Services

IEC TC57 and OAG Standards Emphasis

Interface Reference Model

Page 29: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

29

CIM Context – 61968 part 3: Network Operation

• Classes selected :– ActivityRecord, MeasurementValueList, MeasurementValue,

OutageRecord, OutageStep …

• All properties kept• No constraints on properties• No constraints on properties type• So classes are not changed• Root element which defines the noun and the payload

starting point• Keep all associations• Result: a UML diagram

Page 30: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

30

Root

Page 31: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

31

CIM Context Network Operation: 61968 part 3

• Message Organisation or Architecture, not described in UML (difficult in UML V1.x), it is done at the Syntactic level

Page 32: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

32

CIM Context Network Operation: 61968 part 3• Message Types

– Measurement List (created, changed, show)– Operational Restrictions (created, changed, show, deleted)– Outage Records (created, changed, show, get, deleted, canceled,

closed)– Safety Documents ….– Switching Schedules….

• Message Payload defined by UML diagram, used by different messages

Page 33: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

33

CIM Context Network Operation: 61968 part 3• Message Payload defined by UML diagram, used by

different messages• UML/XML transformation rules to generate XML Schema• Because there are few constraints on properties, XML

Schema have a lot of optional elements• In this CIM version, it is the responsibility of applications

to populate the instance of a message with relevant information

• One could have at the XML level constraints that are needed

Page 34: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

34

CIM UML/XML Modelling layersInformation Model

CIM/UML

Modèles d’EchangesUML

Modèles ConceptuelsUML

Modèle d’EchangeXML (XSD)

Modèles ConceptuelsUMLContextual Models

CIM/UML

Modèles d’EchangesUMLMessage Models

UMLModèle d’Echange

XML (XSD)Message ModelsCIM/XML (XSD)

Context Definition

UML/XML transformation rules

Page 35: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

35

Implementing CIM UML/XML Modelling layers

Information ModelCIM/UML

Message ModelUML

Conceptual ModelCIM/UML

Message ModelsCIM/XML (XSD)

Message ModelsXML (XSD)

Constraints expressed in XSLT

CIM Transformation Rules

Page 36: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

36

CIM DataTypes• Special package: domain package• Three kinds of dataTypes

1. Primitive (String… + float…)

2. Enumeration

3. Qualifying classes

Page 37: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

37

Usually people don’t start from an Information Model

Information ModelInformation ModelUMLUML

Modèles d’EchangeUML

ContextualContextual ModelModelUMLUML

Information ModelInformation ModelXML (XSD)XML (XSD)

ContextualContextual ModelModelXML (XSD)XML (XSD)

Modèles d’EchangeXML (XSD)

Modèles d’EchangeUMLMessage Model

UMLModèles d’Echange

XML (XSD)Message ModelXML (XSD)

Page 38: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

38

Discovery Process with CIM

Information ModelCIM/UML

XML Application Message Model

UML ApplicationMessage Model

?

Page 39: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

39

Information ModelCIM/UML

Conceptual ModelUML

XML Application Message Model

UML ApplicationMessage Model

Discovery Process with CIM

Page 40: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

40

Information ModelCIM/UML

Message ModelUML

Conceptual ModelUML

CIM/XML basedApplication

Message Model

XML Application Message Model

CIM Transformation RulesUML ApplicationMessage Model

Discovery Process with CIM

Page 41: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

41

Information ModelCIM/UML

Message ModelUML

Conceptual ModelUML

CIM/XML basedApplication

Message Model

XML Application Message Model

CIM Transformation RulesUML ApplicationMessage Model

XML MappingXSLT Transformation

Discovery Process with CIM

Page 42: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

42

Information ModelCIM/UML

Conceptual ModelUML

Description ofMy message

Discovery Process with CIM

Page 43: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

43

Information ModelCIM/UML

Conceptual ModelUML

My CIM/XML Message Models

CIM Transformation RulesDescription ofMy message

Discovery Process with CIM

Page 44: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

44

Information ModelCIM/UML

My UMLMessage Model

Conceptual ModelUML

Description ofMy message

My messageAssembly

Discovery Process with CIM

Page 45: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

45

Information ModelCIM/UML

My UMLMessage Model

Conceptual ModelUML

My XMLMessage Model

Description ofMy message

My UML/XML transformation rules

Discovery Process with CIM

Page 46: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

46

Information ModelCIM/UML

My UMLMessage Model

Conceptual ModelUML

My XMLMessage Model

Description ofMy message

My CIM/XML Message Models

Discovery Process with CIM

Page 47: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

An Organising Framework

• UN/CEFACT – Information Model– Contextual Model– Message Assembly– Message Syntax

Page 48: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –
Page 49: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –
Page 50: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –
Page 51: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –
Page 52: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –
Page 53: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –
Page 54: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –
Page 55: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –
Page 56: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –
Page 57: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –
Page 58: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

60

Page 59: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

61

CIM Compliance

• What is CIM Compliance• How do you specify the use of the CIM• How do you test for compliance

Page 60: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

62

What Does CIM Compliance Mean?

• CIM compliance means that at the public interface the data representation complies with the CIM in terms of:

• General principles:– Semantics – naming and meaning of data– Syntax – data type

• A specific profile that specifies which parts of the CIM are in view• Specific services• Specific XML schemas for messages• Specific RDF schemas files to be exchanged• Good practices in the use of the CIM – project guidelines document• Bottom line: Compliance deals with message/data exchanged at an

interface

Page 61: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

63

What CIM Compliance Does Not Mean

• There is a database organized exactly like the CIM class diagrams• All aspects of the CIM are included in an implementation

– Profiles can be defined for compliance purposes• NERC has defined a Common Power System Model (CPSM) with mandatory

and optional conformance points (i.e., classes, attributes, associations)• EDF has defined a Distribution Network Model profile• Other profiles can be defined and added to the CIM model as well

– Message standards define a subset of the CIM for a specific information exchange

• Defines which parts of CIM are used, and which are mandatory or optional– A specific system interface may only support a subset of a message

standard• Ex: A multi-step transaction may involve several systems, each of which

supports only a part of the total message standard• Real-world interfaces will also include private extensions

Page 62: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

64

How to Specify the Use of the CIM

• Need to be specific in what is asked for– Specific profiles or message schemas

• Or spell out the process to be followed– Map all interfaces to the CIM with extensions added as

necessary to create an enterprise information model– May be other models to also be included– Type of interface envisioned

• Use of middleware• Use of the GID• Use of Web services

– Responsibility for adapters• Part of vendor responsibility or system integrator

Page 63: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

65

How to Test for Compliance

• Compliance testing vs. interoperability testing• Rely on previous interoperability tests

– Witnessed test results for vendors that participate– Documented in EPRI technical reports

• Validation tools– CIM/XML with RDF schema for power system model

transfer – used in interop tests– XML schema validation for messages

• Subject of one of the CIMug WGs– Need for a compliance test suite

Page 64: Message Generation Based on the CIM - Home - CIMugcimug.ucaiug.org/Meetings/Austin2007/Presentations/1/1 -- Tutorial... · 3 Message Generation Based on the CIM • Initial Take –

66

Questions?