敏捷应对变化的业务流程可控性验证方法

文档序号:36268071发布日期:2023-12-06 16:01阅读:29来源:国知局
敏捷应对变化的业务流程可控性验证方法

本发明属于计算机支持的业务流程,具体涉及敏捷应对变化的业务流程可控性验证方法。


背景技术:

1、业务流程是计算机支持的一组活动序列,以实现特定的业务目标[1]。企业执行业务流程以经营业务,服务客户,获得收益。目前,工业界的业务流程通常使用iso标准的业务流程模型和符号(business process model and notation,bpmn)来建模和执行。

2、日益竞争的商业环境导致现代流程应用面临着业务流程的执行条件、资源状况甚至是业务目标的频繁调整,从而产生了流程在模型级的(静态)和实例级的(动态)变化需求[2][3]。导致这些变化需求的主要原因在于业务实施过程中对未来的不确定性。courtney等人[4]总结了四个级别的业务不确定性,如表1上半部分所示。四个级别的业务不确定性中位于l2至l4的在建模过程中因各种原因未能响应的残留不确定性(residualuncertainty)以及那些虽有建模但因为错误响应而造成的副作用(如表1下半部分所示),会给业务流程的运行带来冲击。

3、表1courtney等人给出的不确定性[4]以及本发明关注的残留不确定性

4、

5、残留不确定性的特征在于,频次不高,因而难以用统计或数据挖掘等数据分析方法有效应对;种类繁多,因而采用前摄式(proactive)应对策略(如可变性建模[5]、异常处理[6]等)将导致巨额成本和过于复杂的模型,甚至无法实施(例如对于l4级的业务不确定性)。我们称由残留不确定性所导致的业务流程变化需求为长尾型变化(long-tailedchange,ltc)[7]。ltc对业务影响巨大,甚至会中断业务流程的执行。研究表明,正因为ltc的这些特征,应该在变化发生后采用反应式(reactive)方法及时应对,才能维持业务的连续性[7],减少损失,甚至借助变化创造新的价值[8][9]。

6、考察图1所示的一个生鲜在线商店的bpmn业务流程,它由两个互相交互的主体(客户和在线商店两个独立的泳池)构成,双方的信息和物质交换表现为虚线的消息。在线商店接收到客户发来的订单后启动流程,经拣货,发货后根据货物类型采取常温送货或冷链送货,然后确认收货,处理款项。

7、新冠疫情的发生,特别是各地针对疫情程度所采取的各种针对性防控措施给在线商店的运营带来了巨大的冲击,产生了大量的ltc。例如,因风险地区划定,无法照常送货上门,造成流程中断;因小区外来人员健康码核验和消毒过程,送货耗时延长,造成客户投诉;因送货人员不具有有效的健康码而导致门店对特定区域无法服务。由于新冠的首次突发性,使得在线商店无法运用现有的业务流程变化管理方案(如可变性建模[5]、异常处理[6]等)维持业务开展。在线商店的运营者必须在ltc发生后做出决策,选择下述几种应对策略:

8、1、不予应对。不修改业务流程,观望事态发展,等待环境恢复如初。无疑,这将无法继续开展业务,只能放弃收益,甚至丧失原有的市场份额;

9、2、放任修改。允许从业人员根据其面临的情况偏离业务流程灵活处理。这极大地维持了业务的连续性,但未必能落实商业的合规性,也不一定能够保证企业的商业利益;

10、3、可控的反应式应变。在变化发生后允许从业人员根据其面临的情况使用低代码方式改变流程行为,但同时检验变化后的流程行为是否满足业务管理者所施加的合规性原则。

11、显然,应变策略3能够较好地处理ltc,维持业务的持续性,并保证商业利益。例如,一种采用策略3的技术方案[7]基于分而治之和关注点分离原则赋予前端人员(一线业务人员、受许人等)使用低代码的方式调整业务流程行为,以敏捷应对ltc,破除了以往集中式管理的业务流程系统中依赖后端人员(企业总部管理人员、特许人等)统一负责应对ltc所造成的效率瓶颈[10]。这是因为,前端人员是业务流程的直接参与者,易于最先发现变化、提出应变需求,让前端人员分布式地修改业务流程,能够更加敏捷地应对具有时空变化特征的ltc。仍以在线商店遭遇ltc的冲击为例,采用这种关注点分离的反应式应变方法,各地前端人员可以根据当时当地的防控措施自行调整业务流程行为,做到随机应变:前端人员可以修改业务流程的活动序列,为了应对风险地区划定和社区封控,添加送货到社区门口的送货方式或对隔离住户取消订单;为了满足社区特定的疫情防控措施,添加骑手办理特殊健康证明的活动。前端人员也可以调整业务流程的执行策略,为了应对交通管制、健康码核验造成的送货耗时延长,在处理款项时增加优惠金额,以维持客户满意度。

12、为了实现业务目标,业务流程需要符合业务规范,业务流程在应对变化的情况下,也需要确保变化后的业务流程符合(基线的)业务规范。业务规范来源于法律法规、行业标准、与利益相关者签订的合同等[11]。业务规范通常表现为功能性与非功能性约束。功能性约束是对活动之间执行顺序的约束,确保这些活动实现业务目标[11][12];非功能性约束是对时间、成本、客户满意度等的约束,确保业务质量和绩效[13][14]。例如,为了实现业务目标,在线商店给业务流程制定了一些业务规范,其中功能性约束有:生鲜货物需要采用冷链送货,货物送达后需要收到货款;非功能性约束有:客户满意度需要达到一定标准,成本不能超过一定标准等。前端人员在快速修改业务流程的活动序列和执行策略时可能会影响业务规范。例如因疫情防控将货物送达地改为社区门口而并未及时调整“确认收货”告知客户,客户因生鲜变质而拒付货款,违反功能性约束;因送货耗时延长,为了维持客户满意度,增加了过多的优惠金额,造成成本超标,违反非功能性约束。值得提及的是,传统的前摄式方法允许提前详细分析、充分测试应对方案,容易确保合规性,但ltc处置所要求的反应式方法无法提前分析应对方案以确保合规性,合规性成为了ltc及时应对方案所无法回避的挑战。

13、可见,在敏捷应对变化的场景下,应变技术展现的灵活性和应变效果的合规性是一对难以调和的矛盾。为了应对变化,业务流程的活动序列和执行策略需要足够灵活,做到随机应变。然而,为了实现业务目标,业务流程需要符合业务规范,不能过分灵活。为了化解这个矛盾,zhu等[12]提出了一种功能性约束的验证方法,然而,这种方法只能定性地给出是或否的验证结果,当验证结果为否时无法给出解决方案,难以使得业务流程满足约束。在非功能性约束方面,现有的方法较多关注时间约束。在验证时间约束时,通常使用具有不确定性的简单时间网络(simple temporal network with uncertainty,stnu)[15]及其各种变种进行验证。stnu只能用于验证时间约束的可控性,然而业务流程还有更多种类的约束需要验证。peng等[14]使用抽象代数扩展stnu得到广义stnu(generalized stnu,g-stnu),验证一般性的非功能性约束的可控性。然而,受限于stnu的特性,g-stnu只能支持对单个单调递增变量的约束,适用性较窄。

14、方法的有效性和适用性是本发明的另一个关注点。如果前端人员需要使用不同方法分别验证功能性与非功能性约束,特别是当一个活动会同时影响两类约束,造成两类约束之间存在关联时,无疑会对运用这些技术造成障碍。例如,选择常温送货还是冷链送货不仅影响功能性约束(生鲜货物需要采用冷链送货),还可能影响非功能性约束(采用冷链送货的成本更高),两类约束的验证结果可能存在冲突,这种情况下功能性与非功能性约束宜于统一建模和验证。zhu等[12]、peng等[14]提出的方法分开建模、验证功能性与非功能性约束,本发明与这些方法的区别是,本发明能够统一建模、验证功能性与非功能性约束的可控性。

15、现有的发明专利申请[33]提出一种使用语法制导编辑器生成器来应对长尾型变化的方法。业务人员定义适用于特定长尾型变化的领域词汇和文法,然后利用bpmn的注释机制来修改业务流程,快速地响应长尾型变化。该方法虽然能够快速修改业务流程,但是无法保证修改后的业务流程符合业务规范。本发明提出一种长尾型变化背景下的统一的业务流程可控性验证方法,能够保证修改后的业务流程符合功能性与非功能性约束。

16、发明专利申请[34]提出了一种基于业务的系统变更风险控制方法。该发明通过抽取设置每一业务流程的业务影响因子,根据业务影响因子的影响系数计算每一业务流程的变更风险值,最后整合所有业务流程的变更风险值得出系统变更风险值,以业务为口径对每一业务流程进行变更风险计算,从而量化系统变更风险值做出相应对策,增强系统变更的可控性。该发明的目标是评估系统变更风险值;而本发明所提出的是既已发生业务流程变更后判定利益相关者指定的业务目标是否能够达到,以及如何形成达到这一目标的最优可调度策略生成方面,属于不同的技术问题和不同的技术手段。例如,在更改业务流程后,本发明可以构造最优执行策略,让更改后的业务流程尽可能满足功能性与非功能性约束;而该发明无法为更改后的业务流程构造最优执行策略。

17、发明专利申请[35]提出一种业务流程设计缺陷的检测方法,其包括:捕捉业务逻辑以及流程数据对业务活动的约束,构建系统中业务流程的wfd网模型;考虑流程数据的存储,利用数据库对系统持久层数据进行建模,基于数据库考虑业务活动执行受到的数据约束,构建系统中业务流程的wft网模型;利用数据精炼技术对流程数据进行赋值;定义wft的执行语义并生成可达配置图;基于一阶线性时序逻辑公式描述系统所要满足的数据需求,从业务逻辑和数据需求两个角度定义wft网的合理性;通过在wft网的可达图上验证网模型的合理性,判断业务流程是否存在设计缺陷。该发明解决现有技术中系统在业务流程控制层逻辑正确的情况下,检测出引发数据层不合理的设计缺陷;而本发明中业务流程的数据流不仅考虑了由流程控制器可以控制的变量,同时考虑了取决于环境的不可控的变量对控制流的影响,本发明要验证是否存在一个控制策略,该策略能够观察不可控变量的取值,动态地决定可控变量的取值,使得业务流程满足功能性与非功能性约束,因此两者在目标、适用环境上均存在着差异。该发明利用wfd网、wft网、数据库模型来建模业务流程,而本发明利用马尔可夫决策过程、概率时态逻辑公式来描述业务流程的执行行为、业务目标,因此在技术路线上存在明显的不同。例如,在线商店业务流程中的变量“送货耗时”不可控,取决于路况,而变量“优惠金额”可控,本发明可以构造动态执行策略,观察“送货耗时”的取值,然后决定“优惠金额”的取值,以维持客户满意度;而该方法没有建模可控和不可控变量,无法构造观察不可控变量、决定可控变量的动态执行策略。

18、发明专利申请[36]提出一种基于考虑约束的并行广度优先搜索的架构测试方法,把该类基于服务的软件的架构测试内容聚焦于业务流程的正确性检验。首先,建立基于服务的软件架构图模型。然后,基于图模型和所设置的约束进行并行广度优先搜索,约束包括对功能的调用约束和对功能本身的约束,对流程集a中的所有元素按照逐步加深原则逐层扩展,当某一深度的功能都扩展完后,才继续展开对下一层深度的功能扩展。在这一搜索方法中,通过设计约束的方式降低搜索出来的无实际用途的业务流程。同时,通过搜索并行化的方式,提高搜索效率。最后,对业务流程进行正确性检测。该发明用于对图模型所能实现的业务流程进行搜索,找出所有业务流程;而本发明利用马尔可夫决策过程来描述业务流程的行为,运用prism模型检测器进行可控性验证,检验是否存在能让业务流程满足功能性与非功能性约束的执行策略,并且构造最优执行策略,因此在目标和技术手段上都存在明显不同。例如,利益相关者为业务流程制定约束之后,本发明可以在约束下构造正确的执行策略,让业务流程尽可能满足约束;而该发明无法在约束下构造执行策略。


技术实现思路

1、本发明的目的在于为了敏捷应对ltc,化解灵活性与合规性之间的矛盾,形成有效适用的解决方案,提出一种统一的敏捷应对变化的业务流程可控性验证方法。

2、本发明提供的敏捷应对变化的业务流程可控性验证方法,可定量地验证是否存在能让业务流程满足功能性与非功能性约束的执行策略,并且构造出最优策略。最优策略能够观察环境对业务流程的影响,动态地决定业务流程今后的执行行为,使得业务流程满足约束。如果验证完全通过,那么最优策略让业务流程一定满足约束;如果验证部分通过,那么最优策略让业务流程尽可能满足约束。

3、对业务流程管理而言,可控性验证(controllability verification)是比传统的可靠性验证(soundness verification)应用更加广泛的验证方法。可靠性验证只能验证业务流程按照一定策略执行时,是否能够满足约束[16];而可控性验证能够在约束下构造正确的执行策略,使得业务流程满足约束[17][18]。基于可控的反应式应变技术[7]辅以可控性验证方法,前端人员可以按需修改活动序列以应对变化,系统可以自动构造执行策略以满足约束,较好地化解了敏捷应对ltc时应变技术的灵活性和应变效果的合规性之间的矛盾。功能性与非功能性约束的统一建模与验证技术又提升了可控的反应式应变技术的可用性。例如,为了应对风险地区划定和社区封控,在线商店的前端人员可以添加送货到社区门口的送货方式和针对隔离家庭取消订单的选项,系统构造的最优策略可以根据情况选择合适的送货方式或者在适当的地方取消订单;为了应对交通管制,前端人员可以扩大送货耗时的范围,系统构造的最优策略可以在成本允许的范围内适当提高优惠金额,弥补送货耗时的延长,以维持客户满意度。

4、先介绍与本发明相关的工作

5、(1)业务流程的变化应对

6、今天的商业世界是瞬息万变的,业务流程的执行环境是动态的,业务流程容易产生变化需求,包括可变性、松散性、调整、演变需求[2]。从变化范围来看,变化可以分为编制变化、编排变化;从变化时机来看,变化可以分为静态变化、动态变化[3]。本发明重点关注业务流程的调整需求,即调整业务流程以适应新出现的特殊情况,尤其是长尾型变化;这种变化是编制变化,既可以是静态的,也可以是动态的。

7、业务流程应对变化的方法可以分为前摄式和反应式两类。前摄式方法为所有可能发生的变化都提前制定好应对方案。可变性建模、流程配置方法[5]预先定义变化点、准备候选流程片段,在特定的变化发生时选定流程片段,得到流程变体。异常处理方法[6]预先定义异常源、准备异常处理器,在异常发生时调用合适的异常处理器来处理异常。前摄式方法允许提前详细分析、充分测试应对方案,确保业务流程的合规性。

8、反应式方法不提前制定应对方案,而是在变化发生后临时应对。有些变化是不可预知的,具有高度的不确定性,无法提前制定应对方案;有些变化虽然是可预知的,但是种类繁多,由于成本和模型简洁性限制,无法提前制定应对方案。本发明重点关注无法提前制定应对方案的长尾型变化,对于这些变化只能使用反应式方法来应对。adept技术[19]采用结构化的流程建模语言,支持语法驱动建模特性,便于业务人员修改业务流程。chen等[9]和cao等[20][21]让业务人员在业务流程上添加注释,利用语法制导编辑器编写领域专用语言(domain-specific language,dsl)代码,来修改业务流程,应对长尾型变化。zhu等[7]让前端人员利用注释和dsl分布式地修改业务流程,敏捷地应对长尾型变化。反应式方法无法提前分析应对方案,确保业务流程的合规性是一个挑战。

9、(2)业务流程的可控性验证

10、现有的业务流程可控性验证方法大多关注时间约束。eder等[17]将stnu应用于业务流程,验证业务流程在时间约束下的可控性。业务流程中每个活动的开始时间是可调度的,而结束时间是待定的,取决于环境。业务流程具有一组时间约束,用于限制一些时间节点之间的时间差范围。如果存在一个策略,该策略能够观察已完成活动的结束时间,动态地调度未开始活动的开始时间,使得业务流程满足时间约束,那么业务流程就具有可控性。

11、stnu有一些变种,应用于业务流程时,可以处理更多的流程结构,验证更多的约束[18]。cstnu支持分支,可以处理业务流程中的分支结构。cstnur支持资源,可以验证业务流程的资源约束。pstnu支持概率,可以定量分析业务流程的可控程度。一些基于stnu的开源工具可以实现业务流程的可控性验证。timeawarebpmn-js工具支持在bpmn流程模型上建模时间约束。cstnu tool工具可以验证stnu的可控性,从而验证业务流程的可控性。

12、stnu及其变种都是以时间约束为中心的,而业务流程还有更多种约束需要验证。peng等[14]将stnu推广成g-stnu,以支持更多种约束。然而,g-stnu只能支持对单个单调递增变量的约束,这是因为stnu是专门为时间约束设计的,难以进一步推广。本发明将不再以stnu为基础,因此能够支持更多种约束。

13、(3)离散事件动态系统与控制器合成

14、为了验证更多种约束,本发明将利用离散事件动态系统与控制器合成技术。

15、离散事件动态系统(discrete event dynamic system,deds)是事件驱动的、状态离散的动态系统[22]。系统中的变迁可以分为可控的和不可控的变迁,系统可以控制可控的变迁,而不可控的变迁取决于环境。业务流程也是一种deds。马尔可夫决策过程(markovdecision process,mdp)[23]可以用于描述deds的行为。本发明将利用mdp来描述业务流程的行为。mdp中的变迁分为可控的和不可控的变迁,分别可以描述流程控制器的操作和环境对流程的影响;mdp的不可控的变迁之间具有概率分布,便于定量分析业务流程的可控性。

16、控制器合成(也叫控制器综合)[24]技术可以用于验证deds的可控性,并且构造控制策略。控制器合成问题可以描述为控制器与环境之间的博弈。控制器控制可控的变迁,试图让系统满足约束;环境影响不可控的变迁,试图让系统违反约束。控制器合成的目标是构造一个必胜策略,使得控制器能够赢得博弈,让系统满足约束,无论环境如何影响系统。prism[25]是一种支持控制器合成的模型检测器,它支持使用mdp来描述系统行为,使用时态逻辑公式来描述系统需要满足的约束。本发明将利用prism来进行可控性验证。

17、santos等[26]将控制器合成应用于yawl业务流程,在业务流程执行时限制可执行的活动,使得业务流程满足一些功能性约束。本发明支持更多种类的功能性与非功能性约束。本发明还考虑了业务流程的数据流,支持从流程变量的角度更加精细地控制业务流程的执行。

18、张红霞等[27]利用mdp来建模、分析可适变业务流程。他们关注的是当某个服务不可用时,选择候选服务来继续业务流程,实现适变。与他们不同的是,本发明关注如何控制业务流程使其满足功能性与非功能性约束。

19、venero等[28]利用mdp来分析、控制知识密集型业务流程。知识密集型业务流程不预先规定活动之间的执行顺序,而是由流程参与者在流程执行时动态决定。与他们不同的是,本发明关注预先规定的bpmn业务流程的可控性。

20、本发明提供的敏捷应对变化的业务流程可控性验证方法,参见图15;具体步骤如下。

21、(1)业务流程模型的构建

22、本发明的业务流程模型,包含bpmn中的一些核心元素,用于建模控制流;包含变量,用于建模数据流;还包含功能性与非功能性约束,用于建模业务规范。

23、形式化地,设业务流程模型p是一个多元组(n,e,v,a,cf,cnf);

24、其中,n=ne∪na∪ng是结点的集合,其中ne是事件的集合,na是活动的集合,ng是网关的集合;是边的集合;v是变量定义的集合;a是变量访问的集合;cf是功能性约束的集合;cnf是非功能性约束的集合。

25、这样,n和e构成控制流;v和a构成数据流;cf和cnf构成业务规范。

26、(1.1)控制流的构建

27、业务流程的控制流由结点和边组成。本发明支持bpmn中的六种结点,包括开始事件、中间事件、结束事件、活动、排他网关、并行网关。本发明支持bpmn中的一种边,即顺序流。例如,在线商店业务流程的控制流如图1所示。

28、(1.2)数据流的构建

29、业务流程的数据流也很重要,数据流决定着排他网关后面的路径选择,活动的执行也需要访问数据。在验证可控性时,可以只考虑会影响可控性的数据,即与约束相关的数据。数据流由变量的定义和访问组成。

30、本发明支持三种类型的变量的定义,分别是整数型、布尔型、枚举型。整数型变量在定义时需要指定取值范围。布尔型变量的取值范围是固定的,即{false,true}。枚举型变量在定义时需要指定枚举元素的集合。为了让枚举型变量参与运算,可以为每个枚举元素指定一个整数值(可以参考波达计数法),也可以自定义一种从枚举元素到枚举元素的运算法则。

31、数据的访问包括排他网关从业务流程中读取数据,中间事件和活动读写数据。

32、业务流程中的排他网关可以读取数据。从排他网关流出的每一条顺序流上可以指定一个关于变量取值的条件,作为路径选择的条件。

33、业务流程中的中间事件和活动可以读写数据。在修改变量时,本发明支持三种类型的变量赋值,分别是确定赋值、可控赋值、不可控赋值。确定赋值是指变量的值可以由一个表达式,或者通过一段程序确定。可控赋值是指流程控制器可以控制变量的取值。不可控赋值是指变量的取值取决于环境。对于不可控赋值,可以指定可能取值之间的概率分布,默认情况是均匀分布。

34、例如,在验证在线商店业务流程的可控性时,可以定义如表2所示的变量。

35、表2在线商店业务流程中的变量

36、

37、

38、从排他网关流出的顺序流“常温”上的条件是变量“送货方式”取值为“常温”;顺序流“冷链”上的条件是变量“送货方式”取值为“冷链”。

39、业务流程中活动对变量的修改如表3所示。当变量的取值取决于环境时,使用不可控赋值,例如变量“货物类型”不可控,因为所需货物取决于客户;变量“货物品质”不可控,取决于仓库中的货物批次;变量“送货耗时”不可控,取决于路况。当流程控制器可以决定变量的取值时,使用可控赋值,例如控制变量“发货优先级”、“优惠金额”可以影响成本和客户满意度;控制变量“送货方式”可以影响流程的路径选择。

40、表3在线商店业务流程中活动对变量的修改

41、

42、(1.3)业务规范的构建

43、本发明所考虑的业务规范是与业务相关的约束,可以分为功能性与非功能性约束,它们比无死锁等基本性质更加精细。

44、业务流程的功能由一组活动组成,功能性约束是对活动之间执行顺序的约束,确保活动实现业务目标。本发明基于zhu等[12]的方法,利用condec[29]符号来表达活动之间的执行顺序约束,每一种符号对应一种线性时态逻辑(linear temporal logic,ltl)[30]公式,如表4所示。ltl公式中的时态连接词f、g、u可以表达活动之间的执行顺序。之前的工作[12]只考虑了控制流,而本发明还考虑了数据流,因此在建模功能性约束时,可以描述活动对变量的赋值。如果流程控制器能够通过控制可控变量的取值来影响流程的路径选择,使得业务流程满足功能性约束,无论不可控变量如何影响流程,那么业务流程就具有功能性约束下的可控性。

45、表4功能性约束符号和ltl公式[12]

46、

47、非功能性约束是对成本、利润、客户满意度等的约束,确保业务质量和绩效。业务质量和绩效通常可以用关键绩效指标(key performance indicator,kpi)来量化。kpi通过一些参数计算得到,这些参数可以是流程变量的取值。非功能性约束就是对kpi取值范围的约束。如果流程控制器能够动态地控制可控变量的取值,使得业务流程满足非功能性约束,无论不可控变量如何影响kpi,那么业务流程就具有非功能性约束下的可控性。

48、例如,在线商店业务流程的功能性约束如图2所示。约束(a)要求拣到生鲜货物后需要采用冷链送货。为了使得业务流程满足这个约束,流程控制器需要在活动“拣货”完成时观察变量“货物类型”的取值,如果取值为“生鲜”,那么需要在活动“发货”执行时将变量“送货方式”设置为“冷链”。约束(b)要求确认收货和处理款项需要同时存在(或同时不存在)。为了使得业务流程满足这个约束,流程控制器如果观察到其中一个活动执行了,那么需要安排另一个活动也执行。由于图1所示的在线商店业务流程非常简单,这两个约束显然是可控的。对于现实中更加复杂的流程和约束,必须借助计算机来自动验证。

49、在线商店业务流程关注两个kpi,包括客户满意度和成本指数。客户满意度的计算公式为:货物品质+发货优先级-送货耗时/20+优惠金额/10。成本指数的计算公式为:货物品质+发货优先级+优惠金额/10。为了便于计算,将货物品质的枚举(一等,二等,三等)映射为整数(5,4,2),将发货优先级的枚举(一级,二级,三级)映射为整数(5,4,2)。因此,在线商店业务流程有两个非功能性约束,包括(a)客户满意度要大于等于8;(b)成本指数要小于等于12。为了使得业务流程满足这两个约束,流程控制器需要在活动“拣货”执行时观察变量“货物品质”的取值,然后在活动“发货”执行时决定变量“发货优先级”的取值,再在活动“确认收货”执行时观察变量“送货耗时”的取值,然后在活动“处理款项”执行时决定变量“优惠金额”的取值。如果上述动态控制策略存在,那么业务流程就具有非功能性约束下的可控性。

50、(2)基于mdp的业务流程行为的描述

51、为了定量分析、验证业务流程的可控性,本发明利用mdp来描述业务流程的行为。本发明用mdp中的状态来描述业务流程的状态;用动作来描述流程控制器可以控制的操作;用状态转移概率来描述环境对业务流程的影响;用概率时态逻辑公式来描述业务规范。因为业务流程中的不同活动之间一般没有好坏之分,所以本发明不考虑奖励。

52、形式化地,设mdp m是一个多元组(s,a,p,φ),其中,s是状态的集合;a是动作的集合;p是状态转移概率矩阵,其中pi,j(a)是状态si通过动作a转移到状态sj的概率;φ是概率时态逻辑公式的集合。

53、在利用mdp来描述业务流程的行为之前,可以先利用约简规则[11]来去除业务流程中与约束无关的结点和边,从而降低业务流程的复杂性。

54、为了描述业务流程的行为,需要描述控制流、数据流、业务规范。

55、(2.1)控制流的描述

56、根据业务流程的控制流元素包含六种结点和一种边。每种控制流元素都要用mdp来描述。开始事件用开始状态来描述。结束事件用结束状态来描述。中间事件、活动用动作来描述,当前状态通过动作转移到下一个状态。排他网关用多个候选动作来描述,每个候选动作转移到各自的下一个状态。并行网关的每条并行线程分别用一个子mdp来描述,多个子mdp只在网关处同步执行,在其它地方都异步执行。顺序流用状态之间的先后顺序来描述。

57、例如,在线商店业务流程对应的mdp如图3所示。图中每个动作只会转移到一个状态,转移概率都是1,因此图中省略转移概率。在描述业务流程的控制流时,对网关的处理是一个难点。在线商店业务流程含有排他网关,图3展示了对排他网关的处理。对并行网关的处理如图4所示,流程中的两条子线程描述为两个子mdp,父子mdp之间只在“网关1”和“网关2”处同步执行,而“子线程数据流的描述。

58、(2.2)数据流的描述,是对控制流mdp的细化。业务流程的数据流由变量的定义和访问组成。变量定义是通用的,可以直接沿用,因此只需考虑变量访问的描述。

59、排他网关可以读取变量,用于选择路径。从排他网关流出的顺序流上的条件用mdp的动作上的守卫来描述。例如,图3所示mdp中的动作“常温”的守卫是“送货方式=常温”;动作“冷链”的守卫是“送货方式=冷链”。

60、中间事件和活动可以读取、修改变量。修改变量时支持三种类型的变量赋值,包括确定赋值、可控赋值、不可控赋值。确定赋值用一个动作来描述,该动作转移到下一个状态。可控赋值的每个候选值分别用一个动作来描述,每个动作转移到各自的下一个状态。不可控赋值的不同候选值用一个动作转移到不同的下一个状态的概率来描述。

61、例如,在线商店业务流程中的活动“发货”对应的mdp片段如图5所示。因为变量“发货优先级”可控,所以候选值“一级”、“二级”、“三级”分别描述为一个动作。变量“送货方式”的情况类似。活动“拣货”对应的mdp片段如图6所示。因为变量“货物类型”不可控,所以通过动作“货物类型”转移到状态“普通”、“生鲜”的概率各为1/2(默认情况是均匀分布)。变量“货物品质”的情况类似。

62、(2.3)业务规范的描述

63、用mdp来描述业务流程的控制流、数据流之后,可以用对mdp的约束来描述业务规范。对mdp的约束可以用概率ltl[31]公式来表达,概率ltl公式中的运算符p用于计算mdp满足ltl公式的最小或最大概率。本发明要验证业务流程在约束下的可控性,因此要计算mdp满足ltl公式的最大概率。mdp的智能体根据最优策略来控制mdp时,能够达到的满足ltl公式的最大概率,就是mdp所描述的业务流程的控制器根据策略来控制业务流程时,能够达到的最大可控程度。当最大概率达到1时,业务流程具有完全可控性,否则具有部分可控性。业务规范分为功能性与非功能性约束,这两种约束都可以用概率ltl公式来描述。

64、业务流程的功能性约束是对活动之间执行顺序的约束,可以根据表4用ltl公式来表达。把ltl公式中的“a”、“b”替换成mdp的状态,并且给ltl公式加上p运算符,就形成了概率ltl公式。例如,图2所示的两个功能性约束可以分别描述为以下两个概率ltl公式:

65、pmax=?[g(s=1∧货物类型=生鲜→f s=6)]

66、

67、业务流程的非功能性约束是对kpi的约束,要求业务流程结束时kpi的取值在规定的范围之内。对mdp来说,就是到达结束状态时kpi要满足约束。例如,在线商店业务流程的两个非功能性约束可以分别描述为以下两个概率ltl公式:

68、pmax=?[g(s=9→客户满意度≥8)]

69、pmax=?[g(s=9→成本指数≤12)]。

70、(3)基于prism的可控性验证

71、prism是一个概率模型检测器,支持mdp的可控性验证和控制器合成。prism支持定量分析某个目标约束的可控性,还支持分析多个目标约束之间的权衡,得到帕累托曲线[32]。prism的输入包括模型(.prism)文件和性质(.props)文件,输出包括验证结果(可控性或帕累托曲线)和最优策略(.adv)文件。本发明利用prism来验证业务流程的可控性,为此,需要将mdp编码成模型文件,将约束编码成性质文件,然后进行可控性验证,得到验证结果和最优策略。

72、(3.1)模型文件的编码

73、模型文件由变量和变量的变化组成。mdp的状态是隐含的,取决于所有变量的取值。因此,我们不需要像图5、图6那样自己编码出所有的状态,而是只需要编码出每个变量的变化。在验证时,prism会自动生成mdp的状态空间。prism支持进程代数运算符,如果有多个子mdp,那么可以用并行组合运算符将多个子mdp组合在一起。在模型文件中还可以定义kpi的计算公式。

74、例如,在线商店业务流程mdp的模型文件片段见附录2,上部是变量的定义,中部是变量的变化,下部是kpi的计算公式。由于活动“拣货”要修改两个变量,为了方便编码,将它拆成两个s值,即1和2。同样地,活动“发货”拆成3和4。

75、(3.2)性质文件的编码

76、性质文件支持各种概率时态逻辑来表达目标约束,包括概率ltl。性质文件还支持多个目标约束的组合,这样可以分析冲突目标之间的权衡,得到帕累托曲线。例如,在线商店业务流程的约束对应的性质文件见附录2,上部是验证业务流程在两个功能性约束下的可控性,下部是分析两个非功能性约束之间的权衡。

77、(3.3)验证结果

78、将模型文件和性质文件输入prism,就可以得到验证结果。对于单个目标约束,可以得到可控性。对于多个目标约束的组合,可以得到帕累托曲线,曲线上的每个点都是权衡点,要提高一个约束的可控性就必须降低另一个约束的可控性。例如,对在线商店业务流程的验证结果是,业务流程在两个功能性约束下的可控性为1,即具有完全可控性,两个非功能性约束之间的帕累托曲线如图7所示。该帕累托曲线表明,客户满意度的可控性最高为0.89,此时成本指数的可控性为0.78;成本指数的可控性最高为1,此时客户满意度的可控性为0.67。这两个kpi是冲突的,需要在帕累托曲线上选择一个权衡点。

79、(3.4)最优策略的构造

80、验证单个目标约束的可控性之后,prism可以直接生成最优策略。分析冲突目标之间的权衡之后,需要选择一个权衡点,再让prism生成最优策略。最优策略指明了在各种情况下应该如何给可控变量赋值。如果某个约束具有完全可控性,那么最优策略能够让业务流程一定满足该约束。如果某个约束具有部分可控性,那么最优策略能够让业务流程尽可能满足该约束。最优策略也是一个mdp,它是对业务流程mdp的限制,其中每个可控赋值都只保留一个值作为决策。

81、本发明针对业务流程的bpmn国际标准,利用马尔可夫决策过程描述业务流程的行为,运用prism模型检测器进行可控性验证,具备在敏捷应对长尾型变化的同时,统一检验是否存在保障业务流程功能性与非功能性约束的执行策略,构造最优执行策略的能力。

82、本发明的技术特点和优势主要在于:

83、(1)在之前可控的反应式应变技术[7]的基础上,提出一种统一建模和验证业务流程功能性与非功能性约束的方法,提高了ltc应变方法的可用性;

84、(2)提出一种自动构造使得业务流程满足约束的最优执行策略的方法,化解了业务流程灵活性与合规性之间的矛盾;

85、(3)提出一种定性的可控性验证方法,在业务流程不完全可控时也能自动构造尽力而为的执行策略,实现了优雅的降级。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1