从私有过程提取公共过程构建业务协同的方法
2017-09-15林雷蕾谢仲文
莫 启 代 飞 朱 锐 笪 建 林雷蕾 李 彤 谢仲文 郑 明
1(云南大学软件学院 昆明 650091)2(西南林业大学大数据与智能工程学院 昆明 650091)3(云南省软件工程重点实验室(云南大学) 昆明 650091)4 (淮安开放大学信息工程系 江苏淮安 223001)
从私有过程提取公共过程构建业务协同的方法
莫 启1,3代 飞2,3朱 锐1,3笪 建1,4林雷蕾1李 彤1,3谢仲文1,3郑 明1
1(云南大学软件学院 昆明 650091)2(西南林业大学大数据与智能工程学院 昆明 650091)3(云南省软件工程重点实验室(云南大学) 昆明 650091)4(淮安开放大学信息工程系 江苏淮安 223001)
(moqiyueyang@163.com)
业务过程协同允许组织之间彼此进行通信、交互和协作以完成特定的业务目标.为了确保实施的正确性和一致性,需要对业务过程协同进行建模和分析.针对从私有过程(组织所拥有的完整流程)中抽取公共过程(组织参与协同的流程)以构建业务过程协同,首先定义业务过程模型以表示组织的私有过程,该模型由内部视图和公共视图组合而成,且内部视图是自由选择网结构;进而将业务过程模型抽象为4种基本块,即顺序块、选择块、并发块及迭代块;针对这4种基本块提出各自的抽取规则集以获得组织的公共过程,并从理论上证明了这些规则集能够保持协同中接口一致性,从而确保了每一次抽取是上下文无关的.通过对协同制造中供应链进行建模并与现有的、典型的方法进行对比分析,结果表明:相对于已有的工作,在考虑隐私保护原则的情况下,所提方法能够更加有效地对业务过程协同进行建模和分析.
业务过程协同;异步消息通信;业务过程模型;基本块;抽取规则集;接口一致性
近年来,随着Internet成为主流的计算平台,尤其是面向服务计算(service-oriented computing, SOC)的快速兴起,使得跨组织协同成为可能,也为这种跨组织间的交互和协作提供了技术支持.随着经济全球化的发展和企业信息化程度的不断提高,企业的经营模式发生了重大的变化,企业的业务活动已从企业内单目标为导向的独立模式发展成为跨企业多目标合作的协同模式[1].在现代商业环境下[2-3],没有一个企业是孤立的,企业作为参与者参与到协作中去.在协作过程中,它们彼此进行交互以完成特定业务功能.业务过程协同,如企业信息系统[4]、电子商务[5]等,由于通常涉及到多个业务过程单元,跨越了组织边界,其主要任务是通过各自的信息系统,不同企业之间可以方便地进行协作以完成特定的业务目标[6].为确保业务实施的正确性和一致性,需要对其建模和分析.因此,如何对业务过程协同进行合理、有效地建模和分析成为当前业务过程管理(business process management, BPM)领域内的一个研究热点.
针对于业务过程,研究者们提出了多种建模和分析方法.一般来说,业务过程协同的建模和分析通常需要借助某种形式化方法,主要有基于Petri网(典型如文献[7])和基于进程代数(典型如文献[8-9])的方法.然而,目前已有的、典型的一些形式建模工作在建模业务过程时普遍对隐私保护原则考虑不足(如文献[7,9]),即参与协同组织将其内部的全部流程信息暴露出来,这样就导致了建模业务过程协同时与需要保护组织隐私的原则相违背;针对上述不足,一些学者在上述基础上做了改进(如文献[10-11]等),归纳起来可分为2类:1)首先给出协同全局契约,然后定义映射规则,并以此为基础从契约中生成每个参与组织的私有过程,属于一种自顶向下对业务过程协同建模的方法[10];2)参与组织首先定义出自己的私有流程,然后通过与其他组织协商确定其协作的接口,进而依据协作的接口从私有过程中抽取出公共过程以构建业务过程协同模型,属于一种自底向上对业务过程协同建模的方法[11].本文讨论的业务过程协同建模方法属于自底向上范畴,其中根据协作接口从私有过程中抽取出公共过程最为关键.需要说明的是,采用自底向上的方式建模协同业务过程并不事先知道完整的协作场景和协作流程细节,因此由这种方式构建的业务过程协同模型可能也存在交互异常,需要通过形式验证方式确认.如何通过形式验证确认业务过程协同模型内部是否存在交互异常不是本文关注的重点,本文不予讨论.
总的来说,现有的这些工作仍具有如下一些局限性,具体表现为:1)由于没有考虑隐私保护原则,造成了建立的模型分析效率不高;2)虽然提出了一些抽取规则集,但是并没有从异步消息通信的角度来证明应用这些规则集对私有过程进行抽取是上下文无关的,即如果一个参与组织的过程模型与其他参与组织过程模型的组合是正确的(正确性可以根据实际需要定义,如合理性等,在本文中不加以区分),则每一次抽取该过程模型后所得到的过程模型与其他参与组织过程模型的组合也是正确的.此处的上下文指的是业务过程协同中与要抽取过程模型交互的所有过程模型.从而导致了在每一次抽取后,都需要将得到的过程模型与其他参与组织过程模型进行组合,以判断其正确性,即组合正确性验证.不断重复的组合正确性验证势必会影响业务过程协同建模的效率,为避免上述情况,抽取规则需是上下文无关的.
根据协作接口从私有过程中抽取出公共过程是上下文敏感的,即可能导致原本可以正常执行的流程在抽取之后无法运行异常,但这种抽取在建模业务过程协同中是必要的,通过抽取过程能够确保组织内部的一些隐私信息不被上下文所观察到.为此,在上述已有工作的基础上,本文主要讨论了从私有过程中抽取公共过程的规则集,且这些规则集是上下文无关的.需要指出的是,本文中提到的上下文无关只考虑了任务执行间存在的异步消息传递关系.事实上,为了实现共同的业务目标,不同组织间的任务除了采用异步消息通信的方式进行交互外,还可能存在同步关系,即某些任务的执行需要多个组织同时参与等情形,这在下一步工作着重讨论.通过使用这些规则集,一方面,可以在保护流程隐私信息的前提下以自底向上的方式来构建业务过程协同;另一方面,可以更加有效地实现对业务过程协同的建模和分析.
本文的主要贡献包括4个方面:
1) 定义了业务过程模型以表示组织的私有过程,该模型由内部视图和公共视图组合而成,且内部视图是自由选择网结构[12];
2) 以业务过程模型为基础,将其抽象为4种基本块,即顺序块、选择块、并发块及迭代块;
3) 针对于这4种基本块提出各自的抽取规则集以获得组织的公共过程,在综合考虑异步消息通信的基础上证明了这些规则集能够保持协同中接口一致性,确保了对业务过程模型的每一次抽取是上下文无关的;
4) 实例分析结果表明:相对于已有的工作,在考虑隐私保护原则的情况下,本文的工作能够更加有效地实现对业务过程协同的建模和分析.
1 相关工作
与传统的组织内业务过程相比,业务过程协同需要跨越组织(企业)的边界以实现协作,复杂程度更高并具有新的特征[9,13].如引言所述,由于本文讨论的方法属于自底向上范畴,且相比于以业务过程为基础直接建模业务过程协同,目前从私有过程抽取公共过程构建业务过程协同模型还需进行深入研究,并未形成系统性的研究成果.因此,下面仅对属于该方法的一些典型文献进行介绍.
采用自底向上的方式建模业务过程协同是当前跨组织业务流程建模领域的一个研究热点.文献[12]从控制流的角度提出了工作流网(workflow net, WF-net).本质上,WF-net是一种对结构进行约束的Petri网,要求有一个确定的输入库所和一个确定的输出库所,且输入库所没有输入弧,输出库所没有输出弧;随后,文献[7]基于WF-net提出了IOWF(interorganizational workflow)用于建模跨组织工作流;文献[14]使用有色Petri网从内部和外部的角度对Web服务的业务过程进行建模,并对业务过程模型之间的相容性和相似性进行了详细地讨论;文献[15]针对跨组织应急联动系统的特性,在Petri网模型的基础上扩展了任务执行组织部门、资源消耗以及消息传递等要素,提出了OTRM-Net(organization, time, resources and message net),用于对跨组织应急联动系统中的任务协同模式和应急处置流程进行形式化建模.虽然,上述建模方法能够较好地体现业务协作中基于消息异步通信、协作等特征,但同时又将组织内部的私有信息暴露给了伙伴组织,违背了业务过程协同中隐私保护的原则,对于参与组织来说是不可取的.为此,文献[11,16]以此为基础进行了改进.文献[16]首先从多视点的角度提出了一种用于业务过程协同建模的方法,进而对于所建立的形式模型,提出了一组流程约简集用来对业务过程模型进行化简以构建最终的业务过程协同模型;文献[11]在默认参与协同的组织内部视图是扩展自由选择网的基础上,首先提出了一组元结构,包括顺序元结构、选择元结构、并发元结构及循环元结构,然后对每种元结构提出了各自的约简规则,该规则集借鉴了文献[16]的思想.由于自由选择网对于上述4种元结构保持完备性,进而应用这些元结构约简规则集就能够对所有的协同组织内部视图进行化简,进而提取公共视图以构建私有过程协同模型.然而,文献[11,16]中工作的重点是从隐私保护的角度来讨论业务过程协同建模的方法,从异步消息通信的角度来看,抽取规则集具有局限性.为有效地实施服务外包,文献[17]提出了过程视图概念.过程视图可由投影规则从私有过程中生成,它将私有业务过程中无关的信息隐藏而仅暴露相关信息给协作伙伴,可视为私有过程的外部映像.虽然文献[17]给出多种投影关系,如灰盒投影、白盒投影等,并就投影前后的私有过程与过程视图的匹配程度计算进行阐述,但并未从理论上证明应用这些规则在异步消息环境下能够保证过程视图与私有过程的一致性,也未说明应用这种方法是否能够提高业务过程协同的建模效率.
综上,现有的建模工作要么基于通信库所融合的思想将业务过程协同构建成一个规模非常大的Petri网模型,获得的是全局模型,对组织流程隐私信息考虑不足,导致最终的业务过程协同模型分析效率不高;又或在考虑隐私保护的原则下,提出了一些抽取规则集从私有过程中抽取公共过程以构建业务过程协同模型,但并没有从理论上来证明应用这些规则集对私有过程进行抽取是上下文无关的,导致其建模效率不高.为克服这些问题,本文首先定义出业务过程模型并将其抽象为4种基本块,进而基于4种基本块提出抽取规则集,并证明了这些规则集能够保持协同中接口一致性,确保了对业务过程模型的每一次抽取是上下文无关的.
2 业务过程模型
在业务过程领域,由于Petri网具有严格的形式化语义及成熟的分析技术、直观的图形化表示、可用来对业务过程进行建模和分析[7,18].因此,本文采用Petri网作为建模业务过程的形式语言.下面首先基于Petri网来对业务过程模型进行形式地定义,该业务过程模型是本文后续工作开展的基础.
业务过程模型用于对一个组织内部的结构及组织开放的接口进行描述,表示一个参与组织的私有过程.它包括2个部分:内部视图和公共视图.内部视图对外不可见,用于描述组织内部活动之间的执行顺序;公共视图描述业务过程协同中参与组织对外开放的接口信息,每一个接口具有协同范围内唯一的语义标识,组织之间通过语义标识进行交互,同时,组织也可以通过映射函数自定义内部视图中的变迁(活动)到公共视图中的开放接口,用于决定组织向外提供哪些服务及需要请求哪些服务.
定义1. 内部视图.用来对一个组织内部活动之间的执行顺序进行抽象,它形式化定义为一个基本Petri网IV=(P,T,i,o;F),其中:
1)P为库所的有限集合;
2)T为变迁的有限集合;
3)F⊆P×T∪T×P为流关系;
4)P∩T=∅∧T∩P=∅;
5) ∀t1,t2∈T(t1≠t2),若·t1∩·t2≠∅,则|·t1|=|·t2|=1,表示IV是自由选择网结构;
6)i,o∈P分别为开始库所和结束库所,满足·i=∅,o·=∅.
定义2. 公共视图.用来对一个组织与其他组织之间的通信活动进行抽象,它形式化定义为一个四元组PV=(A,OP,fs,ft),其中:
1)A为语义标识的有限集,∀a∈A表示一个和其他组织进行通信动作的语义标识,用一个字符串来表示;
2)OP为通信操作的集合,是一类特殊的库所,参见定义3;
3)fs:OP→A表示每一个通信操作对应一个唯一的语义标识;
4)ft:OP→{Send,Receive}表示每个操作对应的消息类型.消息类型Send标识消息发送,而消息类型Receive则标识消息接收.
定义3. 业务过程模型.用来对一个组织的内部视图和公共视图进行组合,它形式化定义为一个五元组BPM=(IV,PV,fco,OP,OF),其中:
1)IV为定义1中的内部视图;
2)PV为定义2中的公共视图;
3)fco:IV.T→2OP,表示IV中的每一个变迁所对应的通信操作集合,如果对于IV.T中的一个变迁t,与OP存在映射关系,则称该变迁t为通信变迁,否则称为瞬时变迁;
4)OF为通信流关系集合,如果对于IV.T中的一个变迁t,与OP中的通信操作p存在映射关系,且ft(p)=Send,则(t,p)∈OF,否则(p,t)∈OF.
在定义3中,IV中的每一个变迁表示组织内部的一个具体的活动;流关系用来表示活动之间执行的顺序;组织的运行状态用BPM内部视图中的托肯分布情况,即标识M⊆IV.P来表示.对于任意库所p,p中只有含有1个托肯和无托肯2种情况.若p中含有1个托肯,则p∈M,否则p∉M.特别地,初始标识记为Ms,对于任意的库所p,满足p∉Ms且i∈Ms;结束标识记为Me,对于任意的库所p,满足p∉Me且o∈Me.如果fco=∅,则该模型为一个普通的Petri网,否则为带通信库所的Petri网.
一个变迁t在标识M下使能,记为M[t>.若业务过程模型在标识M通过执行变迁t到达标识M′,记为M[t>M′.所有从标识M可达的标识集记为R(M)={M′|∃σ∈T*,M[σ>M′},特别地,记R(Ms)为从业务过程模型初始标记Ms可达的所有标识集合.
例如,图1所示的订单处理子系统的内部视图由虚线框内的Petri所刻画,公共视图是由虚线框外的虚线库所组成,每个虚线库所表示一个通信操作,一个通信操作对应一个唯一的语义标识.如发送消息操作opOrder对应的语义标识为Order.
Fig. 1 Order processing subsystem图1 订单处理子系统
3 公共过程抽取
以业务过程模型(组织私有过程)为基础,结合异步消息通信来对其进行化简,得到参与组织的公共过程.该公共过程只保留了体现交互行为的通信变迁以达到保护组织隐私及减少模型状态空间的目的.
在实际应用中,顺序、选择、并行和迭代是组织内任务间存在的基本结构,业务过程模型通常由这4种基本结构组合而成[19].故我们首先将业务过程模型抽象为上述4种基本结构并定义为基本块;然后通过对这4种基本块进行分析,提出各自的抽取规则集并证明这些规则集在异步通信环境下能够保持协同中接口一致性,此处接口一致性是指业务过程模型与上下文组合执行情态在抽取前后保持不变.该特性能够确保若业务过程模型与上下文组合在抽取前能够正确执行完成,则在抽取后业务过程模型与上下文组合同样也能正确执行完成.
3.1 基本块定义
在本文中,基本块包括4种类型,它们分别是:顺序块、选择块、并发块及迭代块,下面我们分别对其进行定义.
定义5. 顺序块.对于一个基本块B=(P,T,T0,F),称B是一个顺序块,当且仅当满足:
1)pi j∈P;
2)ti,tj∈T∪T0;
3) (ti,pi j),(pi j,tj)∈F;
4) ·pi j={ti};
5)pi j·={tj};
6)ti·={pi j};
7) ·tj={pi j}.
Fig. 2 Four cases of sequence block图2 顺序块的4种情况
顺序块刻画变迁ti和tj顺序执行,其结构如图2所示.考虑到变迁有瞬时变迁和通信变迁2类,故存在4种情况.图2中虚线框内的黑色变迁表示通信变迁,白色的变迁表示瞬时变迁,库所属于此顺序块所属的业务过程模型内部视图.
形式地,图2(a)所示顺序块的定义为:P={pi j},T={ti,tj},T0=∅,F={(ti,pi j),(pi j,tj)},其他情况可类似推导.
定义6. 选择块.对于一个基本块B=(P,T,T0,F),称B是一个选择块,当且仅当满足:
1)pi,pj∈P;
2)ti,tj∈T∪T0;
3) (pi,ti),(pi,tj),(ti,pj),(tj,pj)∈F;
4)ti,tj∈pi·;
5)ti,tj∈·pj;
6) ·ti=·tj=pi;
7)ti·=tj·=pj.
选择块刻画ti和tj选择执行,其结构如图3所示.考虑到变迁有瞬时变迁和通信变迁2类,故存在3种情况.图3中虚线框内的黑色变迁表示通信变迁,白色的变迁表示瞬时变迁,库所属于此选择块所属的业务过程模型内部视图.
Fig. 3 Three cases of selection block图3 选择块的3种情况
形式地,图3(b)所示选择块的定义为:P={pi,pj},T={tj},T0={ti},F={(ti,pi j),(pi j,tj)}.
定义7. 并发块.对于一个基本块B=(P,T,T0,F),称B是一个并发块,当且仅当满足:
1)pi,pj,pk,pl∈P;
2)ti,tj,tk,tl∈T∪T0;
3) (tk,pi),(tk,pj),(pi,ti),(pj,tj),(ti,pk),(tj,pl),(pk,tl),(pj,tl)∈F;
4) ·pi={tk},pi·={ti};
5) ·pj={tk},pj·={tj};
6) ·pk={ti},pk·={tl};
7) ·pk={ti},pk·={tl};
8) ·pl={tj},pl·={tl};
9) ·ti={pi},ti·={pk};
10) ·tj={pj},tj·={pl}.
并发块刻画ti和tj并发执行,其结构如图4所示.考虑到变迁有瞬时变迁和通信变迁2类,故存在3种情况.图4中虚线框内的黑色变迁表示通信变迁,白色的变迁表示瞬时变迁,库所属于此并发块所属的业务过程模型内部视图.
Fig. 4 Three cases of concurrency block图4 并发块的3种情况
形式地,图4(c)所示并发块的定义为:P={pi,pj,pk,pl},T={tk,tl},T0={ti,tj},F={(tk,pi),(tk,pj),(pi,ti),(pj,tj),(ti,pk),(tj,pl),(pk,tl),(pl,tl)}.
定义8. 迭代块.对于一个基本块B=(P,T,T0,F),称B是一个迭代块,当且仅当满足:
1)pi,pj∈P;
2)ti,tj∈T∪T0;
3) (pi,ti),(pi,tj),(ti,pj),(tj,pj)∈F;
4)tj∈·pi,tj∈pj·;
5)pi·=·pj=ti.
迭代块刻画ti和tj迭代执行,其结构如图5所示.考虑到变迁有瞬时变迁和通信变迁2类,故存在4种情况.图5中虚线框内的黑色变迁表示通信变迁,白色的变迁表示瞬时变迁,库所属于此迭代块所属的业务过程模型内部视图.
Fig. 5 Four cases of iteration block图5 迭代块的4种情况
形式地,在图5(b)所示迭代块的定义为:P={pi,pj},T={tj},T0={ti},F={(ti,pj),(tj,pi),(pj,tj),(ti,pj)}.
3.2 抽取规则
基于上述基本块的定义,对业务过程模型抽取基本原则如下:1)针对交互场景,抽取规则集应将业务过程模型中的瞬时变迁消除,以减少其分析时的状态空间规模;2)在消除或合并的过程中,应从协同的角度,分析上下文环境对业务过程协同造成的影响,以确保了每一次抽取是上下文无关的,提高建模的效率.
Fig. 6 Rule 1: sequence block extraction图6 规则1:顺序块的抽取
在业务过程协同中,如果业务过程模型内部视图不正确,那么协同必然会失败.目前人们提出了多种业务过程正确性标准,其中以合理性[12]及其变体(如弱合理性[20]等)应用最为广泛.本文采用合理性作为内部视图正确性标准,且默认参与协同的业务过程模型内部视图均是合理的.对于业务过程模型,由于抽取要涉及到活动间的合并,所以首先对业务过程模型内的合并操作进行定义.
定义9. 合并操作.对于业务过程模型中的任意2个变迁t1,t2,t1·∩·t2=P,则合并t1和t2为t后满足:·t=·t1+·t2-P,t·=t1·+t2·-P,其中,对于任意的集合P和Q,P+Q=P∪Q-P∩Q.
规则1. 设BPM=(IV,PV,fco,OF)是一个业务过程模型,B为一个顺序块,抽取顺序块后得到的业务过程为BPM′=(IV′,PV,fco,OF),其中:
1) 若B为图2(a)所示的顺序块,则抽取顺序块的过程如图6(a)所示,抽取后得到图6(a)中的1′)所示的业务过程,BPM′中:
①IV′.P=IV.P-{pi j};
②IV′.T=IV.T-{ti};
③IV′.F=IV.F-{(ti,pi j),(pi j,tj)}∪{(pk,ti)|pk∈·ti}∪{(pk,ti)|pk∈·ti};
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
2) 若B为图2(b)所示的顺序块,则抽取顺序块的过程如图6(b)所示,抽取后得到图6(b)中的2′)所示的业务过程,BPM′中:
①IV′.P=IV.P-{pi j};
②IV′.T=IV.T-{ti};
③IV′.F=IV.F-{(ti,pi j),(pi j,tj)}∪{(pk,ti)|pk∈·ti}∪{(pk,ti)|pk∈·ti};
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
3) 若B为图2(c)所示的顺序块,则抽取顺序块的过程如图6(c)所示,抽取后得到图6(c)中的3′)所示的业务过程,BPM′中:
①IV′.P=IV.P-{pi j};
②IV′.T=IV.T-{tj};
③IV′.F=IV.F-({(ti,pi j),(pi j,tj)}∪{(pk,ti)|pk∈·ti})∪{(pk,ti)|pk∈·ti};
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
4) 若B为图2(d)所示的顺序块,抽取前后业务过程模型不变.
定理1. 设BPM是一个业务过程模型,B为一个顺序块,应用规则1抽取顺序块B为B′,且得到的业务过程为BPM′,如果M[B>M″,则M[B′>M″,其中:M,M″∈R(Ms).
证明. 1)由图6(a)中的1)可知,变迁ti和tj均为瞬时变迁且顺序执行,满足ti·∩·tj={pi j}.因为M[B>M″,可以推出存在M′∈R(Ms),使得M[ti>M′,M′[tj>M″,其中:·ti⊆M,M′=M-·ti+{pi j},M″=M′-{pi j}+tj·=M-·ti+tj·.又由定义9可知,合并后·tj=·ti+·tj-P=·ti+·tj-{pi j}=·ti+{pi j}-{pi j}=·ti,tj·=ti·+tj·-P=ti·+tj·-{pi j}={pi j}+tj·-{pi j}=tj·,又因为·ti⊆M,故可以推出在情态M下,合并后变迁tj是使能的,即满足M[tj>M‴,其中:M‴=M-·ti+tj·=M-·ti+tj·=M″,推出M[B′>M″.
2) 由图6(b)中的2)可知,变迁ti为瞬时变迁,tj为通信变迁且顺序执行,满足ti·∩·tj={pi j}.因为M[B>M″,可以推出存在M′,使得M[ti>M′,M′[tj>M″,其中:·ti⊆M,M′=M-·ti+{pi j},·tj⊆M′,M″=M′-({pi j}+E)+tj·=M-·ti+{pi j}-({pi j}+E)+tj·=M-·ti-E+tj·,E表示通信变迁tj的外部环境输入情态集.又由定义9可知,合并后·tj=·ti+·tj-P=·ti+·tj-{pi j},tj·=ti·+tj·-P=ti·+tj·-{pi j},由于·tj=E+{pi j},ti·={pi j},推出合并后·tj=·ti+·tj-P=·ti+E,tj·=ti·+tj·-P=tj·.又因为·ti⊆M,M′=M-·ti+{pi j},·tj⊆M′,可以推出·ti+·tj-{pi j}⊆M,故可以推出在情态M下,合并后变迁tj是使能的,即满足M[tj>M‴,其中:M‴=M-·tj+tj·=M-(·ti+E)+tj·=M″, 推出M[B′>M′.
3) 证明过程与2)类似,限于篇幅,略.
证毕.
定理1结论表明,由于抽取前后保持接口一致性,故应用规则1对顺序块进行抽取时,不用考虑业务过程模型组合的上下文,抽取后也不用进行组合正确性验证.
规则2. 设BPM=(IV,PV,fco,OF)是一个业务过程模型,B为一个选择块,抽取选择块后得到的业务过程为BPM′=(IV′,PV,fco,OF),其中:
1) 若B为图3(a)所示的选择块,则抽取选择块的过程如图7(a)所示,抽取后得到图7(a)中的1′)所示的业务过程,BPM′中:
①IV′.P=IV.P;
②IV′.T=IV.T-{ti};
③IV′.F=IV.F-{(pi,ti),(ti,pj)};
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
Fig. 7 Rule 2: selection block extraction图7 规则2:选择块的抽取
2) 若B为图3(b)所示的选择块,则抽取选择块的过程如图7(b)所示,抽取后得到图7(b)中的2′)所示的业务过程,BPM′中:
①IV′.P=IV.P;
②IV′.T=IV.T-{ti};
③IV′.F=IV.F-{(pi,ti),(ti,pj)};
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
3) 若B为图3(c)所示的选择块,抽取前后保持不变.
定理2. 设BPM是一个业务过程模型,B为一个选择块,应用规则2抽取选择块B为B′且得到的业务过程为BPM′,如果M[B>M′,则M[B′>M′,其中:M,M′∈R(Ms).
证明. 1)由图7(a)中的1)可知,变迁ti和tj均为瞬时变迁且选择执行,满足ti·∩·tj=∅.因为M[B>M′,可以推出M[ti>M′或M[tj>M′,其中:·ti=·tj={pi}且{pi}⊆M,ti·=tj·={pj},M′=M-{pi}+{pj}.又由定义9可知,合并后·tj=·ti+·tj-P={pi},tj·=ti·+tj·-P={pj},又因为{pi}⊆M,故可以推出在情态M下,合并后变迁tj是使能的,即满足M[tj>M″,其中:M″={pj}=M′,推出M[B′>M′.
Fig. 8 Rule 3: concurrency block extraction图8 规则3:并发块的抽取
2) 由图7(b)中的2)可知,变迁ti为瞬时变迁而tj为通信变迁且选择执行,满足ti·∩·tj=∅.因为M[B>M′,可以推出M[ti>M′或M[tj>M′,其中:·tj⊆M,tj·={pj}+E,E表示通信变迁tj的外部环境输入情态集.又由定义9可知,合并后·tj=·ti+·tj-P={pi}+·tj=·tj,tj·=ti·+tj·-P=tj·,又因为·tj⊆M,故可以推出在情态M下,合并后变迁tj是使能的,即满足M[tj>M″,其中:M″=tj·=M′,推出M[B′>M′.
证毕.
定理2结论表明,由于抽取前后保持接口一致性,故应用规则2对选择块进行抽取时,不用考虑业务过程模型组合的上下文,抽取后也不用进行组合正确性验证.
规则3. 设BPM=(IV,PV,fco,OF)是一个业务过程模型,B为一个并发块,抽取并发块后得到的业务过程为BPM′=(IV′,PV,fco,OF),其中:
1) 若B为图4(a)所示的并发块,则抽取并发块的过程如图8(a)所示,抽取后得到图8(a)中的1′)所示的业务过程,BPM′中:
①IV′.P=IV.P-{pi,pk};
②IV′.T=IV.T-{ti};
③IV′.F=IV.F-{(tk,pi),(pi,ti),(ti,pk),(pk,tl)};
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
2) 若B为图4(b)所示的并发块,则抽取并发块的过程如图8(b)所示,抽取后得到图8(b)中的2′)所示的业务过程,BPM′中:
①IV′.P=IV.P-{pj,pl};
②IV′.T=IV.T-{tj};
③IV′.F=IV.F-{(tk,pj),(pj,tj),(tj,pl),(pl,tl)};
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
3) 若B为图4(c)所示的并发块,抽取前后保持不变.
定理3. 设BPM是一个业务过程模型,B为一个并发块,应用规则3抽取并发块B为B′且得到的业务过程为BPM′,如果M[B>M′,则M[B′>M′, 其中:M,M′∈R(Ms).
证明. 1)由图8(a)中的1)可知,变迁ti和tj均为瞬时变迁且并发执行,满足ti·∩·tj=∅.因为M[B>M′,可以推出M[{ti,tj}>M′,其中:·ti+·tj⊆M,M′=M-ti·-tj·=M-{pk}-{pl}.又由定义9可知,合并后·tj=·ti+·tj-P={pi}+{pj},tj·=ti·+tj·-P={pk}+{pl},又因为{pi}+{pj}⊆M,故可以推出在情态M下,合并后变迁tj是使能的,即满足M[tj>M″,其中:M″={pi}+{pj}=M′,推出M[B′>M′.
2) 由图8(b)中的2)可知,变迁tj为瞬时变迁,ti为通信变迁且并发执行,满足ti·∩·tj=∅.因为M[B>M′,可以推出M[{ti,tj}>M′,其中:·ti+·tj=({pi}+E)+{pj}⊆M,M′=M-·ti-·tj+ti·+tj·,E表示通信变迁ti的外部环境输入情态集.又由定义9可知,合并后·ti=·ti+·tj-P=({pi}+E)+{pj},ti·=ti·+tj·-P=ti·+tj·,又因为({pi}+E)+{pj}⊆M,故可以推出在情态M下,合并后变迁ti是使能的,即满足M[tj>M″,其中:M″=M-(·ti+·tj)+(ti·+tj·)=M′,推出M[B′>M′.
证毕.
定理3结论表明,由于抽取前后保持接口一致性,故应用规则3对并发块进行抽取时,不用考虑业务过程模型组合的上下文,抽取后也不用进行组合正确性验证.
规则4. 设BPM=(IV,PV,fco,OF)是一个业务过程模型,B为一个迭代块,抽取迭代块后得到的业务过程为BPM′=(IV′,PV,fco,OF),其中:
1) 若B为图5(a)所示的迭代块,则抽取迭代块的过程如图9(a)所示,抽取后得到图9(a)中的1′)所示的业务过程,BPM′中:
①IV′.P=IV.P;
②IV′.T=IV.T-{tj};
③IV′.F=IV.F-{(pi,tj),(tj,pj)};
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
2) 若B为图5(b)所示的迭代块,则抽取迭代块的过程如图9(b)所示,抽取后得到图9(b)中的2′)所示的业务过程,BPM′中:
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
3) 若B为图5(c)所示的迭代块,则抽取迭代块的过程如图9(c)所示,抽取后得到图9(c)中的3′)所示的业务过程,BPM′中:
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
Fig. 9 Rule 4: iteration block extraction图9 规则4:迭代块的抽取
4) 若B为图5(d)所示的迭代块,则抽取迭代块的过程如图9(d)所示,抽取后得到图9(d)中的4′)所示的业务过程,BPM′中:
④M′=M;
⑤IV′.i=IV.i;
⑥IV′.o=IV.o.
定理4. 设BPM是一个业务过程模型,B为一个迭代块,应用规则4抽取迭代块B为B′且得到的业务过程为BPM′,如果M[B>M′,则M[B′>M′,其中:M,M′∈R(Ms).
证明. 由于每个业务过程模型内部视图都满足合理性的定义,故可知迭代块中的迭代次数必须是确定的.不失一般性,我们设迭代次数为n.
1) 由图9(a)中的1)可知,变迁ti和tj是瞬时变迁,且迭代次数是确定的,所以可将n次迭代用n个顺序块顺序组合来表示.在每一个块中,变迁ti和tj是顺序执行的.第n个顺序块与变迁ti相连接,而变迁ti连接到库所pj.从而可以重复运用图6(a)所示的抽取过程,经过n×n次合并后得到图9(a)中的1′)所示抽取结果,满足M[B′>M′.
2) 由图9(b)中的2)可知,变迁ti是通信变迁,tj是瞬时变迁,且迭代次数是确定的.同样可将n次迭代用n个顺序块顺序组合来表示,在每一个块中,变迁ti和tj是顺序执行的.第n个顺序块与第n+1个ti相连接,而第n+1个ti连接到库所pj.从而可以重复运用图6(b)所示的抽取过程,经过n×n次合并后得到图9(b)中的2′)所示抽取结果,满足M[B′>M′.
3) 证明过程与2)类似,只是重复运用图6(c)所示的抽取过程.
4) 证明过程与2)类似,只是重复运用图6(d)所示的抽取过程.
证毕.
定理4结论表明,由于抽取前后保持接口一致性,故应用规则4对迭代块进行抽取时,不用考虑业务过程模型组合的上下文,抽取后也不用进行组合正确性验证.
需要指出的是,本节讨论的4种抽取规则均只考虑了含有2个活动的流程片段.事实上,对于一个包含在业务过程模型内部视图中的流程片段而言,若其含有图2~图5所示的任意一种结构片段就可以组合或重复多次使用规则1~规则4对其进行抽取.由于业务过程模型内部视图是自由选择网结构,因而组合或重复运用规则1~规则4能够有效地对含有多个任务的顺序块、多路选择块、多路并发块和多路循环块进行抽取.
4 实例研究
4.1 实例说明
为说明本文所提出方法在建模和分析时的有效性,本节以协同制造中一个简化的供应链网络为例来对其进行建模,并与属于该方法内的代表性文献[7,11,15-16]进行对比分析.该供应链网络中包括客户Customer、生产商Producter及供应商Supplier这3个业务伙伴,客户首先向生产商发送订单(send_order_c),生产商在接收客户发来的订单后(rec_order_c),它就向供应商发送订单(send_order_p)并通知客户(notify)订单已经在处理中,然后生产商从供应商处收货(rec_dely_p),接着就将产品和发票依次发送至客户(send_dely_c,send_invoice),客户在收到生产商发来的产品和发票后(rec_dely_c,rec_invoice)就向生产商付款(pay),生产商在收到客户发来的款项后表示一次业务活动完成.而供应商在收到供应商发来的订单后(rec_order_p),它对订单进行处理并检查生产的产品是否合格(produce_p,check_p),如果合格(OK_p)就向生产商发送产品(send_dely_p),如果不合格就重新生产.其客户、生产商及供应商所对应的业务过程模型如图10所示,其中:黑色的变迁表示需要与外部进行交互才能完成的活动,白色的变迁表示业务过程内部的活动,粗线表示不同组织活动间基于消息的通信.
Fig. 10 Supply chain network business process model图10 供应链网络业务过程模型
4.2 供应链网络建模
针对图10中客户、生产商及供应商所对应的业务过程模型,首先应用本文所提出的方法对各个业务过程模型进行抽取得到其各自的公共过程,然后应用文献[7]中的方法对抽取后的公共过程进行建模,得到的业务过程协同模型如图11所示,称为模型1,记为Model 1.
文献[7]是业务过程协同领域内一篇比较经典的文献,后续的许多相关工作都是以此为基础而展开的,选择它作为对比具有代表性,而为了体现当前的研究趋势,另外选择文献[15].文献[15]作为最新的研究成果,文中所用的建模方法受文献[7]的影响,在整体思路上与文献[7]基本保持一致.所以,本文将文献[7,15]作为一个整体与本文方法进行对比.应用文献[7,15]中的方法来构建的业务过程协同模型如图12所示,称为模型2,记为Model 2.
而文献[11,16]中考虑了对公共过程的抽取,故在本文中,我们首先应用文献[11,16]中所提出的方法对各个业务过程模型进行抽取得到各自的公共过程,然后再应用文献[7]中的方法对抽取后的公共过程进行建模,建立的业务过程协同模型如图13所示,称为模型3,记为Model 3.
Fig. 11 Model 1图11 模型1
Fig. 12 Model 2图12 模型2
Fig. 13 Model 3图13 模型3
4.3 模型定量分析
针对由本文方法以及文献[7,11,15-16]中的方法所构建的3类模型,我们从构建后模型的分析效率及构建模型时的建模效率这2个方面来对其进行定量地分析.
具体来说,本文采用模型验证这种形式验证技术作为其形式分析的方法.模型验证技术的基本思想是:将待验证的系统表示为一个状态迁移模型M,需验证的性质用时序逻辑公式φ表示,进而就可以将“系统是否满足所期望的性质”转化为“M是否满足公式φ,即Mφ”.由于模型验证的效率及时间由状态迁移模型M的状态空间决定,进而采用文献[21]中的评估指标:可达状态(reachable state)、有效迁移(fair transition)及系统直径(system diameter)来对上述3类模型进行对比.系统直径即搜索深度,表示从初始状态到最远可达状态之间的距离;可达状态和有效迁移的数量则反映了系统状态空间规模的大小,直接影响模型验证的效率[21].需要指出的是,此处的M是指由业务过程协同模型(如模型1、模型2或者模型3)生成的可达图,如何生成Petri网的可达图已有成熟算法可供参考,限于篇幅,在此不再赘述;而性质φ是用来表示正确性标准(如合理性等)的时序逻辑公式,本文主要考虑可能影响形式验证效率的因素,对于如何使用模型检测技术来验证业务过程协同模型的正确性是下一步的工作.
图14为上述3类模型在构建后模型的分析效率上的对比图.从图14可以看出,模型2的可达状态、有效迁移及系统直径均大于模型1和模型3,而模型1和模型3在可达状态、有效迁移及系统直径3个指标上表现相同.从而,我们就可以得出如下结论:从构建后模型的分析效率来看,由于文献[7,15]没有考虑从私有过程中抽取公共过程以构建协同过程,从而导致最终构建的协同模型的形式分析效率(以可达状态、有效迁移及系统直径来表示)远低于本文方法和文献[11,16]中所提出的方法;同时,由于文献[11,16]中所提出的方法考虑了从私有过程中抽取公共过程以构建协同模型,从而使得根据该方法构建的协同模型的形式分析效率与本文方法相同.
Fig. 14 Comparison of model analysis efficiency图14 模型分析效率比较
Fig. 15 Comparison of modeling efficiency图15 模型建模效率比较
图15为根据本文方法和文献[7,11,15-16]中方法在构建上述3类模型时建模效率上的对比图.从图15中可以看出,模型3的可达状态、有效迁移及系统直径均大于模型1和模型2,而模型1和模型2在可达状态、有效迁移及系统直径3个指标上表现相同.从而,我们就可以得出如下结论:从构建协同模型时的建模效率来看,虽然文献[11,16]考虑了从私有过程中抽取公共过程,得到的模型3与模型1完全相同.但是并没有从理论上证明这种抽取是上下文无关的,从而导致了在构建业务过程协同模型的过程中需要经过3次组合正确性验证(因为需要经过顺序抽取和循环抽取后才得到模型3),而本文方法中的每一次抽取都是上下文无关的,故只需要对初始模型(即模型2)经过一次组合正确性验证即可,进而使得其建模的代价(以可达状态、有效迁移及系统直径来表示)远小于文献[11,16]中所提出的方法.同时,虽然文献[7,15]中所提出的方法与本文的方法在建模代价上表现相同,但是从最终构建的协同模型来看,其与建模协同模型时需考虑保护组织隐身的原则相违背,导致其最终协同模型的分析效率远高于本文所提出的方法.
综合上述分析可知:相比文献[7,11,15-16]中的方法,在考虑隐身保护原则的情况下,本文所提出的方法能够更加有效地提高业务过程协同建模与分析的效率,减少验证的时间.
5 总 结
针对于从私有过程中抽取公共过程以构建业务过程协同,本文综合考虑了业务过程与外界交互环境之间的异步通信对协同的影响,首先将业务过程模型(私有过程)内部视图抽象为4种基本块:顺序块、选择块、并发块及迭代块.通过对这4种基本块进行分析,提出了各自的抽取规则集以获得公共过程,基于异步消息通信证明了这些规则集能够确保协同中接口一致性.相对于已有的工作,在考虑隐私保护原则的情况下,本文的工作能够更加有效地实现对业务过程模型的建模和分析.
未来工作主要针对于以下3个方面的问题进行研究:1)鉴于本文方法只能保证了词法(基本块类型)上的完备性,如何确保句法(流程片段)和语义(协作流程行为)上的完备性是下一步深入研究的内容之一;2)限于篇幅,文中仅用一个简化的供应链模型来说明本文方法的可行性,下一步工作可采用更多实际例子和实验来阐述本文提出的方法的有效性和普遍性;3)本文的工作建立的假设前提是业务过程模型内部视图为合理定义的自由选择网.因而,本文所提出的抽取规则集能够对所有的业务过程模型保持完备.然而,现实中所需建模的业务过程可能并不满足这种假设前提.因此,本文中所提出的方法虽然保持了抽取的完备性,相对已有的工作能够更加有效地建模和分析,但这是以牺牲其建模能力为代价的.因此,下一步的工作考虑放松这种限制,使本文的方法具有普遍适用性.
[1]Lu Yahui, Ming Zhong, Zhang Li. Collaboration patterns of business process[J]. Computer Integrated Manufacturer Systems, 2011, 17(8): 1570-1579 (in Chinese)(卢亚辉, 明仲, 张力. 业务过程协同模式的研究[J]. 计算机集成制造系统, 2011, 17(8): 1570-1579)
[2]Sill A. Cloud, data, and business process standards for manufacturing[J]. IEEE Cloud Computing, 2016, 3(4): 74-80
[3]Yousfi A, Freitas A D, Dey A, et al. The use of ubiquitous computing for business process improvement[J]. IEEE Trans on Services Computing, 2016, 9(4): 621-632
[4]Li Ying, Luo Zhiling, Yin Jianwei, et al. Enterprise pattern: Integrating the business process into a unified enterprise model of modern service company[J]. Enterprise Information Systems, 2017, 11(1): 1-21
[5]Yu Wangyang, Yan Chungang, Ding Zhijun, et al. Modeling and verification of online shopping business processes by considering malicious behavior patterns[J]. IEEE Trans on Automation Science and Engineering, 2016, 13(2): 647-662
[6]Zeng Qingtian, Lu Faming, Liu Cong, et al. Modeling and verification for cross-department collaborative business processes using extended Petri nets[J]. IEEE Trans on Systems, Man, and Cybernetics: Systems, 2015, 45(2): 349-362
[7]Aalst W. Modeling and analyzing interorganizational workflows[C]Proc of the 1st Int Conf on Application of Concurrency to System Design. Los Alamitos, CA: IEEE Computer Society, 1998: 262-272
[8]Salaün G, Bultan T, Roohi N. Realizability of choreographies using process algebra encodings[J]. IEEE Trans on Services Computing, 2012, 5(3): 290-304
[9]Zhang Jing, Wang Haiyang, Cui Lizhen. Research on cross-organization workflow modeling based on Pi-calculus[J]. Journal of Computer Research and Development, 2007, 44(7): 1243-1251 (in Chinese)(张静, 王海洋, 崔立真. 基于Pi 演算的跨组织工作流建模研究[J]. 计算机研究与发展, 2007, 44(7): 1243-1251)
[10]Aalst W, Lohmann N, Massuthe P, et al. From public views to private view correctness by design for services[C]Proc of the 4th Int Workshop on Web Service and Formal Methods. Berlin: Springer, 2007: 139-153
[11]Wang Jing, Hu Hao, Yu Ping, et al. Public view and object Petri net based modeling of cross-organizational process[J]. Journal of Frontiers of Computer Science and Technology, 2014, 8(1): 18-27 (in Chinese)(王晶, 胡昊, 余萍, 等. 结合公共视图和对象Petri网的跨组织流程建模[J].计算机科学与探索, 2014, 8(1): 18-27)
[12]Aalst W. The application of Petri nets to workflow management[J]. Journal of Circuits System & Computers, 1998, 8(1): 21-66
[13]Lü Yan, Ni Yihua, Zhou Hanyu, et al. Multi-level ontology integration model for business collaboration[J]. The International Journal of Advanced Manufacturing Technology, 2016, 84(1): 445-451
[14]Li Xitong, Fan Yushun, Sheng Quanzheng, et al. A Petri net approach to analyzing behavioral compatibility and similarity of Web services[J]. IEEE Trans on Systems, Man, and Cybernetics—Part A: Systems and Humans, 2011, 41(3): 510-521
[15]Zeng Qingtian, Lu Faming, Liu Cong, et al. Modeling and analysis for cross-organizational emergency response systems using Petri nets[J]. Chinese Journal of Computers, 2013, 36(11): 2290-2302 (in Chinese)(曾庆田, 鲁法明, 刘聪, 等. 基于Petri网的跨组织应急联动处置系统建模与分析[J]. 计算机学报, 2013, 36(11): 2290-2302)
[16]Chebbi I, Dustdar S, Tata S. The view-based approach to dynamic inter-organizational workflow cooperation[J]. Data & Knowledge Engineering, 2006, 56(2): 139-173
[17]Eshuis R, Norta A, Kopp O, et al. Service outsourcing with process views[J]. IEEE Trans on Services Computing, 2015, 8(1): 136-154
[18]Yuan Chongyi. The Principle and Application of Petri Nets[M]. Beijing: Electronic Industry Press, 2005 (in Chinese)(袁崇义. Petri网原理与应用[M]. 北京: 电子工业出版社, 2005)
[19]Desel J. A proof of the rank theorem for extended free choice nets[C]Proc of the 13th Int Conf on Application and Theory of Petri Nets. Berlin: Springer, 1992: 134-153
[20]Ge Jidong, Hu Haiyang, Zhou Yu, et al. A decomposition approach with invariant analysis for workflow coordination[J]. Chinese Journal of Computers, 2012, 35(10): 2169-2181 (in Chinese)(葛季栋, 胡海洋, 周宇, 等. 一种基于不变量的工作流协同模型分解方法[J]. 计算机学报, 2012, 35(10): 2169-2181)
[21]Yuan Min, Huang Zhiqiu, Hu Jun. Modeling and verification of cross-organizational multi-business transactions[J]. Journal of Software, 2012, 23(3): 517-538 (in Chinese)(袁敏, 黄志球, 胡军. 跨组织多业务事务建模与验证方法[J]. 软件学报, 2012, 23(3): 517-538)
Mo Qi, born in 1986. PhD, lecturer. His main research interests include business process management and software engineering.
Dai Fei, born in 1982. PhD, associate professor. His main research interests include business process management and software engineering.
Zhu Rui, born in 1987. PhD, lecturer. His main research interests include software process and process mining.
Da Jian, born in 1979. Master. His main research interests include software engineering.
Lin Leilei, born in 1989. PhD candidate. His main research interests include software process and software engineering.
Li Tong, born in 1963. PhD, professor, PhD supervisor. His main research interests include software process and software engineering.
Xie Zhongwen, born in 1982. PhD, lecturer. His main research interests include software process and software engineering.
Zheng Ming, born in 1992. PhD candidate. His main research interests include software engineering.
An Approach to Extract Public Process From Private Process for Building Business Collaboration
Mo Qi1,3, Dai Fei2,3, Zhu Rui1,3, Da Jian1,4, Lin Leilei1, Li Tong1,3, Xie Zhongwen1,3, and Zheng Ming1
1(SchoolofSoftware,YunnanUniversity,Kunming650091)2(SchoolofBigDataandIntelligentEngineering,SouthwestForestryUniversity,Kunming650091)3(KeyLaboratoryofSoftwareEngineeringofYunnanProvince(YunnanUniversity),Kunming650091)4(DepartmentofInformationEngineering,Huai’anOpenUniversity,Huai’an,Jiangsu223001)
Organizations are permitted to communicate, interact and cooperate among them by business process collaboration to achieve specific business objectives. In order to ensure the correctness and consistency of the implementation, we need to model and analyze the business process collaboration. On the problem about building the business process collaboration of exacting the public process (the collaborative process of organizations) from the private process(the complete process of organizations), first of all, the business process model is defined to represent the private process of organizations, and the model is made up by internal views and public views, and also the internal view is free choose net; secondly, the business process modeling needs to be abstracted into four basic blocks, i.e., sequence block, selection block, concurrency block and iteration block. Their respective extraction rules are put forward to obtain the public process of organizations based on the four basic blocks. And theoretically we prove that these rules can ensure interface consistency, and thus ensuring that each extraction is context-free. Our approach is validated through the modeling for supply chain in collaborative manufacture and comparing with the current typical work, and the analysis results show that: relative to the existing work, under the condition of considering the privacy protection principles, we can model and analyze the business process collaboration more effectively.
business process collaboration; asynchronous message communication; business process model; basic block; extraction rules; interface consistency
2016-10-24;
2017-02-06
国家自然科学基金项目(61462095,61702442,61662085,61379032);云南省自然科学基金项目(2016FB102);云南省软件工程重点实验室开放基金面上项目(2017SE201);云南省中青年学术和技术带头人(C6143002) This work was supported by the National Natural Science Foundation of China (61462095, 61702442, 61662085, 61379032), the Yunnan Provincial Natural Science Foundation of China (2016FB102), the Open Foundation of Key Laboratory in Software Engineering of Yunnan Province (2017SE201), and the Young Academic and Technical Leaders of Yunnan Province (C6143002).
代飞(59671019@qq.com)
TP311.5