【发布时间】:2011-11-22 05:11:18
【问题描述】:
我有一个这样的 XML(工作流表示一种由流程实例化的类)。
<workflowManagementSystem>
<workflows>
<workflow name="workflow1">
<actions>
<action name="action1" role="role1"></action>
<action name="action2" role="role3"></action>
<action name="action3" role="role4"></action>
</actions>
</workflow>
<workflow name="workflow2">
<actions>
<action name="action3" role="role4"></action>
<action name="action2" role="role3"></action>
<action name="action4" role="role4"></action>
</actions>
</workflow>
</workflows>
<actors>
<actor name="actor1" role="role1"></actor>
<actor name="actor2" role="role2"></actor>
<actor name="actor3" role="role3"></actor>
<actor name="actor4" role="role4"></actor>
<actor name="actor5" role="role2"></actor>
</actors>
<processes>
<process workflow="workflow1">
<actionStatuses>
<actionStatus action="action1" actor="actor1"></actionStatus>
<actionStatus action="action2" actor="actor3"></actionStatus>
</actionStatuses>
</process>
<process workflow="workflow1">
<actionStatuses>
<actionStatus action="action1" actor="actor1"></actionStatus>
<actionStatus action="action2" actor="actor5"></actionStatus>
<actionStatus action="action3" actor="actor4"></actionStatus>
</actionStatuses>
</process>
<process workflow="workflow1">
<actionStatuses>
<actionStatus action="action2" actor="actor5"></actionStatus>
<actionStatus action="action4" actor="actor4"></actionStatus>
</actionStatuses>
</process>
</processes>
</workflowManagementSystem>
我想声明一些约束,例如:
1) 工作流的名称必须是唯一的。
2) 动作的名称在包含它的工作流范围内必须是唯一的。
3)一个动作可以在流程中重复(更多的actionStatus指的是同一个动作)。
4) actionStatus 应该只引用属于父进程实例化的特定工作流的操作。
5) actionStatus 中指示的参与者必须属于与其所指的操作中指定的角色相同的角色。
有可能吗?
【问题讨论】: