协同验证是在
工作流子模型不断的合成,规模逐渐扩大的过程中,随时支持着语义验证,检验整个协同过程是否完成了协作者的目标。协同验证具有二维性,一个维度考虑规模,基于语义约束验证因地域、功能因素形成的子模型的合成;一个维度考虑内容,基于语义约束验证协同目标的实现
协同验证的提出背景
工作流验证的目的是在过程定义时检验工作流的正确性,避免执行时出现异常,从而降低工作过程运行时的停产、检查和修复的成本。传统的工作流验证过程是先进行工作流的建模,待所有工作流建模工作结束后再进行验证。然而,在网格环境下,业务流程的建模较为复杂,工作流的建模过程可能是跨组织跨域的,最终的模型可能十分庞大。如果在全部流程建模结束之后再验证,验证过程将会十分困难。并且工作流的验证又包括很多方面,结构、数据流、角色、交互接口等,工作流结构方面规定了哪个任务需要执行,以及任务执行的次序;数据流方面检测控制流结构的数据语义是否一致;角色方面检查数据的执行者是否是预先规定的执行者;交互接口检验任意子网合成时所采用的协作方式。由此可知,传统的工作流
验证方法,没有能力解决以上这些问题。因此提出了协同验证的概念。
协同验证的定义
语义验证检验工作流过程中的控制流,数据流和资源三维元信息协作的正确性,以确定过程定义是否正确实现其业务目标为目的。将规模上的分布合成验证和描述上的语义验证相结合,称为协同验证。
由此可知,协同验证包含两个维度:规模上的分布合成验证,是指子模型合并成大模型时要进行的验证;描述上的语义验证,是指各个子模型的正确性验证是语义验证,子模型合成后的验证也是语义验证,协同验证在描述上是基于语义约束进行验证,保证协同目标的实现。
子模型:协同工作的各个子模型之间是紧密联系的,子模型可能独立实现某些功能,也可能要与其它子模型协作才能完成特定的功能。
合成模型:根据一定的合成规则,基于语义约束将实现不同功能的子模型合成,以满足子模型协同目标的实现。
协同验证需考虑问题
由上述协同验证的概念可知,在许多情况下,独立的子模型所完成的功能并不能够满足人们的要求,子模型需要进行合作,子模型之间存在着相互依赖关系。各个子模型的目标可能不同,然而最终由子模型构成的合成模型却要完成所有子模型合作的共同目的。跨组织跨域的子模型为了达到它们共同的目标,不断的协调和沟通,就会涉及到修改流程中的数据,资源等基本信息。这种情况下,即使子模型已经通过了语义验证,也不能保证它们合成之后仍然是正确的。因此,协同验证需要考虑两个方面:
(1)模型在不断的合成,变大;
(2)在规模不断扩大的过程中随时坚持语义验证。
协同验证的过程
协同验证模型如图1所示。图1中R表示原子级和子网级化简规则的集合,sy表示合成模型,sb1,...,sbn分别表示n个子模型,实线表示子模型之间的语义约束,虚线表示应用R中的规则。
协同验证的过程是一个交叉验证的过程,交叉验证与“先子模型,再合成“的方法在验证目的上式一致的。最终都是为了保证协同目标的实现。具体验证过程如下:
(1) 子模型建模;
(2) 子模型验证;
(3) 子模型合成建模;
(4) 合成模型验证。
其中,子模型验证及合成模型验证均采用原子级和子网级的化简验证方法来验证子模型的正确性。
协同验证的优点
(1) “先子模型,再合成”的方法将所有子模型验证结束后,再将子模型合成,对合成模型验证。子模型中部分流程修改时,对合成模型要重新验证。而交叉验证方法如果子模型中部分流程修改时,只需要重新验证该子模型和该子模型构成的部分合成模型的正确性,对其它部分不必重新验证,提高了验证效率,降低了成本。
(2) “先子模型,再合成”的方法如果
部分子模型中有流程修改时,要将所有的子模型及合成模型全部重新验证,不能够很好的支持动态性。交叉验证的方法能够较快的得到可靠稳定的模型,交叉验证过程使得协同验证是支持动态性的。
大规模复杂流程协同验证的特点
随着全球经济的一体化和市场竞争的同益加剧,顾客要求逐渐呈现个性化和多样化趋势,为了面对瞬息万变的环境和需求,越来越多的企业在共同的目标下,形成跨组织合作关系。参与合作的各企业协同合作,各企业内部的业务流程经过相互连接,组成协同式的跨组织工作流,彼此交互信息从而提高整个业务流程的工作效率。跨组织的复杂流程协同验证具有如下的特点:
(1) 分布性和独立性:地域位置各异,分散控制的各企业业务流程通过网络彼此连接,相互交叉,共同执行某项实例活动。在这种情况,子模型可能是同一企业内部不同部门的业务流程,不同企业之间的业务流程,或者只是实现了某些功能的子网,这些子模型的验证是独立的,可以由不同地域的验证人员同时验证。
(2) 动态性和灵活性:在对各企业工作流进行验证的过程中,无论哪一部分业务流程的子模型出现错误,都可以及时修改该部分的业务流程。
(3) 协同性和共同性:子网要实现的最终设计目标是相同的,具有不同功能的子网需要相互通信,以便共享和传递信息,子网内部要保证具有语义一致性,如果互相交互的子模型一旦发生语义冲突,需要协调和沟通,使合成模型能够保证原子模型之间交互信息的语义一致性。