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