I think you are talking about something called BPMN (Business Process Model and Notation) There are plenty of resources for bpmn on the Internet, in some advanced IDEs there is even an editor that allows you to draw your workflow and convert to some sort of UML later, and thats exactly why those languages have been invented : to make it easy to express abstract concepts about business and then about software and make them meet together.
On Wed, May 23, 2012 at 4:30 AM, Cliff <cjk...@gmail.com> wrote: > A workflow is really a network of tasks. Here are some general > observations about workflow networks. If it helps to clarify, mentally > substitute 'node' for task. > > > 1. A workflow consists of tasks. > 2. Workflow tasks need to be linked together in predecessor-successor > relationships. > 3. Any task with no predecessors is a starting point. It is ok to > have multiple starting points. Each starting point starts a thread.. > 4. Any task with no successors is an ending point. It is bad to have > multiple ending points because you never know if the workflow is complete. > Potential multiple end points should flow into an "or" gate.ra > 5. Any task with two or more successors is a branch. the branch count > starts at the count of start points and increments by the number of > successors minus 1 for each task. each branch starts a subthread. > 6. A workflow has a master thread. It meets these conditons: a) it > has a starting point; b) it terminates at the ending point c) it has the > greatest number of tasks; in case of ties, the selection is arbitrary. > 7. Any task with two or more predecessors is a merge. The merge count > starts at zero and increments by the number of predecessors minus 1 for > each task. > 8. Any workflow with one start point, one end point and no branches is > a linear workflow. Easy to represent. > 9. In a valid workflow, the branch count equals the merge count. > 10. All subthreads must eventually merge with the master branch. > 11. A subthread terminates when one of its tasks is shared with > another branch. An unterminated subthread is not valid because of point 4. > > If anyone has implemented a network that works this way, please provide > any hints you can. >