XML Metadata Interchange (XMI). Proposal to the OMG OA&DTF RFP 3: Stream-based Model Interchange Format (SMIF). Reference: OMG Document ad/98-07-01, July 6, 1998. A Joint Submission from Cooperative Research Centre for Distributed Systems Technology (DSTC), International Business Machines Corporation, Oracle Corporation, Platinum Technology, Inc., Unisys Corporation; supported by: Cayenne Software, Genesis Development, Inline Software, Rational Software Corporation, Select Software, Sprint Communications Company, Sybase, Inc. Available online in Postscript and PDF formats.
See the main database entry: XML Metadata Interchange Format (XMI) Open Management Group (OMG).
1. Preface 1-1
1.1 Cosubmitting Companies and Supporters 1-1
1.2 Introduction 1-1
1.3 Submission contact points 1-3
1.4 Status of this Document 1-5
1.5 Guide to the Submission 1-5
1.6 Conventions 1-7
2. Proof of Concept 2-9
2.1 Copyright Waiver 2-9
2.2 Proof of Concept 2-9
3. Response to RFP Requirements 3-11
3.1 Mandatory Requirements 3-11
3.1.1 Required Meta-metamodel 3-11
3.1.2 Syntax and Encoding 3-11
3.1.3 Referenced Concepts 3-12
3.1.4 UML Support 3-12
3.1.5 International Codesets 3-12
3.2 Optional Requirements 3-13
3.2.1 Compact Data Representation 3-13
3.2.2 Compatibility with other Metamodels and Interchange Formats 3-13
3.3 Issues for discussion 3-14
4. Design Rationale 4-17
4.1 Design Overview 4-17
4.2 XMI and the MOF 4-17
4.2.1 An Overview of the MOF 4-17
4.2.2 The relationship between XMI and MOF 4-20
4.2.3 The relationship between XMI, MOF and UML 4-21
4.2.4 Why use the MOF as the basis for XMI? 4-21
4.3 XMI and XML 4-22
4.3.1 The roots of XML 4-22
4.3.2 Benefits of XML 4-22
4.3.3 XML and the industry 4-23
4.3.4 How XML works 4-23
4.3.5 XML and the OMG 4-26
4.3.6 XML technologies 4-26
4.4 Specific Design Goals and Rationale 4-27
4.4.1 Universally Applicable Solution 4-27
4.4.2 Model Fragments 4-27
4.4.3 Ill-Formed Models 4-27
4.4.4 Standardised Transfer Syntax 4-28
4.4.5 Model Versions 4-28
4.4.6 Model Extensibility 4-28
4.4.7 MOF as an Information Model 4-29
5. Usage Scenarios 5-31
5.1 Purpose 5-31
5.2 Combining tools in a heterogeneous environment 5-31
5.3 Co-operating with common metamodel definitions 5-32
5.4 Working in a distributed and intermittently
connected environment 5-33
5.5 Promoting design patterns and reuse 5-33
6. XMI DTD Design Principles 6-35
6.1 Purpose 6-35
6.2 Overview 6-35
6.3 Use of XML DTDs 6-35
6.3.1 XML Validation of XMI documents 6-36
6.3.2 Requirements for XMI DTDs 6-37
6.4 Basic Principles 6-37
6.4.1 Required XML Declarations 6-37
6.4.2 Metamodel Class Representation 6-38
6.4.3 Metamodel Extension Mechanism 6-38
6.5 XMI DTD and Document Structure 6-38
6.6 Necessary XMI DTD Declarations 6-39
6.6.1 Necessary XMI Attributes 6-39
6.6.2 XMI.remote 6-40
6.6.3 Common XMI Elements 6-40
6.6.4 XMI 6-41
6.6.5 XMI.header 6-41
6.6.6 XMI.content 6-42
6.6.7 XMI.extensions 6-42
6.6.8 XMI.documentation 6-42
6.6.9 XMI.metamodel 6-42
6.6.10 XMI.reference 6-43
6.6.11 XMI Datatype Elements 6-45
6.7 Metamodel Class Specification 6-46
6.7.1 Class specification 6-46
6.7.2 Inheritance Specification 6-47
6.7.3 Attribute Specification 6-48
6.7.4 Association Specification 6-49
6.7.5 Containment Specification 6-49
6.8 Document exchange with multiple tools 6-49
6.8.1 Definitions: 6-50
6.8.2 7.2 Procedures: 6-51
6.8.3 Example 6-51
6.8.4 Alternatives 6-53
6.9 8. UML DTD 6-53
7. XML DTD Production 7-55
7.1 Purpose 7-55
7.2 Rule Set 1: Simple DTD 7-56
7.2.1 Rules 7-56
7.2.2 Auxiliary functions 7-61
7.3 Rule Set 2: Grouped entities 7-67
7.3.1 Rules 7-67
7.3.2 Auxiliary functions 7-75
7.4 Rule Set 3: Hierarchical Grouped entities 7-78
7.4.1 Rules 7-78
7.4.2 Auxiliary functions 7-86
7.5 Fixed DTD elements 7-89
8. XML Generation Principles 8-93
8.1 Purpose 8-93
8.2 Introduction 8-93
8.3 Two Model Sources 8-93
8.3.1 Production by Object Containment 8-94
8.3.2 MOF's Role in XML Production 8-99
8.3.3 Production by Package Extent 8-100
8.4 Distinctions between Approaches in Certain Situations 8-104
8.4.1 External Links 8-104
8.4.2 Links not Represented by References 8-104
8.4.3 Classifier-level Attributes 8-105
9. XML Document Production 9-107
9.1 Purpose 9-107
9.2 Introduction 9-107
9.3 Rules Representation 9-107
9.4 Production Rules 9-109
9.4.1 Production by Object Containment 9-109
9.4.2 Production by Package Extent 9-110
9.4.3 Object Productions 9-111
9.4.4 AttributeProduction 9-113
9.4.5 AttributeContents 9-115
9.4.6 Reference Productions 9-116
9.4.7 Composition Production 9-117
9.4.8 DataValue Productions 9-118
9.4.9 CORBA-Specific Types 9-123
9.4.10 Document Prologue 9-142
9.4.11 Terminals 9-145
9.4.12 Helpers 9-148
10. Compatibility with Other Standards 10-151
10.1 Introduction 10-151
11. Conformance Issues 11-153
11.1 Introduction 11-153
11.2 Required Compliance 11-153
11.2.1 XMI DTD Compliance 11-153
11.2.2 XMI Document Compliance 11-154
11.2.3 Usage Compliance 11-154
11.3 Optional Compliance Points 11-154
11.3.1 XMI DTD Compliance 11-154
11.3.2 XMI Document Compliance 11-154
11.3.3 Usage Compliance 11-155
Reference 157
Glossary 159