Contents
Introduction
Workflows
Diagramming
Verification
Software
Downloads
Papers
Links
Contact
|
Introduction
There are many definitions of workflows often with an implicit perception that the type
of workflow is understood.
These definitions will be considered and an outline of the approach used for this particular
system will be given. Note that it will be UML based as this is now a de facto standard
comprehensible to non-technical users.
[20 Aug 2004]
A comprehensive view and the process of constructing workflows using UMLv2.0
Behavio(u)rs will be posted during the
course of the next few weeks and months.
The intention is to have an open source Java based system that:
- is verifiable
- is based on Workflow patterns
- uses industry standards (UML, XMI etc.) for 3rd party tools to be
able to diagram workflows
- is relatively simple to comprehend
- is comprehensively documented
- has functionality not often seen in current workflow systems (such as recursion)
[21 Aug 2004]
A little restructuring and correction made to this page. Some additional information added.
Workflows
A discussion regarding:
- Petri nets
- UML Activity diagrams
- Other
Some discussion wrt characteristics of all workflows will be given.
Diagramming
A brief outline of diagramming for Petri nets and a more comprehensive outline of
UMLv2.0 Activity diagrams. Discussion wrt to anomalies, ambiguities, omissions,
unnecessary syntactic sugaring and so on.
For example, some systems consider the diagram on the right to be incorrect ...
(Is it?)
Verification
Comprehensive discussion outlining how UMLv2.0 Activity diagrams may be rigourously
verified. Points covered include:
Syntactical validation
The syntax of a workflow is formally defined from the results of graph theory.
Syntactical validation checks component usage of the diagram, such as:
- Incorrect usage, eg: condition node with only one output
- Deadlocks and livelocks (infinite cycles etc.)
- Unintentional multiple execution, eg: merge on two concurrent paths
Structural validation
Some structural components are not covered in syntactical validation, for example:
critical tasks or processes.
Restrictions
Restrictions include not allowing some constructs that are just syntactic sugaring.
For example, Conditional Nodes are defined in the UMLv2.0 spec. as: "… a structured
activity node that represents an exclusive choice among some number of alternatives."
This can be represented as a set of Actions with Decision Points having guard transitions.
Hence Conditional Nodes will be rejected.
Other
Validations are made for:
Software
Design of the system using Aspect Oriented Programming (AOP) methods. Brief outline
of AOP and thread synchronization in JDK1.5. (Every Activity is a thread and every
Action within an Activity is run as a separate thread).
Downloads
A JAR download.
Papers
Various standards, white papers and links to (mainly academic) papers.
UMLv2.0 Superstructure [current status: Final, but not complete release]
XML Metadata Interchange [XMI]
Links
Links to useful sites such as:
UML org
OMG org
WfMC org
A list of other Workflow systems can be found in
manageability.org.
Note, not all are open source, they quite often use proprietary diagramming
methods or use languages (mainly XML based) and none (so far as I am aware) verify
their diagrams comprehensively.
Contact
Serious enquiries regarding workflows and modeling workflows in UMLv2.0
can currently be addressed to: Workflow Enquiry.
Note that flippant enquiries will be studiously ignored.
|

Activity with Parameters

Loop
|