360 likes | 379 Views
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. Use Case. Sequence Diagram. Sequence Diagram. Messages and Messages’ Content.
E N D
UsingUN/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
Sequence Diagram Messages and Messages’ Content
Question : how Message’s Content could be semantically consistant accross all exchanges? • The answer is to have a shared Information Model • From 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?
UML Association Modelling : Role send Is send by
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
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
2th step : define main classes and relations Root Element
3th step : select class properties involved in the exchange In fact we define views of information model classes
4th step : refine Properties DataTypes by restrictions (constraints) We ended up here with a Contextual Model
Define Message Model according to some assembly rules • Message Model level • Assembly Rules
From Information Model to Message Content Model Information level Message Content level
Next step from Message Content Model to Message Content Syntactic Model Message Content level 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> Syntactic level = XML Schema
Information Model UML UML/XMLModelling layers Modèles Conceptuels UML Modèles Conceptuels UML Contextual Models UML Modèles d’Echanges UML Modèles d’Echanges UML Message Content Models UML Modèle d’Echange XML (XSD) Modèle d’Echange XML (XSD) Message Content XML Schemas
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
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, …
Core Components UML UN/Cefact Core Component Technical Specification Business Information Entities UML Message Content Models UML Message Content XML Schemas
DataTypes and Core Component Types • Ten Core Component Types: • Amount • Binary Object • Code • Date • Identifier • Indicator • Numeric • Measure • Quantity • Text • From which can be derived DataTypes
Core Component Types • Have a content that is of a primitive type (String, Decimal…) • And Supplementary attributes that qualify the Content • Example 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 »
Core Component Types Three of them are dealing with measuring, compting Objects : Measure : for measure value Amount : monnetary representation Quantity : for anything else Measure, amount and quantity value are All expressed as decimal values Measure Units are based on UN/ECE rec. 20 Currency Units are based on UN/ECE rec. 9 Quantity Unit are user defined
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.
Creating DataTypes by derivation Default value Fixed value Fixed value There are naming rules that say that a derived by restriction dataTypes 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 defined Measure Class name should be based on quantity name (example voltage) and the unit expressed by the SI representation symbol (example V)
Creating controlled dataTypes Use of enumeration to give only permitted unit value
Core Components UML Context Constraint Language Business Information Entities UML Message Assembly Message Content Models UML Syntax Binding Message Content XML Schemas XML naming and Design rules
CIM/XML SchemaDerivationProcess CIM Information Model UML CIM Context rules ? Contextual Model CIM Message assembly Rules ? Message Content Model CIM Syntax Binding ? Message Content XML Schema CIM XML Schema Design Rules ?
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.
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
CIM CIM UN/Cefact Core component Type
CIM CIM UN/Cefact
CIM CIM UN/Cefact Core component Type DataType
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