工作流模型分析--多实例模型
所谓多实例模型,指的是流程中的同一个活动,同时存在多个实例。
1)异步
多个实例产生后,这些实例各自为政,互不影响。
因为互不影响,所以异步的多实例模型的产生的实例数是任意的。当说到可以产生的
实例数时,我们说的都是同步的情况,就如下面三点。
2)定义期决定实例数
说的简单点,就是在JAWE中可以定义一个活动可以产生的实例数。
3)运行期决定实例数
在流程运行过程中,动态决定一个活动可以产生的实例数。
4)任意的实例数
说的粗一点,就是:一个活动,想产生实例就可以产生实例。
一般的标准都只支持前两种模型,包括XPDL标准。
工作流模型分析---聚合模型
1)M项聚合
只有当M项活动都结束后,A活动才enabled
2)N项聚合
1<=N<=M,其实就是一个鉴别器,当某N项活动完成后,条件满足,A活动才enabled
3)单项聚合
任意一个活动结束,A活动都enabled
对于N项聚合和单项聚合有一个问题:A活动能够被几次enabled?根据对这个问题的回答,
聚合模型又可以继续进行分类.
基本上所有的工作流标准都支持M项聚合和单项聚合,而对N项聚合,每个标准的支持程度是
不一样的,XPDL标准不支持N项聚合.
工作流模型分析---发散模型
在发散模型中,活动A结束后,有M(2<=M<=9999999999..)个直接后继的可选活动
1)M项发散
后面M项活动同时enabled,正式名称为Parallel Split
2)1项发散
后面只可能一项活动enabled,正式名称为exclusive choice
3)N项发散
后面可能有N项活动同时enabled,(1<=n<=m),正式名称为multiple choice
目前,一般的工作流产品及XPDL标准只支持前两项,对N项发散支持的不太强,但已经有产品如MQSeries/Workflow等直接较好的支持N项发散.