Skip to main content Skip to complementary content

Microsoft Office Visio UML Class Diagram (via UML 1.x XMI) - Import

Availability-note AWS

Bridge Requirements

This bridge:
  • is only supported on Microsoft Windows.

Bridge Specifications

Vendor Microsoft
Tool Name Office Visio UML Class Diagram
Tool Version 97 to 2016
Tool Web Site http://microsoft.com/visio
Supported Methodology [Object Modeling] Data Store (Object Model UML Class Diagrams) via UML XMI File
Data Profiling
Incremental Harvesting
Multi-Model Harvesting
Remote Repository Browsing for Model Selection

SPECIFICATIONS
Tool: Microsoft / Office Visio UML Class Diagram version 97 to 2016 via UML XMI File
See http://microsoft.com/visio
Metadata: [Object Modeling] Data Store (Object Model UML Class Diagrams)
Component: OmgUmlXmiImport.MicrosoftOfficeVisioUml version 11.2.0

OVERVIEW
This bridge imports data models from XMI (XML Metadata Interchange format) files with objects, attributes, inheritance, types, relationships and diagrams. The actual standard specifications provided by the OMB are often extended for proprietary reasons by the source tool vendor, and in many cases the metadata captured is not everything represented in the file. A high-level description of the metadata coverage is provided in the LIMITATIONS.

REQUIREMENTS
To generate an XMI file from Microsoft Visio UML (XMI):

See Microsoft Visio documentation for XMI Export.

FREQUENTLY ASKED QUESTIONS
n/a

LIMITATIONS
Refer to the current general known limitations at https://www.metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.html

SUPPORT
Provide a troubleshooting package with debug log. Debug log can be set in the UI or in conf/conf.properties with MIR_LOG_LEVEL=6


Bridge Parameters

Parameter Name Description Type Values Default Scope
File Imports an XML file compliant to the Object Management Group (OMG) Unified Modeling Language (UML) XML Metadata Interchange (XMI) file format. There are multiple versions of the UML metamodel and XMI format, therefore make sure you identify the exact OMG UML XMI version produced by your source tool. FILE
*.xml
*.xmi
  Mandatory
Target Tool Specifies which tool generated the model you want to import. This information is used to fine tune the behavior of this bridge to the specific way in which a given tool saved the model.

'Auto Detect'
This bridge will auto-detect which tool generated the file.

'OMG XMI'
Specifies that the file conforms to the OMG XMI 1.0 standard DTDs.

'Argo/UML 0.7'
Specifies that the file was generated by Argo/UML 0.7.0 or older.

'Argo/UML 0.8'
Specifies that the file was generated by Argo/UML 0.7.1 or more recent.

'XMI Toolkit'
Specifies that the file was generated by IBM's XMI Toolkit.

'XMI Interchange'
Specifies that the file was generated by Unisys's Rose XMI Interchange.

'Rose UML'
Specifies that the file was generated by Unisys's Rose UML.

'Visio UML'
Specifies that the file was generated by Microsoft Visio Professional 2002 and Visio for Enterprise Architects using UML to XMI Export.

'PowerDesigner UML'
Specifies that the file was generated by Sybase PowerDesigner using XMI Export.

'Component Modeler'
Specifies that the file was generated by CA AllFusion Component Modeler using XMI Export.

'Netbeans XMI Writer'
Specifies that the file was generated by one of applications using Netbeans XMI Writer, like Poseidon.

'Embarcadero Describe'
Specifies that the file was generated by Embarcadero's Describe.
ENUMERATED
Auto Detect
OMG XMI
Argo/UML 0.7
Argo/UML 0.8
XMI Toolkit
XMI Interchange
Rose UML
Visio UML
PowerDesigner UML
Component Modeler
Netbeans XMI Writer
Embarcadero Describe
Auto Detect  
Auto Correct The XMI file sometimes contains a slightly incomplete or incorrect model. Specify whether this bridge should attempt to fix them or not:

'True'
Attempt to fix the model. This may involve deleting some elements but you will receive warnings.

'False'
Do not modify the model in any way, if the model is invalid it will be rejected by the validation phase if it is enabled.
BOOLEAN   True  
Model Filter Which model(s) to import in case the XML file contains more than one model.

'TestModel'
Only import the model called 'TestModel'.

'TestModel*'
Import any model with a name that starts with 'TestModel', etc.
STRING      
Top Package The metamodel requires that all model elements (Classes, Associations...) belong to a package. Whenever any element is not explicitly associated to a package it is stored in a special package. This option specifies the name of that package. If there is a single top level package by that name in the model, package is considered optional so that it will not appear in the destination model if the destination tool does not require all objects to be in the package. STRING   Logical View  
Import UUIDs The UML file may contain UUIDs. Specify whether this bridge should import UUIDs as NativeIds:

'True'
The attribute xmi.uuid is saved in the NativeId property.

'False'
The attribute xmi.uuid is ignored.
BOOLEAN   True  

 

Bridge Mapping

Meta Integration Repository (MIR)
Metamodel
(based on the OMG CWM standard)
"Microsoft Office Visio UML Class Diagram (via UML 1.x XMI)"
Metamodel
OmgUmlXmi
Mapping Comments
     
Name Foundation.Core.ModelElement.name / name  
Argument Foundation.Core.Parameter / Parameter  
DefaultValue Foundation.Core.Parameter.defaultValue / defaultValue  
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
Kind Foundation.Core.Parameter.kind / kind  
Name Foundation.Core.ModelElement.name / name  
Position   Order in the XMI file
Stereotype Foundation.Extension_Mechanisms.Stereotype  
Association Foundation.Core.Association / Association  
Aggregation   True if one of the AssociationRoles has Foundation.Core.AssociationEnd.aggregation / aggregation set to true
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
ExtraConstraint Foundation.Core.Constraint / Constraint  
Name Foundation.Core.ModelElement.name / name  
Stereotype Foundation.Extension_Mechanisms.Stereotype  
AssociationRole Foundation.Core.AssociationEnd / AssociationEnd  
CppContainment Foundation.Core.AssociationEnd.aggregation / aggregation Only mapped for the source Association Role of aggregation Associations. Otherwise the default value is used
CppScope Foundation.Core.ModelElement.visibility / visibility  
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
ExtraConstraint Foundation.Core.Constraint / Constraint  
Multiplicity Foundation.Core.AssociationEnd.multiplicity / multiplicity  
Name Foundation.Core.ModelElement.name / name  
Navigable Foundation.Core.AssociationEnd.isNavigable / isNavigable  
Ordered Foundation.Core.AssociationEnd.ordering / Foundation.Core.AssociationEnd.isOrdered / isOrdered  
Source   Based on the multiplicity of each role
Stereotype Foundation.Extension_Mechanisms.Stereotype  
Attribute Foundation.Core.Attribute / Attribute  
CppDerived Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'derived' in XMI Toolkit only
CppScope Foundation.Core.ModelElement.visibility / visibility  
CppStatic Foundation.Core.Feature.ownerScope / ownerScope  
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
InitialValue Foundation.Core.Attribute.initialValue / initialValue  
Name Foundation.Core.ModelElement.name / name  
Position   Order in the XMI file
Stereotype Foundation.Extension_Mechanisms.Stereotype  
Class Foundation.Core.Class or Foundation.Core.Interface / Class or Interface  
CppAbstract Foundation.Core.GeneralizableElement.isAbstract / isAbstract  
CppClassType   This property is set to 'InterfaceClass' for Interfaces, to one of the parameterized variants if the Class has parameters, to 'MetaClass' or one of the 'Utility' variants if it has the standard UML 1.3 'metaclass' or 'utility' stereotype respectively
CppConcurrency Foundation.Core.Class.isActive / isActive If this tag contains true then cppConcurrency is set to 'ACTIVE'
CppPersistent Foundation.Core.ModelElement.taggedValue / taggedValue Set according to the tagged value called 'persistence', as defined in UML 1.3
CppScope Foundation.Core.ModelElement.visibility / visibility  
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
Name Foundation.Core.ModelElement.name / name  
Stereotype Foundation.Extension_Mechanisms.Stereotype  
Dependency Foundation.Core.Dependency / Dependency Dependencies to or from anything but Classes (e.g. Packages) are not supported. Links between Dependencies and such objects will be ignored and the Dependency deleted if it is invalid as a result
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
Name Foundation.Core.ModelElement.name / name  
Stereotype Foundation.Extension_Mechanisms.Stereotype  
DerivedType Foundation.Data_Types.Primitive or Foundation.Data_Types.Enumeration or Foundation.Core.DataType / DataType  
DesignPackage Foundation.Core.Package / Model In Argo/UML mode, all models, except the top level one, represent packages
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
Name Foundation.Core.ModelElement.name / name  
Stereotype Foundation.Extension_Mechanisms.Stereotype  
Generalization Foundation.Core.Generalization / Generalization  
CppScope Foundation.Core.ModelElement.visibility / visibility The cppScope property is set to 'implementation' if the Generalization has the standard UML 1.3 'implementation' stereotype
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
Name Foundation.Core.ModelElement.name / name  
Stereotype Foundation.Extension_Mechanisms.Stereotype  
GeneralizationRole Foundation.Core.Generalization / Generalization  
Operation Foundation.Core.Operation / Operation Semantics is set according to the tagged value called 'semantics'
CppAbstract Foundation.Core.Operation.isAbstract XMI 1.1 only
CppConcurrency Foundation.Core.Operation.concurrency / concurrency  
CppScope Foundation.Core.ModelElement.visibility / visibility  
CppStatic Foundation.Core.Feature.ownerScope / ownerScope  
CppVirtual Foundation.Core.Operation.isPolymorphic / isPolymorphic XMI 1.0 only
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
Name Foundation.Core.ModelElement.name / name  
Postcondition Foundation.Core.Constraint / Constraint Constraint with the Stereotype 'postcondition' as defined in UML 1.3
Precondition Foundation.Core.Constraint / Constraint Constraint with the Stereotype 'precondition' as defined in UML 1.3
Semantics Foundation.Core.ModelElement.taggedValue / taggedValue Tagged value called 'semantics' as defined in UML 1.3
Stereotype Foundation.Extension_Mechanisms.Stereotype  
PropertyElementTypeScope User Defined Property  
Scope UDP Class  
PropertyType User Defined Property  
Name tag Set to the name of the tag
Usage   Set to UML
PropertyValue User Defined Property Used to store tagged values
Name tag Set to the name of the tag
Value value Value of the tag
Realization Foundation.Core.Dependency This is implementated as a simple link between classes in XMI 1.0 and as a Dependency with the Stereotype 'realization' in XMI 1.1 as defined in UML 1.3
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
Name Foundation.Core.ModelElement.name / name XMI 1.1. Only
StoreModel Model_Management.Model / Model  
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
Name Foundation.Core.ModelElement.name / name  
TypeValue Foundation.Core.Attribute or Foundation.Data_Types.EnumerationLiteral / Attribute  
Description Foundation.Core.ModelElement.taggedValue / taggedValue Tagged values called 'documentation' are put in the description
Name Foundation.Core.ModelElement.name / name  
Position   Order in the XMI file
Value   Set to be equal to the name

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!