Book a Demo

Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.

Prev Next

Migrating from Previous Versions

It is possible to migrate a BPMN 1.1 model (or part of a model) to BPMN 2.0, using the Automation Interface function Migrate(). This function updates the Tagged Values and, if required, stereotypes to BPMN 2.0 for all elements, attributes, connectors and diagrams under the selected Package or element.


This VB script calls the Migrate() function to migrate the Package or element to BPMN 2.0:

Sub MigrateElement (sGUID, lngPackageID)

     Dim proj as EA.Project

     set proj = Repository.GetProjectInterface

     proj.Migrate sGUID, "BPMN1.1", "BPMN2.0"

     'refresh the model

     If lngPackageID<>0 Then

          Repository.RefreshModelView (lngPackageID)

     End If

End Sub

Sub MigrateSelectedItem

     Dim selType

     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,"BPMN 2.0 Migration"

     ElseIf selType = 5 Then 'means Package

          set selPackage = GetTreeSelectedObject

          MigrateElement selPackage.PackageGUID, selPackage.PackageID

          MsgBox "Package Migration Completed",0,"BPMN 2.0 Migration"


          MsgBox "Select a Package or element in the Browser window to initiate migration",0,"BPMN 2.0 Migration"

     End If

End Sub

Sub Main


End Sub



  • Please backup your project before you run the BPMN 2.0 Migrator
  • Normalization occurs on these tags:
         -  BPMN1.1::Activity::InMessageRef
         -  BPMN1.1::Activity::OutMessageRef
         -  BPMN1.1::Activity::IORules
         -  BPMN1.1::Activity::InputSets
         -  BPMN1.1::Activity::OutputSets
         -  BPMN1.1::Activity::ComplexMI_FlowCondition
         -  BPMN1.1::Activity::Performers
         -  BPMN1.1::BusinessProcess::InputSets
         -  BPMN1.1::BusinessProcess::OutputSets
         -  BPMN1.1::BusinessProcess::Performers
         -  BPMN1.1::EndEvent::ErrorCode
         -  BPMN1.1::IntermediateEvent::ErrorCode

    Taking BPMN1.1::Activity::InMessageRef as an example, these steps take place:

    (1) Create a new element BPMN2.0::Operation (this is the bridging element)
    (2) Insert the reference tag 'BPMN2.0::Activity::operationRef'
    (3) Migrate BPMN1.1::Activity::InMessageRef to BPMN2.0::Operation::InMessageRef
  • Denormalization occurs on these tags:
         -  A BPMN1.1::Transaction referenced by a BPMN1.1::Activity::TransactionRef
              >  BPMN1.1::Transaction::TransactionMethod
              >  BPMN1.1::Transaction::TransactionProtocol
         -  A BPMN1.1::WebService referenced by a BPMN1.1::Activity::WebServiceRef,
              >  BPMN1.1::WebService::Operation
              >  BPMN1.1::WebService::Interface
              >  BPMN1.1::WebService::ParticipantRef
         -  A BPMN1.1::Condition referenced by a BPMN1.1::StartEvent::ConditionRef,
              >  BPMN1.1::Condition::ConditionExpression

    Taking BPMN1.1::Activity::TransactionRef as an example, these steps take place:

    (1) Find element BPMN1.1::Transaction by BPMN1.1::Activity::TransactionRef
    (2) Migrate this referenced BPMN1.1::Transaction::TransactionMethod's value to
    (3) Migrate this referenced BPMN1.1::Transaction::TransactionProtocol's value to
  • If a BPMN1.1 stereo tag is discarded in BPMN2.0, it is preserved if the tag has a value

Learn more