Repository navigation
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###
- Task Data
- Block Data
- Scope Data
- Multiple Instance Data
- Case Data
- Folder Data
- Workflow Data
- Environment Data
- Data Interaction - Task to Task
- Data Interaction - Block Task to Sub-Workflow Decomposition
- Data Interaction - Sub-Workflow Decomposition to Block Task
- Data Interaction - to Multiple Instance Task
- Data Interaction - from Multiple Instance Task
- Data Interaction - Case to Case
- Data Interaction - Task to Environment - Push-Oriented
- Data Interaction - Environment to Task - Pull-Oriented
- Data Interaction - Environment to Task - Push-Oriented
- Data Interaction - Task to Environment - Pull-Oriented
- Data Interaction - Case to Environment - Push-Oriented
- Data Interaction - Environment to Case - Pull-Oriented
- Data Interaction - Environment to Case - Push-Oriented
- Data Interaction - Case to Environment - Pull-Oriented
- Data Interaction - Workflow to Environment - Push-Oriented
- Data Interaction - Environment to Workflow - Pull-Oriented
- Data Interaction - Environment to Workflow - Push-Oriented
- Data Interaction - Workflow to Environment - Pull-Oriented
- Data Transfer by Value - Incoming
- Data Transfer by Value - Outgoing
- Data Transfer - Copy In/Copy Out
- Data Transfer by Reference - Unlocked. Yes: data references can be passed in signals instead of actual values.
- 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.
- Data Transformation - Input. Yes: data can be transformed in the process function, before the actual processing.
- Data Transformation - Output. Yes: data can be transformed in the process function, after the actual processing and right before invoking the callback.
- Task Precondition - Data Existence
- Task Precondition - Data Value
- Task Postcondition - Data Existence
- Task Postcondition - Data Value
- Event-based Task Trigger
- Data-based Task Trigger
- Data-based Routing
###Control patterns###
- Sequence
- Parallel Split
- Synchronization
- Exclusive Choice
- Simple Merge
- Multi-Choice
- Structured Synchronizing Merge
- Multi-Merge
- Structured Discriminator
- Blocking Discriminator
- Cancelling Discriminator
- Structured Partial Join
- Blocking Partial Join
- Cancelling Partial Join
- Generalised AND-Join
- Local Synchronizing Merge
- General Synchronizing Merge
- Thread Merge
- Thread Split
- Multiple Instances without Synchronization
- Multiple Instances with a Priori Design-Time Knowledge
- Multiple Instances with a Priori Run-Time Knowledge
- Multiple Instances without a Priori Run-Time Knowledge
- Static Partial Join for Multiple Instances
- Cancelling Partial Join for Multiple Instances
- Dynamic Partial Join for Multiple Instances
- Deferred Choice
- Interleaved Parallel Routing
- Milestone
- Critical Section
- Interleaved Routing
- Cancel Task
- Cancel Case
- Cancel Region
- Cancel Multiple Instance Activity
- Complete Multiple Instance Activity
- Arbitrary Cycles
- Structured Loop
- Recursion
- Implicit Termination
- Explicit Termination
- Transient Trigger
- Persistent Trigger