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 |
<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 (*) |
<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 |
<DataField>Name
Id
|
Gateway Name _Hexaidabs Comment Gateway Type Note (*) |
<Activity :: Route>Name
Id
Description
See Table 1
<Artifact :: Annotation>
|
Event Name _Hexaidabs Comment Event Nature Event Type Triggered Sequence Flow Bounded Activity Note (*) |
<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 (*) |
<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 |
<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 |
<Participant> & <Artifact :: Group>Name
Id
Description
<Artifact :: Description>
See Table 4
|
Note Name _Hexaidabs Comment |
<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 |
<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 (*) |
<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 |
<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 (*) |
<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 |
<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 |
<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 |
<Condition>:: Type = CONDITION & :: <Expression>
-
:: Type = OTHERWISE
|
Table 4:
|
MEGA Assignment
|
XPDL
|
|---|---|
Assignment Org-Unit Application IT Service System Process Others |
<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 |
<Task><TaskUser>
<TaskService>
<SubFlow>
<TaskManual>
<TaskScript>
<TaskSend>
<TaskReceive>
|


































































































































































































































