Thanks Khalil. Some reading for me.
On Thursday, May 24, 2012 4:22:15 AM UTC-4, Khalil KHAMLICHI wrote: > > 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. >> > >