1 cim user group conference call december 8th 2005 using un/cefact core component methodology for...

36
1 CIM User Group Conference Call december 8th 2005 Using UN/CEFACT Core Component methodology for EIC/TC 57 works and CIM Jean-Luc SANSON Electrical Network Measurement and IT System Department EDF R&D Division

Upload: lorraine-baker

Post on 25-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

1CIM User Group Conference Call december 8th 2005

Using UN/CEFACT Core Component methodology for EIC/TC 57 works and

CIM

Jean-Luc SANSON

Electrical Network Measurement and IT System Department

EDF R&D Division

2CIM User Group Conference Call december 8th 2005

Use Case

BalanceSupplier

(from BIE_ETSORoleMod...

Consumer

(from BIE_ETSORoleMod...

EndOfSupply

MeteringPointAdministrator

(from BIE_ETSORoleMod...

EndOfSupply_Audit

<<include>>

3CIM User Group Conference Call december 8th 2005

Sequence Diagram

: BalanceSupplier : MeteringPointAd...

EndSupplyRequest : Request Appointment Date

EndSupplyAcknowledgment : Admissibility and appointment time interval list

EndSupplyRequest : Chosen Appointment Time Interval

EndSupplyConfirmation : before the end of supply is effective

EndSupplyConfirmation : When the end of supply is effective

Phase 2 : appoitment scheduling :

If RECEIVABLE, the process can continue here

this Business Process shows how the balance supplier will request an appointment date for the end of supply

Phase 1 : admissibility

Phase 3 : end of process

4CIM User Group Conference Call december 8th 2005

Sequence Diagram

: BalanceSupplier : MeteringPointAd...

EndSupplyRequest : Request Appointment Date

EndSupplyAcknowledgment : Admissibility and appointment time interval list

EndSupplyRequest : Chosen Appointment Time Interval

EndSupplyConfirmation : before the end of supply is effective

EndSupplyConfirmation : When the end of supply is effective

Phase 2 : appoitment scheduling :

If RECEIVABLE, the process can continue here

this Business Process shows how the balance supplier will request an appointment date for the end of supply

Phase 1 : admissibility

Phase 3 : end of process

Messages andMessages’ Content

5CIM User Group Conference Call december 8th 2005

Question : how Message’s Content could be semantically consistant accross all exchanges?

The answer is to have a shared Information ModelFrom which Message Content could be derived

So first, what is an Information Model?How it could be represented?How we derived Message Content from this Information

Model?

6CIM User Group Conference Call december 8th 2005

UML Unified Modeling Language

7CIM User Group Conference Call december 8th 2005

UML Association Modelling : Role

send

Is send by

8CIM User Group Conference Call december 8th 2005

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

9CIM User Group Conference Call december 8th 2005

Information Model(Abstract Model)Business Class

ServiceLocation

serviceLocCode : StringserviceType : StringserviceLocStatus : StringestLoad : integerbillingCycle : StringloadMgmt : StringbudgetBill : StringoccupancyDate : AbsoluteDateaccessMethod : String

(from Location)

+ServiceLocation

0..n0..n

0..10..1

+ErpAddress

ErpAddress

streetNumber : StringstreetName : StringstreetSuffix : StringstreetPrefix : StringstreetType : StringpoBox : StringsuiteNumber : StringaddressGeneral : StringtownCode : Stringsection : Stringcity : StringstateOrProvince : Stringcountry : StringpostalCode : String

(from ERP_Support)

+ErpAddresses 0..n

0..n+ErpPersons 0..n

0..n

ErpPerson

lastName : StringfirstName : StringmName : StringspecialNeeds : StringgovernmentID : String

(from ERP_Support)

10CIM User Group Conference Call december 8th 2005

How can we generate a Message’s Content from an Information Model?

First define the context : use case, business process analysis…

At the end of this analysis, define exchanges as Messages that have Contents or Documents

Build Contents or Documents as follow : What are the classes involved in the exchange? What is the principal class involved in the exchange? What are the associations required What are the classes properties necessary for the exchange? What kind of constraints should be applied on the properties type?

In fact what is defined is a view on the information Model

11CIM User Group Conference Call december 8th 2005

1th step : select Classes involved in the exchange

ServiceLocation

serviceLocCode : StringserviceType : StringserviceLocStatus : StringestLoad : integerbillingCycle : StringloadMgmt : StringbudgetBill : StringoccupancyDate : AbsoluteDateaccessMethod : String

(from Location)

+ServiceLocation

0..n0..n 0..10..1

+ErpAddress

ErpAddress

streetNumber : StringstreetName : StringstreetSuffix : StringstreetPrefix : StringstreetType : StringpoBox : StringsuiteNumber : StringaddressGeneral : StringtownCode : Stringsection : Stringcity : StringstateOrProvince : Stringcountry : StringpostalCode : String

(from ERP_Support)

12CIM User Group Conference Call december 8th 2005

2th step : define main classes and relationsRoot Element

ServiceLocation

serviceLocCode : StringserviceType : StringserviceLocStatus : StringestLoad : integerbillingCycle : StringloadMgmt : StringbudgetBill : StringoccupancyDate : AbsoluteDateaccessMethod : String

(from Location)

1 11

ErpAddress

streetNumber : StringstreetName : StringstreetSuffix : StringstreetPrefix : StringstreetType : StringpoBox : StringsuiteNumber : StringaddressGeneral : StringtownCode : Stringsection : Stringcity : StringstateOrProvince : Stringcountry : StringpostalCode : String

(from ERP_Support)

13CIM User Group Conference Call december 8th 2005

3th step : select class properties involved in the exchange

ServiceLocation

serviceLocCode : StringserviceType : String

(from Location)

1 11

ErpAddress

streetNumber : StringstreetName : StringpostalCode : String

(from ERP_Support)

In fact we define views of information model classes

14CIM User Group Conference Call december 8th 2005

4th step : refine Properties DataTypes by restrictions (constraints)

ServiceLocation

serviceLocCode : String {8}serviceType : LocCodeEnum

(from Location)

1 1

ErpAdress

streetNumber : StringstreetName : StringpostalCode : PositiveInteger {5}

(from ERP_Support)

LocCodeEnum

PADTPDLPDC

<<enumeration>>

We ended up here with a Contextual Model

15CIM User Group Conference Call december 8th 2005

Define Message Model according to some assembly rules

Message Model levelAssembly Rules

ServiceLocation

serviceLocCode : String {8}serviceType : LocCodeEnumstreetNumber : StringstreetName : StringpostalCode : PositiveInteger {5}

(from Core2)

<<container>>

16CIM User Group Conference Call december 8th 2005

From Information

Model to Message Content Model

Message Content level

Information levelServiceLocation

serviceLocCode : StringserviceType : StringserviceLocStatus : StringestLoad : integerbillingCycle : StringloadMgmt : StringbudgetBill : StringoccupancyDate : AbsoluteDateaccessMethod : String

(from Location)

0..n0..n 0..1

+ServiceLocation

+ErpAddress

0..1

ErpAddress

streetNumber : StringstreetName : StringstreetSuffix : StringstreetPrefix : StringstreetType : StringpoBox : StringsuiteNumber : StringaddressGeneral : StringtownCode : Stringsection : Stringcity : StringstateOrProvince : Stringcountry : StringpostalCode : String

(from ERP_Support)

+ErpAddresses0..n

0..n+ErpPersons

ErpPerson

lastName : StringfirstName : StringmName : StringspecialNeeds : StringgovernmentID : String

(from ERP_Support)

ServiceLocation

serviceLocCode : String {8}serviceType : LocCodeEnum

(from Location)

1 1

ErpAdress

streetNumber : StringstreetName : StringpostalCode : PositiveInteger {5}

(from ERP_Support)

ServiceLocation

serviceLocCode : String {8}serviceType : LocCodeEnumstreetNumber : StringstreetName : StringpostalCode : PositiveInteger {5}

(from Core2)

<<container>>

17CIM User Group Conference Call december 8th 2005

Next step from Message Content Model to Message Content Syntactic Model

Syntactic level= XML Schema

Transformation Process

According to some Rules

<?xml version="1.0" encoding="UTF-8"?><xsd:element name=« ServiceLocation"><xsd:sequence> <xsd:element name=« serviceLocCode »/> <xsd:element name=« serviceType »/> <xsd:element name=« streetNumber »/> <xsd:element name=« streetName »/>

<xsd:element name=« postalCode »/> </xsd:sequence>

Message Content level

ServiceLocation

serviceLocCode : String {8}serviceType : LocCodeEnumstreetNumber : StringstreetName : StringpostalCode : PositiveInteger {5}

(from Core2)

<<container>>

18CIM User Group Conference Call december 8th 2005

UML/XMLModelling layers

Information ModelUML

Modèles ConceptuelsUML

Modèles d’EchangesUML

Modèle d’EchangeXML (XSD)

Modèles ConceptuelsUMLContextual Models

UML

Modèles d’EchangesUMLMessage Content

Models UML

Modèle d’EchangeXML (XSD)Message ContentXML Schemas

19CIM User Group Conference Call december 8th 2005

UN/CEFACT

“UN Centre for Trade Facilitation and Electronic Business supports activities dedicated to improving the ability of business, trade and administrative organizations, from developed, developing and transitional economies, to exchange products and relevant services effectively.”

Cross-sectoral analysis (to promote interoperability & supply chain synchronicity)

Business process and information modelling (to capture user requirements, independent of any specific technology, through the creation of business collaboration models); and

New technologies as they emerge (eg eXtensible Markup language (XML), webServices, shared and/or distributed objects etc)

International standards for enabling e-business systems & interoperability

20CIM User Group Conference Call december 8th 2005

UN/CEFACT External Relations

Memorandum of Understanding - ISO, IEC, ITU, UNECE Meetings in Beijing in October 2005 and in Vancouver in March

2006.

UN/CEFACT - OASIS A new Cooperation Agreement was signed on 21 June 2005. ebXML, UBL

Many other organizations Some are delegations in UN/CEFACT

–GS1, SWIFT, … Some are not

–OAG, CEN/ISSS, XBRL, …

21CIM User Group Conference Call december 8th 2005

Core ComponentsUML

Business Information EntitiesUML

Message Content ModelsUML

Message ContentXML Schemas

UN/CefactCore Component

TechnicalSpecification

22CIM User Group Conference Call december 8th 2005

Core Component and Business Information Entity

ServiceLocation

serviceLocCode : StringserviceType : StringserviceLocStatus : StringestLoad : integerbillingCycle : StringloadMgmt : StringbudgetBill : StringoccupancyDate : AbsoluteDateaccessMethod : String

(from Location)

<<Core Component>>

<<isBasedOn>>

Cus_ServiceLocationserviceLocCode : String {8}serviceType : LocCodeEnum

<<Business Information Entity>>

Bill_ServiceLocation

serviceLocCode : StringbillingCycle : BillingCycleEnumbudgetBill : StringoccupancyDate : AbsoluteDate

<<Business Information Entity>>

<<isBasedOn>>

23CIM User Group Conference Call december 8th 2005

DataTypes and Core Component Types

Ten Core Component Types:AmountBinary ObjectCodeDate Identifier IndicatorNumericMeasureQuantityText

From which can be derived DataTypes

24CIM User Group Conference Call december 8th 2005

Core Component Types

Have a content that is of a primitive type (String, Decimal…)

And Supplementary attributes that qualify the ContentExample Core Component Type « Amount » have

A Content whose value is a decimal And Supplementary Attributes :

– Currency Identifier– Currency Code List Version

Example Core Component Type « Measure » have A Content whose value is a decimal And Supplementary Attributes :

– Unit Code– Unit Code List Version

CIm is using something similar for its Domain « Primitive »

25CIM User Group Conference Call december 8th 2005

Core Component Types

Measure

content = DecimalunitCode = StringcodeListVersion : String

Amount

content : DecimalcurrencyCode : StringcodeListVersion : String

Quantity

content : decimalunitCode : StringcodeListID : StringcodeListeAgencyID : StringcodeListAgencyName : String

Three of them are dealingwith measuring, compting Objects : Measure : for measure value Amount : monnetary representation Quantity : for anything else

Measure Units are based on UN/ECE rec. 20Currency Units are based on UN/ECE rec. 9Quantity Unit are user defined

Measure, amount and quantity value areAll expressed as decimal values

26CIM User Group Conference Call december 8th 2005

Measure

Definition a numeric value determined by measuring an object along with the specified

unit of measure Measure.Content

decimal The numeric value determined by measuring an object.

Measure Unit.Code string The type of unit of measure Reference UN/ECE Rec. 20 and X12 355, that

include SI units.

27CIM User Group Conference Call december 8th 2005

Creating DataTypes by derivation

Voltage_Measure

content : decimalunitCode : String = "V"

Measure

content = DecimalunitCode = StringcodeListVersion : String Voltage_Measure

content : decimalunitCode : String = "V"

kiloVoltage_Measure

content : decimalunitCode : String = "kV"

Default value

Fixed value

Fixed valueThere are naming rules that say that a derived by restrictiondataTypes have a name based on the CCT name prefixed by a qualifier

And for multiple ans sub units?

Comment : CIM DataTyping need to be revised and a naming rule should be definedMeasure Class name should be based on quantity name (example voltage) and the unit expressed by the SI representation symbol (example V)

28CIM User Group Conference Call december 8th 2005

Creating controlled dataTypes

Measure

content = DecimalunitCode = StringcodeListVersion : String

Voltage_Measure

content : decimalunitCode : SIVoltageKind = "V"SIVoltageKind

kVVmV

<<enumeration>>

Voltage_Measure

content : decimalunitCode : SIVoltageKind = "V"

Voltage_Measure

content : decimalunitCode : SIVoltageKind

kiloVoltage_Measure

content : decimalunitCode : SIVoltageKind = "kV"

Use of enumeration to give only permitted unit value

29CIM User Group Conference Call december 8th 2005

Core ComponentsUML

Business Information EntitiesUML

Message Content ModelsUML

Message ContentXML Schemas

Context Constraint Language

Message Assembly

XML naming andDesign rules

Syntax Binding

30CIM User Group Conference Call december 8th 2005

CIM/XML SchemaDerivationProcess

CIM Information ModelUML

Contextual Model

Message ContentXML Schema

Message ContentModel

CIM Context rules ?

CIM Message assembly

Rules ?

CIM XML Schema Design Rules ?

CIM Syntax Binding ?

31CIM User Group Conference Call december 8th 2005

Proposals

CIM Context Constraint Rules?CIM Message Assembly Rules?CIM Syntax Binding ? (RDF)CIM Naming and Design Rules? We need to have all these rules explicitly described in

the 61968 and 61970 standards (and serves for WG 16 and 19)

One way to do that is to based this work on the UN/Cefact work

This would also be aligned with the Memorandum Of Understandind between UN/Cefact and IEC.

32CIM User Group Conference Call december 8th 2005

Aligne CIM and IEC Standards with UN/Cefact Work

What would be the work?For CIM :

Change all domain package to have UN/Cefact CCTS DataTypes And move to SI Units Naming Rules for DataTypes Use Decimal instead of Float Change all attributes types in CIM Classes Make good definitions

33CIM User Group Conference Call december 8th 2005

NamingaliasName : Textdescription : Textname : TextpathName : Text

Naming

aliasName : Stringdescription : Stringname : StringpathName : String

CIM CIM UN/Cefact

Text

content : Stringlanguage : StringlocalLanguage : String

<<Core Component Type>>

Core component Type

34CIM User Group Conference Call december 8th 2005

AssetModel

number : Stringversion : StringcorpStandard : Stringusage : StringweightTotal : weight

AssetModel

number : Identifierversion : IdentifiercorpStandard : Textusage : TextweightTotal : Weight

CIM CIM UN/Cefact

35CIM User Group Conference Call december 8th 2005

AssetModel

number : Stringversion : StringcorpStandard : Stringusage : StringweightTotal : weight

AssetModel

number : Identifierversion : IdentifiercorpStandard : Textusage : TextweightTotal : Weight

CIM CIM UN/Cefact

Core component Type

DataTypeweight

value : Floatunits : String = "Kilograms"

<<Primitive>>Weigth

content : DecimalunitCode : String = "Kg"

<<Core Component Type>>

Identifiercontent : StringschemeIdentifier : stringschemeName : StringschemeVersion : StringschemeURI : StringagencyIdentifier : StringagencyName : StringschemeData : String

<<Core Component Type>>

36CIM User Group Conference Call december 8th 2005

Aligne CIM and IEC Standards with UN/Cefact Work

Benefits : Revisit all CIM classes Correct a lot of inconsistency

–in modeling, –in names, –in attribute typing

Make CIM the Core Components for the electrotechnical field