Supported Workflow Patterns

Hint

All examples are located here

Control-Flow Patterns

  1. Sequence [control-flow/sequence.xml]
  2. Parallel Split [control-flow/parallel_split.xml]
  3. Synchronization [control-flow/synchronization.xml]
  4. Exclusive Choice [control-flow/exclusive_choice.xml]
  5. Simple Merge [control-flow/simple_merge.xml]
  6. Multi-Choice [control-flow/multi_choice.xml]
  7. Structured Synchronizing Merge [control-flow/structured_synchronizing_merge.xml]
  8. Multi-Merge [control-flow/multi_merge.xml]
  9. Structured Discriminator [control-flow/structured_discriminator.xml]
  10. Arbitrary Cycles [control-flow/arbitrary_cycles.xml]
  11. Implicit Termination [control-flow/implicit_termination.xml]
  12. Multiple Instances without Synchronization [control-flow/multi_instance_without_synch.xml]
  13. Multiple Instances with a Priori Design-Time Knowledge [control-flow/multi_instance_with_a_priori_design_time_knowledge.xml]
  14. Multiple Instances with a Priori Run-Time Knowledge [control-flow/multi_instance_with_a_priori_run_time_knowledge.xml]
  15. Multiple Instances without a Priori Run-Time Knowledge [control-flow/multi_instance_without_a_priori.xml]
  16. Deferred Choice [control-flow/deferred_choice.xml]
  17. Interleaved Parallel Routing [control-flow/interleaved_parallel_routing.xml]
  18. Milestone [control-flow/milestone.xml]
  19. Cancel Task [control-flow/cancel_task.xml]
  20. Cancel Case [control-flow/cancel_case.xml]
  21. NOT IMPLEMENTED
  22. Recursion [control-flow/recursion.xml]
  23. Transient Trigger [control-flow/transient_trigger.xml]
  24. Persistent Trigger [control-flow/persistent_trigger.xml]
  25. Cancel Region [control-flow/cancel_region.xml]
  26. Cancel Multiple Instance Task [control-flow/cancel_multi_instance_task.xml]
  27. Complete Multiple Instance Task [control-flow/complete_multiple_instance_activity.xml]
  28. Blocking Discriminator [control-flow/blocking_discriminator.xml]
  29. Cancelling Discriminator [control-flow/cancelling_discriminator.xml]
  30. Structured Partial Join [control-flow/structured_partial_join.xml]
  31. Blocking Partial Join [control-flow/blocking_partial_join.xml]
  32. Cancelling Partial Join [control-flow/cancelling_partial_join.xml]
  33. Generalized AND-Join [control-flow/generalized_and_join.xml]
  34. Static Partial Join for Multiple Instances [control-flow/static_partial_join_for_multi_instance.xml]
  35. Cancelling Partial Join for Multiple Instances [control-flow/cancelling_partial_join_for_multi_instance.xml]
  36. Dynamic Partial Join for Multiple Instances [control-flow/dynamic_partial_join_for_multi_instance.xml]
  37. Acyclic Synchronizing Merge [control-flow/acyclic_synchronizing_merge.xml]
  38. General Synchronizing Merge [control-flow/general_synchronizing_merge.xml]
  39. Critical Section [control-flow/critical_section.xml]
  40. Interleaved Routing [control-flow/interleaved_routing.xml]
  41. Thread Merge [control-flow/thread_merge.xml]
  42. Thread Split [control-flow/thread_split.xml]
  43. Explicit Termination [control-flow/explicit_termination.xml]

Workflow Data Patterns

  1. Task Data [data/task_data.xml]
  2. Block Data [data/block_data.xml]
  3. NOT IMPLEMENTED
  4. NOT IMPLEMENTED
  5. NOT IMPLEMENTED
  6. NOT IMPLEMENTED
  7. NOT IMPLEMENTED
  8. NOT IMPLEMENTED
  9. Task to Task [data/task_to_task.xml]
  10. Block Task to Sub-Workflow Decomposition [data/block_to_subworkflow.xml]
  11. Sub-Workflow Decomposition to Block Task [data/subworkflow_to_block.xml]

Specs that have no corresponding workflow pattern on workflowpatterns.com

  • Execute - spawns a subprocess and waits for the results
  • Transform - executes commands that can be used for data transforms
  • Celery - executes a Celery task (see http://celeryproject.org/)