Skip to content

Workflow patterns

balis edited this page Dec 10, 2013 · 27 revisions

##Evaluation of HyperFlow with respect to workflow pattern support (http://www.workflowpatterns.com/)##

###Data patterns###

  1. Task Data
  2. Block Data
  3. Scope Data
  4. Multiple Instance Data
  5. Case Data
  6. Folder Data
  7. Workflow Data
  8. Environment Data
  9. Data Interaction - Task to Task
  10. Data Interaction - Block Task to Sub-Workflow Decomposition
  11. Data Interaction - Sub-Workflow Decomposition to Block Task
  12. Data Interaction - to Multiple Instance Task
  13. Data Interaction - from Multiple Instance Task
  14. Data Interaction - Case to Case
  15. Data Interaction - Task to Environment - Push-Oriented
  16. Data Interaction - Environment to Task - Pull-Oriented
  17. Data Interaction - Environment to Task - Push-Oriented
  18. Data Interaction - Task to Environment - Pull-Oriented
  19. Data Interaction - Case to Environment - Push-Oriented
  20. Data Interaction - Environment to Case - Pull-Oriented
  21. Data Interaction - Environment to Case - Push-Oriented
  22. Data Interaction - Case to Environment - Pull-Oriented
  23. Data Interaction - Workflow to Environment - Push-Oriented
  24. Data Interaction - Environment to Workflow - Pull-Oriented
  25. Data Interaction - Environment to Workflow - Push-Oriented
  26. Data Interaction - Workflow to Environment - Pull-Oriented
  27. Data Transfer by Value - Incoming
  28. Data Transfer by Value - Outgoing
  29. Data Transfer - Copy In/Copy Out
  30. Data Transfer by Reference - Unlocked. Yes: data references can be passed in signals instead of actual values.
  31. Data Transfer by Reference - With Lock. Yes, indirectly. Support of a mutually accessible data store is considered a separate concern, out of scope of the workflow engine. However, functions can use an external store with a lock mechanism in which workflow processes can share data.
  32. Data Transformation - Input. Yes: data can be transformed in the process function, before the actual processing.
  33. Data Transformation - Output. Yes: data can be transformed in the process function, after the actual processing and right before invoking the callback.
  34. Task Precondition - Data Existence
  35. Task Precondition - Data Value
  36. Task Postcondition - Data Existence
  37. Task Postcondition - Data Value
  38. Event-based Task Trigger
  39. Data-based Task Trigger
  40. Data-based Routing

###Control patterns###

  1. Sequence
  2. Parallel Split
  3. Synchronization
  4. Exclusive Choice
  5. Simple Merge
  6. Multi-Choice
  7. Structured Synchronizing Merge
  8. Multi-Merge
  9. Structured Discriminator
  10. Blocking Discriminator
  11. Cancelling Discriminator
  12. Structured Partial Join
  13. Blocking Partial Join
  14. Cancelling Partial Join
  15. Generalised AND-Join
  16. Local Synchronizing Merge
  17. General Synchronizing Merge
  18. Thread Merge
  19. Thread Split
  20. Multiple Instances without Synchronization
  21. Multiple Instances with a Priori Design-Time Knowledge
  22. Multiple Instances with a Priori Run-Time Knowledge
  23. Multiple Instances without a Priori Run-Time Knowledge
  24. Static Partial Join for Multiple Instances
  25. Cancelling Partial Join for Multiple Instances
  26. Dynamic Partial Join for Multiple Instances
  27. Deferred Choice
  28. Interleaved Parallel Routing
  29. Milestone
  30. Critical Section
  31. Interleaved Routing
  32. Cancel Task
  33. Cancel Case
  34. Cancel Region
  35. Cancel Multiple Instance Activity
  36. Complete Multiple Instance Activity
  37. Arbitrary Cycles
  38. Structured Loop
  39. Recursion
  40. Implicit Termination
  41. Explicit Termination
  42. Transient Trigger
  43. Persistent Trigger

Clone this wiki locally