8.11.2. 割り当て式

アイデンティティコンポーネントは、 アクター導出のために、タスクの割り当て中、式を評価する1つの実装を含んでいます。 ここに、プロセス定義中での割り当て式の利用方法をお見せします。
<process-definition>
  <task-node name='a'>
    <task name='laundry'>
      <assignment expression='previous --> group(hierarchy) --> member(boss)' />
    </task>
    <transition to='b' />
  </task-node>
      
      <para>Syntax of the assignment expression is like this:</para>
      first-term --> next-term --> next-term --> ... --> next-term

where

first-term ::= previous |
               swimlane(swimlane-name) |
               variable(variable-name) |
               user(user-name) |
               group(group-name)

and 

next-term ::= group(group-type) |
              member(role-name)
</programlisting>

8.11.2.1. 最初の条件 (First term)

表現は左から右に解決されていきます。 First-term(最初の条件)は、アイデンティティモデルに UserGroup を指定します。 その後の条件は中間ユーザかグループから次の条件を算出します。
previousは、タスクが、現在の承認済みアクターに割り当てられていることを意味します。 これは、プロセス中で前回のステップで動作したアクターということになります。
swimlane(swimlane-name)は、 ユーザやグループが、指定されたスイムレーンインスタンスから取得されるということです。
variable(variable-name)は、ユーザやグループが指定された変数インスタンスから取得されるということです。 変数インスタンスには、java.lang.String を含めることができます。 その場合、そのユーザやグループがアイデンティティコンポーネントから取得されます。もしくは、変数インスタンスは、 UserGroupのオブジェクトを含みます。
user(user-name) は、特定のユーザがアイデンティティコンポーネントから取得されるということです。
group(group-name) は特定のグループが、アイデンティティコンポーネントから取得されるということです。