Migrate to the Latest ArchiMate Version
If you have created a model under one version of ArchiMate, you can migrate all or part of it to a later version; for example, migrate the model from ArchiMate 2 to ArchiMate 3.1. You perform the migration using the Automation Project Interface function Migrate(), which updates the Tagged Values and, if required, stereotypes to the later version of ArchiMate for all elements, attributes, connectors and diagrams under the selected Package or element.
When you migrate your model, you must have both releases of the Technology enabled; when the migration is complete, disable the older release of the Technology.
Migrate ArchiMate 2 model to ArchiMate 3.1
The MDG Technology for ArchiMate 3.1 has a migration script built into it, to upgrade a model built for ArchiMate 2 to ArchiMate 3.1. To execute this script:
- Select the 'Specialize > Tools > Scripting' ribbon option.
- Expand the ArchiMate® 3.1 folder.
- Right-click on the 'Migrate ArchiMate 2 to ArchiMate 3' script.
- Click on the 'Run Script' option from the context menu.
- Monitor the execution of the script in the System Output window.
When the script has finished executing, disable the ArchiMate 2 technology.
Notes (Migrate ArchiMate 2 to ArchiMate 3.1)
- If you want to migrate from an ArchiMate model to an ArchiMate 3.1 model, you must do so in two stages: from ArchiMate to ArchiMate 2, and from ArchiMate 2 to ArchiMate 3.1
Migrate ArchiMate model to ArchiMate 2
You must create a script to call the Migrate() function to migrate a Package or element to ArchiMate 2: this is a VB script example of such a script:
Sub MigrateElement (sGUID, lngPackageID)
Dim proj as EA.Project
set proj = Repository.GetProjectInterface
proj.Migrate sGUID, "ArchiMate", "ArchiMate 2"
'refresh the model
If lngPackageID<>0 Then
Dim selElement as EA.Element
Dim selPackage as EA.Package
selType = GetTreeSelectedItemType
If selType = 4 Then 'means Element
set selElement = GetTreeSelectedObject
MigrateElement selElement.ElementGUID, selElement.PackageID
MsgBox "Element Migration Completed",0,"ArchiMate 2 Migration"
ElseIf selType = 5 Then 'means Package
set selPackage = GetTreeSelectedObject
MigrateElement selPackage.PackageGUID, selPackage.PackageID
MsgBox "Package Migration Completed",0,"ArchiMate 2 Migration"
MsgBox "Select a Package or Element in the Browser window to initiate migration",0,"ArchiMate 2 Migration"
Notes (Migrate ArchiMate to ArchiMate 2)
- All diagrams are converted to Business Layer diagrams
- Collaboration elements are converted to Business Collaboration or Application Collaboration depending on the value of the 'collaborationtype' Tagged Value
- Object elements are converted to Business Object, Contract or Data Object depending on the value of the 'objecttype' Tagged Value
- Interface elements are converted to Business Interface, Application Interface or Infrastructure Interface depending on the value of the 'interfacetype' Tagged Value
- Function elements are converted to Business Function or Application Function depending on the value of the 'functiontype' Tagged Value
- Interaction elements are converted to Business Interaction or Application Interaction depending on the value of the 'interactiontype' Tagged Value
- Service elements are converted to Business Service, Application Service or Infrastructure Service depending on the value of the 'servicetype' Tagged Value
- The 'iconstyle' Tagged Value is removed and the 'Use Rectangle Notation' menu option is set on or off as appropriate
- Process elements become Business Process elements
- Event elements become Business Event elements
- Actor elements become Business Actor elements
- Role elements become Business Role elements
- Component elements become Application Component elements
- Software elements become System Software elements
- Specialisation connectors become Specialization connectors
- Realisation connectors become Realization connectors
- Network Connector connectors become Network
- Node elements now extend UML Class elements
- Software elements now extend UML Class elements
- Junction elements now extend UML Decision elements
- Migrate() (a method of the Project Interface)