XML Metadata Interchange (XMI)
Table of Contents - ad/98-07-01


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