Importing XPDL to BPMN

This feature will automate the migration of business processes defined in XPDL format to the IBM DevOps Model Architect BPMN 2.0 format. This will be one time import of business models in XPDL to DevOps Model Architect model.


Rational® Software Architect 9.0 supports import of XPDL 1.0 version only. You can import an archive or a particular XPDL model to Rational Software Architect BPMN model. The import will map the defined XPDL elements to BPMN 2.0 elements as detailed in the table below. Rational Software Architect 9.0 supports only one vendor specific element from the XPDL model and that is SwimLane which will be mapped to BPMN element Lane in Rational Software Architect BPMN model. You will be able to enter the exact name corresponding to SwimLane used in the vendor specific model in the import wizard. The vendor specific data can be imported by extending the current importer as detailed in the example below.

Report generation

XPDL Importer will generate a report on the elements created in DevOps Model Architect BPMN model. The level of information and report generation can be set in the preferences underBPMN Modeling > XPDL Import. This report will have following information:
  • Mapping from XPDL element to DevOps Model Architect BPMN element (XPDL elements which have been ignored and not mapped will not be part of the report)
  • Errors
  • Exceptions
Table 1. Existing mapping details for XPDL to BPMN.
XPDL 1.0 DevOps Model Architect BPMN 2.0
Package Definitions
WorkflowProcess Process
FormalParameter ItemDefinition
Participant Resource
Activity with Subflow Call Activity
Activity with <route> Start Event/End Event
Activity with Transition Restriction- XOR Exclusive Gateway
Activity with Transition Restriction- AND Inclusive Gateway
Activity with Transition Restriction Parallel Gateway
SwimLane in Extended Attributes Lane
Transition Sequence Flow
Multiple Workflow Processes in single XPDL Multiple Process in the same BPMN diagram. All processes are listed in the Project Explorer view and available for selection as a Callable element. Main Process is displayed in the process diagram and other processes can be viewed by expanding the Call activity.
Activity with Transition having condition as "Exception" Error Event (displayed on Start Event, End Event, and Intermediate Boundary Interrupting Error Event)

Extending the XPDL import

A client can extend an existing transformation (owned by another provider) by inserting rules, content extractors and transforms into the existing transformation's hierarchy. The client can also add new properties to the existing transformation's descriptor and can even modify the default value of an existing property, but only if that property is read-write. If a transformation extension defines a property that already exists but is read-only, the extension property is ignored. In order to extend a transformation, the client needs to know the ID of the target transformation and the ID of the transform(s) within that transformation to which new transform elements are to be inserted. The detailed information on transformation extension can be understood from help topic "Xtools Transformation Extensions"

Tranformation ids used in XPDL Importer:
Main Transform                         = mainTransform
Activity to CallActivity Transform     = Activity2CallActivity_Transform
Activity to EndEvent Transform         = Activity2EndEvent_Transform
Activity to ExclusiveGateway Transform = Activity2ExclusiveGateway_Transform
Activity to InclusiveGateway Transform = Activity2InclusiveGatewayExtractor_Transform
Activity 2 ParallelGateway Transform   = Activity2ParallelGateway_Transform
Activity to StartEvent Transform       = Activity2StartEvent_Transform
Activity to Task Transform             = Activity2Task_Transform
DataField to ItemDefinition Transform  = DataField2ItemDefinition_Transform
DocumentRoot to Definitions Transform  = DocumentRoot2Definitions_Transform
Package to  Definitions Transform      = Package2Definitions_Transform
Participant to Resource Transform      = Participant2Resource_Transform
Transition to SequenceFlow Transform   = Transition2SequenceFlow_Transform
WorkflowProcess to Process Transform   = WorkflowProcess2Process_Transform