170 likes | 181 Views
This document outlines the roles and relationships in the Core Model and Basic Mapping, expressed through various model elements and mappings. It provides examples and guidelines for documenting associations and naming conventions.
E N D
WG2 N1602 MFICore model and basic mapping Keith Gordon
Roles • Editor: Masao Okabe • In support: Keith Gordon
Packages CoreModel BasicMappingModel <<use>>
Core Model describingLanguage 1..1 • expressedIn expressedModel 0..* containingModel 0..* • comprises Model ModellingLanguage ModelElement containedModelElement 1..*
Relationship to MDR-3 describingLanguage 1..1 • expressedIn <<type>>Designatable_Item <<type>>Registered_Item <<type>>Identified_Item <<type>>Administered_Item <<type>>Attached_Item expressedModel 0..* containingModel 0..* • comprises ModellingLanguage ModelElement Model containedModelElement 1..* 1..1 1..1 0..* 0..* Designation Definition Context 0..* 0..* 1..* 1..*
Core Model and Mapping describingLanguage 1..1 • expressedIn expressedModel 0..* • subjectOf 0..* 1..1 mappingFrom subjectModel • objectOf 0..* 1..1 mappingTo objectModel 0..* containingModelMapping 0..1 containingModel • comprises • comprises containedModelElement containedModelMappingComponent 1..* 1..* • subjectOf 0..* 1..1 • mappedThrough mappingFrom subjectSet 0..* 1..* modelElementSetMappingDegree [1..1] elementSet mappedElement • objectOf 0..* 1..1 mappingTo objectSet describedComponent 0..* ModelElementSetMapping ModellingLanguage Model ModelElement ModelMapping ModelElementSet ModelElementSetMappingType • describes <<enumeration>>ModelElementSetMappingDegree description 1..1 semanticallyEquivalentsemanticallySimilar
Mapping example #1 Object Class to Entity Type Object Class to Entity Type mapping PRODUCT product-code product-description Object Class to Entity Type Semantically Equivalent Product code : String description : String
Mapping example #2 Supplier ProductSupplier • supplies 1..* 0..* number: String name: String address: Address startDate: Date rating: Integer Many-to-many association replaced by an intersection entity type Object Class to Entity Type Object Class to Entity Type Semantically Equivalent PRODUCT product-code product-description SUPPLIER PRODUCT-SUPPLIER supplier-number Product supplied-by acts-as product-code (FK) supplier-number (FK) supplier-name supplier-address code : String description : String P product-supplier-start-date product-supplier-rating
Mapping example #3 EXTERNAL CUSTOMER DEPARTMENT placer of ORDER (m) number (m) name (m) address (m) name placed by ExternalCustomer Order (m) number (m) date number: String name: String address: Address number: String startDate: Date placer of placed by Object Class to Entity Type Exclusive Arc replaced by Sub-classes Object Class to Entity Type Semantically Equivalent DepartmentalOrder ExternalOrder • places 1..1 0..* Department name : String • places 1..1 0..*
Mapping example #4 FULFILL ORDER ISSUE INVOICE RECORD PAYMENT Process amalgamation Object Class to Entity Type Process decomposed Object Class to Entity Type Object Class to Entity Type Semantically Equivalent Object Class to Entity Type Semantically Equivalent CHECK ORDER PICK GOODS DESPATCH GOODS HANDLE PAYMENT Start Stop
Mapping example #5 Order Received Payment Recorded FULFIL ORDER ISSUE INVOICE RECORD PAYMENT Sequence dependency replacement Object Class to Entity Type Semantically Similar Object Class to Entity Type Order Received Invoice Issued FULFIL ORDER ISSUE INVOICE Payment Received Payment Recorded RECORD PAYMENT
Mapping example #6 Ontology A Scotch Whisky Single Scotch Whisky Object Class to Entity Type Semantically Equivalent Concept Union Blended Scotch Whisky Ontology B
Mapping example #7 Ontology A axiom1: “Scotch whisky is whisky made in Scotland. axiom2: “Scotch whisky is a kind of whisky.” Object Class to Entity Type Semantically Equivalent Concept Intersection axiom3: “Scotch whisky is made in Scotland.” Ontology B
Where we agree • The metaclasses (and their names) - generally • The attributes (and their names) - generally • The associations (and their multiplicities and names)
Where we disagree • Whether to use separators or camel case for names. (recommendation: upper camel case for metaclasses, lower camel case for attributes, associations, etc) • How to document associations in the text: • with one reference? • with two references? • (CA prefers associations documented separately) (recommendation: two references) • How and where to explain the relationship to MDR-3. • Okabe-san is not too happy with “model mapping”. • Whether a model must have an IRI.