An workflow definition containing errors might cause serious problems for an enterprise especially when it involves mission critical business processes or inter-organizational interaction. So workflow definitions should be defined in a strict and rigorous way. In this paper, we suggest a workflow definition language and analysis methods for the language to support strict and rigorous workflow definitions. Faults or mistakes like provoking communication deadlock, access conflicts and improper exception specification in workflow definitions can be detected and notified automatically using the methods. The workflow definition language borrows structured constructs of conventional programming languages because they have many good features in expressing workflow processes also. With slight modifications and scope restrictions, the proposed techniques can be used in any workflow definition languages and workflow designers can define workflow processes much more concretely and safely.