Microsoft Office Visio UML Class Diagram (via UML 1.x XMI) - Import
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 |
|
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 | |||||||||||||
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 |