1、第 卷第 期计算机应用与软件 年 月 基于服从性的协作流程变化域传播分析王倩倩方贤文(安徽科技学院信息与网络工程学院安徽 蚌埠 )(安徽理工大学数学与大数据学院安徽 淮南 )收稿日期:。国家自然科学基金项目(,);安徽省教育厅自然科学研究项目(,);安徽科技学院科研项目();安徽省高校自然科学基金重点项目(,)。王倩倩,助教,主研领域:网理论与应用。方贤文,教授。摘要针对协作流程间变化传播问题,已有研究主要集中在相似流程之间进行变化传播并确定相应目标变化域,但是很少关注流程模型服从性变化对协作流程会产生怎样的变化。该文提出基于服从性的协作流程变化域传播分析方法。根据随机编排模型算法,生成随机编
2、排模型,并推导出公共模型和私有模型;通过互连所有公共模型来构建协作模型,分析不同级别的服从性发生变化是如何在协作模型中传播的通过模型之间的映射关系发现相关流程的变化域。最后根据实例验证方法的可行性。关键词协作流程服从性变化传播变化域中图分类号 文献标志码 :(,)(,),引言在大多数应用领域中,流程变化被认为是至关重要的 。有多种原因可以引起业务流程的变化,例如新法规的实施、新市场需求的出现等。变化不仅涉及流程的结构,还涉及相应的规则(例如,服从性、隐私或安全规则)。文献 中指出在多个流程合作伙伴共同协作的流程协作中,处理变化可能更加复杂,一个流程上的变化可能会对其他流程合作伙伴产生影响。例如
3、,卖家可能希望在买家收货后向卖家发送一份关于客户满意度的问卷,这可以通过在卖家的私有流程中插入相应的活动来实现。如,某宝网上卖家希望得到客户满意度的协作流程中,卖家通过分别在私有流第 期王倩倩,等:基于服从性的协作流程变化域传播分析 程和公共流程中插入相应的活动“开发问卷”和“发送问卷”,向买家发送相应的变化请求,从而影响买家能够接收相应的消息并对其反馈。在这种情况下,初始变化导致了多个合作伙伴的传递效应。使用行为轮廓来识别流程中变化的区域,并将变化传播到不同抽象级别的其他流程中。由于流程模型结构中的任何变化都会影响节点之间的关系(即行为轮廓),因此可以识别变化的区域,这种方法不考虑数据属性。
4、文献 中,先给定流程模型的变化,通过使用行为轮廓中的行为关系,以确定另一个模型中的变化区域。此方法可以应对与层次结构不相关的模型对的变化,并显示行为不一致性,缺点是通过错误地识别对应关系,可能增加不一致程度。文献 提出了一种通过更新相应的流程视图来改变大型流程模型的方法,同时保证了所有其他流程视图在流程模型上的更新和一致性。可以将相应的变化操作应用于流程视图,并将相应的变化正确地传播到基础流程模型。此外,与此流程模型相关的所有其他视图也将被迁移到流程模型的新版本。文献 提出了一种通用的方法来传播协作过程维护场景中的变化,以保持调用一致性。在这样的场景中,不同的业务合作伙伴拥有自己的私有流程,从
5、该流程可以为其他参与者提供公共视图。文献 提出了一种基于并发事务逻辑()的服从性验证方法,该方法通过将流程图转换为 公式来根据 中指定的约束验证流程模型,并允许应用推理技术来识别语义冲突。文献 使用 来指定契约,从业务契约的角度来处理服从性验证。通过将流程模型转换为类似于契约符号的形式来验证 流程与给定契约的服从性。文献 提供了算法来自动检查交互模型的不同类型的服从性,即交互模型不与全局服从性规则冲突的能力。它可自动检查分布式协作工作流的公共元素是否确保全局服从性规则,并开发了一个概念验证原型来支持分布式和协作工作流的兼容性和服从性检查。与组织内流程的业务流程管理研究相比,在许多流程模型存储库
6、作为模拟和工作评估的支持而存在的情况下,在组织间流程的上下文中缺乏此类存储库已成为一种不便。文献 使用 为流程模型开发了一个服从性检查框架,但是他们的方法只能在流程模型级别处理服从性。文献 提出了一种检测变化对协作流程服从性影响的方法,并在协作流程设置中提高了服从性检查的效率,但是没有考虑相关合作伙伴的隐私问题。基于以上背景,许多研究都集中在协作业务流程的变化域传播分析,但很少考虑不同级别服从性变化在协作流程中如何进行传播的,具有一定的局限性。因此在文献 基础上,本文提出了基于服从性的协作流程变化域传播分析方法。首先根据随机编排模型算法生成编排模型,并推导出公共模型和私有模型,得到一个协作模型
7、,然后基于服从性变化传播算法,分析不同级别的服从性发生变化是如何在协作模型中传播的,最后通过模型之间的映射关系发现相关流程的变化域。基本概念定义 (协作流程)在协作流程中,为所涉及合作伙伴的集合,并且 是任意的合作伙伴,则:)是所有任务(即活动)的集合,是由 执行的任务集。被划分为公共任务的集合 和私有任务的集合,即 。)对应于所有交互的集合,对应于涉及 的所有交互的集合,即发送或接收的消息。对于特定的交互 (,),消息 从 发送到 。(,)、(,)表示 (,)的发送、接收任务。)是 的私有流程模型。它包括 的任务和的相互作用。对应于所有私有流程模型的集合。)是 的公共流程模型。它包括 的公共
8、任务和 的交互。对应于所有公共流程模型的集合。)是交互模型中 的局部视图,它发送和接收的元素。是所有局部视图的集合。)是由 的相互作用组成的全局交互模型,即编排模型。):是所有模型的集合。定义 (映射函数)在协作流程中,为所涉及合作伙伴的集合,并且 是任意的合作伙伴,有:):是私有和公共模型之间节点的映射函数。):是不同公共模型之间节点的映射函数。):是编排模型与公共模型之间节点的映射函数。定义 (迹)设 是一个模型,是模型的子集,是任务或交互,()是由任务和消息组成的迹。然后:)表示 用于 。此外,:表示 使用的任务和交互集合。)()()是 上可产生的迹集。每个迹条目包含交换的消息或特定合作
9、伙伴执行的任务。计算机应用与软件 年)():():()()是 中模型组成可产生的迹集。因此()将迹 限制了 元素的次数。)()对应于通过任意添加的元素(即任务和消息)来得到的一组迹。):()描述协作模型产生的迹集。的近似有:()仅基于编排模型 和每个合作伙伴 的任务集,:()是符合交互模型 但可能包含额外任务的迹集。()第二个近似值还包括公共过程模型 和每个合作伙伴 的私有任务。在这种背景下,:()是符合编排模型 以及公共过程模型 的迹集,但可能另外包含私有任务。通常,业务流程服从性意味着协作流程不会违反服从性规则。对于协作流程模型,需要区分三个不同级别的服从性:局部服从性、断言服从性和全局服
10、从性。首先,局部服从性意味着合作伙伴的私有流程不违反其任何局部服从性规则。其次,断言的服从性意味着特定的合作伙伴向其他合作伙伴保证其私有流程服从特定的服从性规则集,即其断言集。因此,每个断言对应于与此特定合作伙伴的私有流程模型相关的局部服从性规则。最后,全局服从性意味着公共流程模型不违反任何全局服从性规则。定义 (服从规则级别)服从规则包含三个不同级别:局部服从规则、断言服从规则和全局服从规则。将 视为一组全局服从性规则,对于任意合作伙伴 ,作为合作伙伴 的局部服从规则集,为合作伙伴 的(公共)断言集合,:作为协作流程中所有断言的集合。定义 (服从性和可兼容性)设 为合作伙伴集 的编排模型,是
11、 的公共流程模型的集合。为合作伙伴,为其私有过程模型,为其公共过程模型。为 的局部服从规则,为全局服从规则,为所有断言的集合。则:):():(),表示私有流程 服从局部服从规则 。):(),表示编排模型 服从全局服从性规则 。):(,):()和 (,)出现在 中,表示编排模型 全面兼容全局服从性规则 。),:,:()(),表示 ,服从全局服从性规则 。定义 (域)给定一个过渡流程 (,),一个流程 (,),若 中有域 (),则两者之间有映射 :且 ,都有 ()()。定义 (配置活动类型):允许活动是可见并且可执行的活动。):隐藏活动是可以被跳过而直接执行下一个活动的活动,即该活动不可见。):阻
12、塞活动是活动分支被禁止选择的活动,也就是删除该活动的分支。其中配置参数 作为默认参数,适用于所有活动集。基于服从性的协作流程变化域传播流程协作流程中的流程模型(例如公共或私有模型)和所涉及的服从性规则(例如全局或局部规则)是紧密相关的。更改流程模型不仅会影响其他合作伙伴的流程模型,还可能导致违反各自的服从性规则。同样,服从性规则的更改(例如,法律)也会对合作伙伴流程产生影响,从而导致其他合作伙伴的更改或者与其他合作伙伴的服从规则产生冲突。因此,本文针对基于服从性的协作流程变化域传播问题,主要从以下步骤进行处理:)生成编排模型;)计算公共 私有模型;)判断变化对流程是否有影响;)判断变化是否影响
13、全局服从性;)计算直接或间接变化域;)确定目标变化域。图 为协作流程变化传播流程。图 协作流程变化传播流程第 期王倩倩,等:基于服从性的协作流程变化域传播分析 随机编排模型的生成本节从参数约束的角度来分析随机编排模型的生成,并指定以下输入参数来影响编排模型的随机生成:)交互数量:决定消息交换的数量;)最大分支:为每个网关创建的最大可能路径数。由于对交互数量的限制,交互不一定总是被选择为下一个节点类型。同样,并不是每个打开的分支都可以被随机选择以将下一个节点放入模型中,因为这可能会违反模型的正确性或超过定义的交互次数。因此,本文提出了随机编排模型生成算法,该算法受到参数的约束,并且可以随机选择要
14、放入模型中的下一个节点的节点类型和相应位置,而不会导致错误的模型。任何流程模型都可以由图 中所示的一组基本结构表示,包括顺序、选择和并行。若为模型中的网关分支创建拆分,每个拆分可以包含多个分支,这些分支表示由并行或排他网关创建的不同路径。同样,每个分支都有相应的节点,在编排模型中,节点仅限于交互和网关。而路径跟拆分受其相应分支网关节点的合并节点的限制,即若前有并行(排他)网关,后则有并行(排他)网关与之相对应(图()和图()。此外,每个分支都有一个状态,指示分支是 、还是 。()顺序()并行()排他图 流程模型的基本结构定义 (分支的状态):分支尚未被其相应拆分节点的合并节点包围,并且可以通过
15、在其路径上放置更多节点来进一步发展。):如果分支包含另一个拆分,所有拆分分支都尚未关闭且分支不能进一步发展,则该分支处于拆分状态。):分支已完成,无法进一步发展。例如图 中分支 的状态为 ,图 中分支 的状态为 ,图 中所有分支的状态为 。图 分支的状态 图 分支的状态 图 分支的状态 定义 设 是打开和不可关闭的分支数,剩余交互是尚未放入模型的所有交互,剩余 网关和剩余 网关是尚未放入模型的网关数量。然后:保留交互分支 保留交互 网关 剩余 网关 保留交互 网关 如果剩余 网关 则为 ,否则为 保留交互网关 保留交互 网关 保留交互 网关所有的保留交互 保留交互分支 保留交互网关自由交互 剩
16、余交互 所有的保留交互根据定义 中指定变量的值,可以随机选择要放入模型中的下一个节点的节点类型和相应位置,而不会导致错误的模型。下面给出了随机编排模型生成的算法。算法 随机编排模型的生成 :(;)();();();();计算机应用与软件 年 ;(;);();寻找基于服从性变化的协作流程的变化域在算法 的基础上,遵循自顶向下的方法,派生和定义每个合作伙伴的公共模型。因此,编排模型的每个交互(编排任务)在相应的公共流程模型中转换为发送和接收任务。然后,通过使用抽象的私有任务丰富公共模型,每个私有模型都是从相应的公共模型派生而来的。最后,通过互连所有公共模型来构建协作模型。在本节中,首先使用图 、图
17、 和图 来分析不同级别服从性变化如何在协作模型中进行变化传播的,图中两个节点之间的虚线链接表示可能的传播。在变化传播的过程中,可能导致某些模型发生变化,产生一定的变化域。因此本节提出了寻找基于局部(全局)服从性变化的协作流程的变化域。图 变化的影响图 断言变化的影响图 变化的影响图 描述的是局部服从性变化的影响。如果合作伙伴 的局部服从性发生变化,则需要检查 的私有模型是否符合变化后的规则。如果不符合,则需要确定变化位置来更改私有模型。如果私有模型的变化不是局部的,那么变化就需要进行传播。在这个过程,变化传播分为两类:直接变化传播和间接变化传播。对于间接变化传播可以利用中间方的信息交换来进行变
18、化传播。这样模型产生的变化域可能是直接造成的,也可能是间接造成的。如图 所示,私有模型 变化导致相应公共模型 产生的变化域为直接的,而与 的公共模型相关的其他公共模型 产生的变化域是间接的,是通过中间方 间接传递的。图 间接影响图 中描述的是断言变化的影响。如果断言变化,则检查断言中涉及的私有和公共模型的可兼容性。第 期王倩倩,等:基于服从性的协作流程变化域传播分析 当不兼容时,则需要更改模型,那么就需要使用与前一步相同的确定变化域过程。算法 给出了寻找基于局部服从性变化的协作流程的变化域。算法 寻找基于局部服从性变化的协作流程的变化域输入:变化的 、,协作流程。输出:变化域。步骤 在协作流程
19、中,如果 ,则根据 找到 变化区域 ;如果 ,则无影响返回。步骤 ,在 中的映射节点为 (),所有的映射节点构成 的变化域 。步骤 如果 ,则返回步骤 ,重新寻找变化域;如果 ,(),对于与 相关的公共模型 ,其映射节点为 (),同样可得到 的变化域 。步骤 (),在 的映射节点为(),则 的变化域为 。步骤 如果 ,返回步骤重新计算 ;如果 ,则 的变化域为 。步骤 输出变化域 、。图 中描述的是 变化。如果全局服从性规则发生变化,那么将检查编排模型以及相关公共模型的兼容性。当不兼容时,就要确定编排模型的变化导致公共模型产生的变化域。对于涉及到更改的公共模型,确定公共模型的变化导致相应私有模
20、型产生的变化域。如果需要对私有模型进行更改,则检查断言和相应的 是否存在可能的违反。算法 给出了寻找基于全局服从性的协作流程的变化域。算法 寻找基于全局服从性变化的协作流程的变化域输入:变化的 、,协作流程。输出:变化域。步骤 在协作流程中,如果 ,返回 ;如果 ,则根据 找到 变化区域。步骤 ,存在 ,在 中的映射节点为 (),所有的映射节点构成 的变化域。步骤 对于与 相关的合作伙伴 ,(),根据映射关系得到 的映射节点 (),同样得到 的变化区域。步骤 (),在 的映射节点为(),则 的变化域为。步骤 如果 ,返回步骤 重新计算;如果 ,则的变化域为。步骤 输出变化域、。实例分析本节通过
21、网上购物场景来说明变化传播问题。根据算法 得到了网上购物场景的编排模型(图 )、协作模型(图 )、公共模型(图 ),以及私有模型(图 )。其中,活动字母对应名称如表 所示。该场景描述了 个合作伙伴的协作,即买家、卖家、快递公司。买家将订单消息发送给卖家,卖家收到消息后对买家进行身份验证,身份验证完成后,买家下单,并通过快递公司进行发货。如果买家接收货物后不满意,则向卖家发送退货通知,卖家向快递公司发送退货通知,否则向卖家和快递公司发送确认收货。图 编排模型图 协作模型 计算机应用与软件 年图 公共模型图 私有模型表 活动字母表活动活动名称活动活动名称买家卖家 订单信息 货物已收 到付 接收订单
22、 在线付 信息验证 下单快递公司 确认验证 快递单 取消订单 检查库存 发货通知 准备货物 收货通知 货物 收到货物 空运 确认收货 陆运 退货 一键更换地址 退货完成网上购物场景符合以下 条服从规则(),这些规则和标准反映了需要遵守的法规和标准:购买货物要付款。:快递运输期间要保证地址的正确性。:取消订单一定要在发货前。:一定要对货物进行质量检查。:收到货物通知,则需要去拿货。为了保护商业隐私,合作伙伴只会分享其流程的公共视图(参见图 );例如,卖家隐藏库存检查以及准备货物(参见图 )。为了验证服从性 ,合作伙伴对其私有流程的隐藏行为提供以下断言规则():如果买家没有在线支付,则必须进行到付
23、。:货物运输期间不能直接修改地址和电话号码。:卖家接收订单后一定要检查库存,如果货物库存不足,则需要补充货物,然后才能发货。如果无法补充货物,则取消订单。:如果卖家没有对货物进行质量检查,快递公司要确保货物的质量。:快递公司在运输期间保证货物无破损。当服从规则发生变化时,由算法 和算法 可知,相关流程可能作出相应的变化,才能满足服从规则。例如,为了满足买家需求,现在更改服从规则,使货物运输期间可以修改地址和电话号码。如果买家在运输期间要更改送货地址,这样快递公司就需要作出相应的更改。由算法 可知,可以在模型中找到相应的变化域如图 图 所示。文献 中详细介绍了不同变化模式下变化传播的过程。与文献
24、 相比,算法 和算法 从服从性的角度来分析变化传播过程,并根据映射函数确定相关流程的变化域。图 买家公共流程变化域图 快递公司公共流程变化域第 期王倩倩,等:基于服从性的协作流程变化域传播分析 图 快递公司私有流程变化域 结语本文基于服从性的基础知识对协作流程模型的变化域进行了分析,从而有利于发现相关流程的变化区域。本文首先在参数约束条件下提出编排模型生成算法,然后分析了不同级别服从性变化在协作流程中是如何传播的,最后通过模型之间的映射关系发现相关流程的变化域。在未来的工作中,将要对本文的算法做出新的改进,找到更精确的变化域。参考文献 ,():,;,():,():,():,(),:,:,:,(),:,:,:,(),:,:,:,():,():,:,:,:(上接第 页)杨秋翔,李英,雷海卫,等 中改进的 推导方法 计算机工程与设计,():,():,():,: