|Workflow modeling is a continuous activity where
processes are constantly improved to increase
efficiencies and meet organizational goals and
strategies. A continuous improvement needs to be preceded
by a precise workflow analysis. Different types of
analysis can be suggested to drive workflow change,
improvement, and re-engineering. We focus on the study of
Quality of Service (QoS) to conduct workflow analysis and
trigger workflow adaptation. QoS quantifies workflows
based on non-functional parameters such as response time,
delay time, processing time, cost, reliability and
fidelity. QoS analysis makes workflow definitions more
transparent and quantifiable allowing inefficiencies,
such as bottlenecks, to be found.
We have developed a stochastic workflow reduction algorithm (SWR) for computing aggregate QoS properties step-by-step. The algorithm is used to compute QoS metrics for a given workflow process based on tasks QoS estimates. At each step a reduction rule is applied to shrink a workflow. At each step the response time (T), processing time (PT), delay time (DT), cost (C) and reliability (R) of the tasks involved is computed. This is continued until only one atomic task is left in the workflow. When this state is reached, the remaining task contains the QoS metrics corresponding to the workflow under analysis. The set of reduction rules that can be applied to a composite service (workflow) corresponds to the set of inverse operation that can be used to construct a network of services. We have decided to only allow the construction of workflows based on a set of predefined construction rules to protect users from designing invalid workflows. Invalid workflows contain design errors, such as non-termination, deadlocks, and split of instances. To compute QoS metrics, we use a set of six distinct reduction rules: (1) sequential, (2) parallel, (3) conditional, (4) fault-tolerant, (5) loop, and (6) network.
This page contains files that you may download.
The best way to start is to look at a workflow design and look at a java program example that uses the SWR package to build the workflow and uses the SWR algorithm to reduce it. The SWR package includes the necessary classes and methods to create tasks, transitions, and workflows. Additionaly, QoS metrics can be associated with tasks. Once a workflow is build, the SWR algorithm can be called. Upon completion, the algorithm returns a single task that contains the overall QoS of the initial workflow.
If you would like to report a bug, submit a bug fix, or submit an enhancement, contact Jorge Cardoso.