MEGA/XPDL object correspondence
The XPDL export feature translates a Workflow specification in MEGA into a XPDL-compliant output file. It is based on a set of mappings between the MEGA System Process and Organizational Process metamodel and XPDL version 2.1.
Conventions
MEGA concept names start with uppercase. Example: Task.
XPDL elements are delimited by <..>.
XPDL attributes are prefixed by ::.
XPDL concepts relate to the following WfMC Specification document: “Process Definition Interface – XML Process Definition Language, WFMC-TC-1025, Version 2.1a”.
Special Behaviors
Each exported Workflow will generate a default <Pool> and a default <Lane>.
The internal participants will be exported as <Artifact> typed Group for graphical layout purpose and as <Participant> which will perform the tasks.
The external participants will be exported as <Pool>and as <Participant>.
Only graphical Sequence Flows, Message Flows and Notes are exported.
Application, IT Service and User Interface objects are exported as Extended Attributes. Its name, id and comment are concerned.
The export tool considers objects and links using the rules detailed in the object correspondence table. The diagrams are only used to retrieve graphical information of exported objects. One possible consequence is that in the result you can have, after import in another tool, more objects appearing in the result diagram.
Object correspondences
The following table indicates concepts managed by the export tool:
 
MEGA Concepts
XPDL Concepts
Organizational Process
Name
_Hexaidabs
Comment
Owned Operation
Owned Element
Gateway
Event
Sequence Flow (*)
Data Object
Message Flow (*)
Participant
Content
Internal Participant
Owned Organizational Process
Organizational Process Used
1316091788_brackets <WorkflowProcess>
Name
Id
Description
<Activities>
 
<Activities>
<Activities>
<Transitions>
<Artifacts>
<MessageFlows>
<Participants>
<DataFields>
<Participants>
<WorkflowProcess>
<WorkflowProcess>
Operation
Name
_Hexaidabs
Comment
Compensation
Transaction
Loop
Multiple
Loop Condition
User Interface
Name
_Hexaidabs
Comment
IT Service
Name
_Hexaidabs
Comment
Application
Name
_Hexaidabs
Comment
System Used
System Specification
IT Service
Application
Name
_Hexaidabs
Comment
Participant
Called Organizational Process
Note (*)
1316091788_brackets <Activity>
Name
Id
Description
IsForCompensation
IsATransaction
<Loop>
<Loop :: LoopType>
<LoopCondition>
<Task::TaskUser>
<ExtendedAttribute :: GuiName>
<ExtendedAttribute :: GuiId>
<ExtendedAttribute :: GuiDescription>
<Task::TaskService>
<ExtendedAttribute :: ServiceName>
<ExtendedAttribute :: ServiceId>
<ExtendedAttribute :: ServiceDescription>
<Task::TaskService>
<ExtendedAttribute :: ServiceName>
<ExtendedAttribute :: ServiceId>
<ExtendedAttribute :: ServiceDescription>
 
 
<Task::TaskService>
<Task::TaskService>
<ExtendedAttribute :: ServiceName>
<ExtendedAttribute :: ServiceId>
<ExtendedAttribute :: ServiceDescription>
<Performer>
<Implementation :: SubFlow>
<Artifact :: Annotation>
Content
Name
_Hexaidabs
1316091788_brackets <DataField>
Name
Id
Gateway
Name
_Hexaidabs
Comment
Gateway Type
Note (*)
1316091788_brackets <Activity :: Route>
Name
Id
Description
See Table 1
<Artifact :: Annotation>
Event
Name
_Hexaidabs
Comment
Event Nature
Event Type
Triggered Sequence Flow
Bounded Activity
Note (*)
1316091788_brackets <Activity :: Event>
Name
Id
Description
See Table 2
See Table 2
<Transition>
Target
<Artifact :: Annotation>
Sequence Flow
Predicate
_Hexaidabs
Comment
Sequence Type
Predecessor
Successor
Data Object
Note (*)
1316091788_brackets <SequenceFlow>
Name
Id
Description
See Table 3
<Transition :: From>
<Transition :: To>
<Artifact :: DataObject>
<Artifact :: Annotation>
Data Object
Name
_Hexaidabs
Data Object Status
Producer of Data Object
Consumer of Data Object
Sequence Flow
1316091788_brackets <Artifact :: DataObject>
Name
Id
State
<Association :: Source>
<Association :: Target>
<Association :: Object>
Message Flow
_Hexaidabs
Content
Name
Source Element
Target Element
Note (*)
<MessageFlow>
Id
 
Name
<MessageFlow :: Source>
<MessageFlow :: Target>
<Artifact :: Annotation>
Participant
Name
_Hexaidabs
Comment
Assignment
Name
MetaClass Name
1316091788_brackets <Participant> & <Artifact :: Group>
Name
Id
Description
 
<Artifact :: Description>
See Table 4
Note
Name
_Hexaidabs
Comment
1316091788_brackets <Artifact :: Annotation>
Name
Id
TextAnnotation
System Process
Name
_Hexaidabs
Comment
Owned Task
Owned Element
Gateway
Event
Sequence Flow (*)
Data Object
Message Flow (*)
Participant
Content
Internal Participant
Owned System Process
Organizational Process within Model
1316091788_brackets <WorkflowProcess>
Name
Id
Description
<Activities>
 
<Activities>
<Activities>
<Transitions>
<Artifacts>
<MessageFlows>
<Participants>
<DataFields>
<Participants>
<WorkflowProcess>
<WorkflowProcess>
Task
Name
_Hexaidabs
Comment
Compensation
Transaction
Loop
Multiple
Loop Condition
Task Type
User Interface
Name
_Hexaidabs
Comment
IT Service
Name
_Hexaidabs
Comment
Participant
Called System Process
Note (*)
1316091788_brackets <Activity>
Name
Id
Description
IsForCompensation
IsATransaction
<Loop>
<Loop :: LoopType>
<LoopCondition>
See Table 5
<Task::TaskUser>
<ExtendedAttribute :: GuiName>
<ExtendedAttribute :: GuiId>
<ExtendedAttribute :: GuiDescription>
<Task::TaskService>
<ExtendedAttribute :: ServiceName>
<ExtendedAttribute :: ServiceId>
<ExtendedAttribute :: ServiceDescription>
<Performer>
<Implementation :: SubFlow>
<Artifact :: Annotation>
Functional Process
Name
_Hexaidabs
Comment
Owned Functional Activity
Owned Element
Gateway
Event
Sequence Flow (*)
Data Object
Message Flow (*)
Participant
Internal Participant
Owned Functional Process
Functional Process Used
1316091788_brackets <WorkflowProcess>
Name
Id
Description
<Activities>
 
<Activities>
<Activities>
<Transitions>
<Artifacts>
<MessageFlows>
<Participants>
<Participants>
<WorkflowProcess>
<WorkflowProcess>
Functional Activity
Name
_Hexaidabs
Comment
Compensation
Transaction
Loop
Multiple
Loop Condition
Application
Name
_Hexaidabs
Comment
IT Service
Name
_Hexaidabs
Comment
Participant
Called Functional Process
Note (*)
1316091788_brackets <Activity>
Name
Id
Description
IsForCompensation
IsATransaction
<Loop>
<Loop :: LoopType>
<LoopCondition>
<Task::TaskService>
<ExtendedAttribute :: ServiceName>
<ExtendedAttribute :: ServiceId>
<ExtendedAttribute :: ServiceDescription>
<Task::TaskService>
<ExtendedAttribute :: ServiceName>
<ExtendedAttribute :: ServiceId>
<ExtendedAttribute :: ServiceDescription>
<Performer>
<Implementation :: SubFlow>
<Artifact :: Annotation>
Business Process
Name
_Hexaidabs
Comment
Owned Element
Gateway
Event
Sequence Flow (*)
Data Object
Message Flow (*)
Participant
Internal Participant
Owned Business Process
Organizational Process
System Process
Functional Process
1316091788_brackets <WorkflowProcess>
Name
Id
Description
 
<Activities>
<Activities>
<Transitions>
<Artifacts>
<MessageFlows>
<Participants>
<Participants>
<WorkflowProcess>
<WorkflowProcess>
<WorkflowProcess>
<WorkflowProcess>
(*) Only if the object is represented on a diagram
 
Table 1:
MEGA Gateway Type
XPDL
Gateway Type
Exclusive Event
Exclusive Data
Parallel
Inclusive
Complex
 
1316091788_brackets <Route>
:: GatewayType = Exclusive & :: ExclusiveType = Event
:: GatewayType = Exclusive & :: ExclusiveType = Data
:: GatewayType = Parallel
:: GatewayType = Inclusive
:: GatewayType = Complex
 
Table 2:
 
 
MEGA Event Nature
 
 
Start
End
Throw
Catch
 
 
<StartEvent>
<EndEvent>
<IntermediateEvent>
CatchThrow = Throw
<IntermediateEvent>
CatchThrow = Catch
MEGA Event Type
Generic
:: Trigger = None
:: Result = None
:: Trigger = None
:: Trigger = None
Message
:: Trigger = Message
:: Result = Message
:: Trigger = Message
:: Trigger = Message
Timer
:: Trigger = Timer
:: Result = None *
:: Trigger = None *
:: Trigger = Timer
Error
:: Trigger = None *
:: Result = Error
:: Trigger = None *
:: Trigger = Error
Cancel
:: Trigger = None *
:: Result = Cancel
:: Trigger = None *
:: Trigger = Cancel
Compensation
:: Trigger = None *
:: Result = Compensation
:: Trigger = Compensation
:: Trigger = Compensation
Conditional
:: Trigger = Conditional
:: Result = None *
:: Trigger = None *
:: Trigger = Conditional
Link
:: Trigger = None *
:: Result = None *
:: Trigger = Link
:: Trigger = Link
Signal
:: Trigger = Signal
:: Result = Signal
:: Trigger = Signal
:: Trigger = Signal
Terminate
:: Trigger = None *
:: Result = None *
:: Trigger = None *
:: Trigger = None *
Multiple
:: Trigger = Multiple
:: Result = Multiple
:: Trigger = Multiple
:: Trigger = Multiple
* = Default behavior because the combination is not possible
 
Table 3:
MEGA Sequence Type
XPDL
Sequence Type
Conditioned
Standard
Default
 
1316091788_brackets <Condition>
:: Type = CONDITION & :: <Expression>
-
:: Type = OTHERWISE
 
 
Table 4:
MEGA Assignment
XPDL
Assignment
Org-Unit
Application
IT Service
System Process
Others
 
1316091788_brackets <ParticipantType>
:: Type = ORGANIZATIONAL_UNIT
:: Type = SYSTEM
:: Type = SYSTEM
:: Type = SYSTEM
:: Type = ROLE
 
 
Table 5:
MEGA Task Type
XPDL
Task Type
Task With GUI
IT Service Call
System Process Call
Manual Task
Script Task
Send Task
Receive Task
 
1316091788_brackets <Task>
<TaskUser>
<TaskService>
<SubFlow>
<TaskManual>
<TaskScript>
<TaskSend>
<TaskReceive>