6.2. プロセスグラフ

プロセス定義の基本は、 ノードと遷移で作成されるグラフです。 その情報は XML によって表現され、 processdefinition.xml という名前の XML ファイルに格納されます。 各ノードは type (statedecisionforkjoin など) を持たなければなりません。 各ノードは、 退場遷移 のセットを持っています。 明確にするために、 ノードから退場する遷移に名前付けることができます。 下図はオークションプロセスのプロセスグラフを表しています。
オークションプロセスグラフ

図6.1 オークションプロセスグラフ

下記は、XML で表現したオークションプロセスのプロセスグラフです。
<process-definition>

  <start-state>
    <transition to="auction" />
  </start-state>
  
  <state name="auction">
    <transition name="auction ends" to="salefork" />
    <transition name="cancel" to="end" />
  </state>
  
  <fork name="salefork">
    <transition name="shipping" to="send item" />
    <transition name="billing" to="receive money" />
  </fork>
  
  <state name="send item">
    <transition to="receive item" />
  </state>

  <state name="receive item">
    <transition to="salejoin" />
  </state>
  
  <state name="receive money">
    <transition to="send money" />
  </state>

  <state name="send money">
    <transition to="salejoin" />
  </state>
  
  <join name="salejoin">
    <transition to="end" />
  </join>
  
  <end-state name="end" />
  
</process-definition>