Bridge Specifications
Vendor | Tigris |
Tool Name | ArgoUML |
Tool Version | 0.10 to 0.24 |
Tool Web Site | http://argouml.tigris.org/ |
Supported Methodology | [Object Modeling] Data Store (Object Model UML Class Diagrams) via UML XMI File |
SPECIFICATIONS
Tool: Tigris / ArgoUML version 0.10 to 0.24 via UML XMI File
See http://argouml.tigris.org/
Metadata: [Object Modeling] Data Store (Object Model UML Class Diagrams)
Component: OmgUmlXmiArgoUml version 11.2.0
OVERVIEW
This bridge generates an Object Management Group (OMG) Unified Modeling Language (UML) Class Diagram XML Metadata Interchange (XMI) file with objects, attributes, inheritance, types, relationships. The actual standard specifications provided by the OMG (Object Management Group) are often extended for proprietary reasons by the target tool vendor, and in many cases the metadata written to the XMI file is then not consumed by the target tool. A high-level description of the metadata coverage is provide in the LIMITATIONS.
REQUIREMENTS
To load generated XMI file into Tigris ArgoUML:
This bridge generates a XMI and a ARGO file. Both are needed by Argo UML.
1. In Argo UML choose 'Open Project' from the 'File' menu.
2. Navigate to the folder that contains the file you want to open.
Tigris has changed the XMI format that Argo UML supports for version 0.26. In order to export to this version and greater, the workaround is to:
1. Select 'OMG UML 1.x XMI 1.x' bridge.
2. Enter 'Argo/UML 0.8' in the 'Target Tool/Standard' bridge parameter.
3. Export to an XML or XMI extension file.
4. Edit the export XML or XMI extension file and remove the second line in the file with 'DOCTYPE XMI SYSTEM'
5. Save the file and use the File > Import XMI option in Argo/UML
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 | Generates an XML file compliant to the Object Management Group (OMG) Unified Modeling Language (UML) XML Metadata Interchange (XMI) file format. In order to load the converted model in the tool: 1. In Argo UML choose "Open Project" from the "File" menu. 2. Argo UML may ask you if you want to save the current model. Answer as appropriate. 3. Navigate to the file you want to open. |
FILE | *.argo | Mandatory | |||
Target Tool/Standard | 'Argo/UML 0.7' - Generate the XMI file for use with Argo/UML version 0.7.0 or older. 'Argo/UML 0.8' - Generate the XMI file for use with Argo/UML version 0.7.1 or more recent. Tigris has changed the XMI format that Argo UML supports for version 0.26. In order to export to this version and greater, the workaround is to: 1. Select 'OMG UML 1.x XMI 1.x' bridge 2. Enter 'Argo/UML 0.8' in the 'Target Tool/Standard' bridge parameter 3. Export to an XML or XMI extension file 4. Edit the export XML or XMI extension file and remove the second line in the file with 'DOCTYPE XMI SYSTEM' 5. Save the file and use the File -> Import XMI option in Argo/UML |
ENUMERATED |
|
Argo/UML 0.8 | |||
UUIDs | Determines whether to export the object's 'Universally Unique ID' when known. Note that the UUIDs of the source model may not be compatible with the target tool. 'True' Export the UUIDs. 'False' Don't export the necessary tags. |
BOOLEAN | False | ||||
XML Indentation (pretty printing) | Controls the pretty printing of XML, for the purpose of opening the generated file in a text editor. E.g. 'space characters' Several space characters as indentation. 'tab key' Tab character as indentation. 'empty' No indentation which leads to a more compact file. |
STRING |
Bridge Mapping
Meta Integration Repository (MIR) Metamodel (based on the OMG CWM standard) |
"Tigris ArgoUML (via UML 1.x XMI)" Metamodel OmgUmlXmi |
Mapping Comments |
AliasType | Foundation.Data_Types.Primitive / DataType | |
Description | Foundation.Core.ModelElement.taggedValue / taggedValue | The description is put in a tagged value called 'documentation' |
Name | Foundation.Core.ModelElement.name / name | |
Argument | Foundation.Core.Parameter / Parameter | |
DefaultValue | Foundation.Core.Parameter.defaultValue / defaultValue | |
Description | Foundation.Core.ModelElement.taggedValue / taggedValue | The description is put in a tagged value called 'documentation' |
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 | The aggregation property of the source AssociationRole is set to true | |
Description | Foundation.Core.ModelElement.taggedValue / taggedValue | The description is put in a tagged value called 'documentation' |
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 | The description is put in a tagged value called 'documentation' |
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 | The description is put in a tagged value called 'documentation' |
InitialValue | Foundation.Core.Attribute.initialValue / initialValue | |
Name | Foundation.Core.ModelElement.name / name | |
Position | Order in the XMI file | |
Stereotype | Foundation.Extension_Mechanisms.Stereotype | |
BaseType | Foundation.Data_Types.Primitive / DataType | |
Name | Foundation.Core.ModelElement.name / name | |
Class | Foundation.Core.Class or Foundation.Core.Interface / Class or Interface | The 'Interface' tag is used if 'cppClassType' is set to 'InterfaceClass' |
CppAbstract | Foundation.Core.GeneralizableElement.isAbstract / isAbstract | |
CppClassType | See the mapping for Class and stereotype | |
CppConcurrency | Foundation.Core.Class.isActive / isActive | Set to true if cppConcurrency is 'ACTIVE' |
CppPersistent | Foundation.Core.ModelElement.taggedValue / taggedValue | cppPersistent is saved in a tagged value called 'persistence' as defined in UML 1.3 |
CppScope | Foundation.Core.ModelElement.visibility / visibility | The value 'Implementation' is mapped to 'Private'. |
Description | Foundation.Core.ModelElement.taggedValue / taggedValue | The description is put in a tagged value called 'documentation' |
Name | Foundation.Core.ModelElement.name / name | |
Stereotype | Foundation.Extension_Mechanisms.Stereotype | The Stereotype is set to 'metaclass' or 'utility' as defined in UML 1.3 if 'cppClassType' is 'MetaClass' or one of the 'Utility' variants |
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 | The description is put in a tagged value called 'documentation' |
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 | The hierarchy of type is not reproduced. In Argo/UML mode the same tag is always used. Otherwise the 'Primitive' tag is used if the type has no type values |
Name | Foundation.Core.ModelElement.name / name | |
DesignPackage | Foundation.Core.Package / Model | In Argo/UML mode all packages are saved using model tags. In XMI Toolkit mode the default package is omitted and its model elements are saved directly underneath the model |
Description | Foundation.Core.ModelElement.taggedValue / taggedValue | The description is put in a tagged value called 'documentation' |
Name | Foundation.Core.ModelElement.name / name | |
Stereotype | Foundation.Extension_Mechanisms.Stereotype | |
Generalization | Foundation.Core.Generalization / Generalization | Generalizations with multiple supertypes or subtypes are duplicated until they have exactly one supertype and subtype each |
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 | The description is put in a tagged value called 'documentation' |
Name | Foundation.Core.ModelElement.name / name | |
Stereotype | Foundation.Extension_Mechanisms.Stereotype | If cppScope is set to 'implementation' then the Stereotype is set to 'implementation' as defined in UML 1.3 |
GeneralizationRole | Foundation.Core.Generalization / Generalization | |
Operation | Foundation.Core.Operation / Operation | |
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 | The description is put in a tagged value called 'documentation' |
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 | |
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 | The description is put in a tagged value called 'documentation' |
Stereotype | Foundation.Extension_Mechanisms.Stereotype | |
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 | The description is put in a tagged value called 'documentation' |
Value | Foundation.Core.ModelElement.name / name |