发明名称 一种基于角色关联的角色组划分方法
摘要 一种基于角色关联的角色组划分方法,应用Pi演算的相关理论和流程模型复杂度理论对Choreography中的角色和角色之间的关系进行重新处理以达到WSBPEL执行性能优化。通过设计相关的关联函数和训练科学的阀值对Choreography中的参与者(Participant)中的角色(Role)重新进行划分形成新的分组(Group)。因此角色关联划分的方式是粒度可调控的,通过具体实际的情况做出最优的划分粒度,最大的提高流程的执行效率。
申请公布号 CN102004951A 申请公布日期 2011.04.06
申请号 CN201010525720.1 申请日期 2010.10.29
申请人 西安交通大学 发明人 齐勇;徐东红;林培文;庄英杰;张蓓蓓
分类号 G06Q10/00(2006.01)I 主分类号 G06Q10/00(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 陆万寿
主权项 1.一种基于角色关联的角色组划分方法,其特征在于:1)对系统加载进来的CDL文件进行解析,根据参与者(participant)的不同行为提取出角色,为后续生成角色分组关系功能提供前提基础;2)角色关联函数<maths num="0001"><![CDATA[<math><mrow><mi>relation</mi><mrow><mo>(</mo><msub><mi>R</mi><mi>i</mi></msub><mo>,</mo><msub><mi>R</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><msub><mi>path</mi><mi>x</mi></msub><mo>&Element;</mo><mo>{</mo><mi>path</mi><mrow><mo>(</mo><msub><mi>R</mi><mi>i</mi></msub><mo>,</mo><msub><mi>R</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>}</mo></mrow></munder><msub><mi>&omega;</mi><mi>i</mi></msub><mi>E</mi><mrow><mo>(</mo><msub><mi>R</mi><mi>i</mi></msub><mo>,</mo><msub><mi>R</mi><mi>k</mi></msub><mo>)</mo></mrow><msub><mi>&omega;</mi><mi>j</mi></msub><mi>E</mi><mrow><mo>(</mo><msub><mi>R</mi><mi>i</mi></msub><mo>,</mo><msub><mi>R</mi><mi>j</mi></msub><mo>)</mo></mrow><munder><mi>&Pi;</mi><mrow><mi>k</mi><mo>,</mo><mi>l</mi><mo>&Element;</mo><msub><mi>path</mi><mi>x</mi></msub></mrow></munder><mfrac><msub><mi>&omega;</mi><mi>k</mi></msub><mrow><msub><mi>ExtraM</mi><mi>k</mi></msub><mo>+</mo><mn>1</mn></mrow></mfrac><mi>E</mi><mrow><mo>(</mo><msub><mi>R</mi><mi>k</mi></msub><mo>,</mo><msub><mi>R</mi><mi>l</mi></msub><mo>)</mo></mrow></mrow></math>]]></maths>表示角色Ri和角色Rj间的角色关联度,根据角色关联度的大小,将这两个角色参与的活动形成一个新的分组,并命名为角色组G;其中:Ri和Rj表示展现不同行为的两个角色,E(Ri,Rj)表示Ri和Rj的交互的次数的总和,M表示任意角色的操作集合;ωi表示角色Ri的活动的利用率;Mk表示角色Rk参与的操作集;ExtraMk表示该角色Rk除了在与交互树中的角色进行交互的同时,还调用了其他参与者的角色的操作;path(Ri,Rj)表示角色Ri到角色Rj的所有角色树分支的路径;3)阈值选取,采用数据训练的方式确定最优阈值s,当最优阈值s被选中时,角色组G对应的BPEL流程复杂度为最大值,设其为M,流程复杂度的计算见步骤5);4)角色Ri与角色组G的角色关联度等于该角色Ri与角色组G每一个角色的关联度之和然后除以角色组中角色的数量;5)流程复杂度,设n1是BPEL流程里所有活动中的控制元素的总数,这些活动之间不能嵌套;设n2是流程中活动的数据参数个数,设N1为流程中活动出现的次数,设N2为流程中数据参数出现的次数,由以上的数据,计算量度:流程长度N=N1+N2;流程词汇量n=n1+n2;流程容量V=N*log2n;流程复杂度D=n1/2+N2/n2;给出BPEL控制流复杂度的度量方法,Control-flow Complexity,简称CFC,BPEL流程的逻辑是由相互独立的活动组成的,流程(process)用P表示,活动(activity)用a表示,则<img file="FDA0000030133500000021.GIF" wi="627" he="95" />6)对WSCDL文件做语法解析得到Choreography中所有的参与者对象及其扮演的所有角色对象,对于每个角色对象再遍历WSCDL获得由该角色端完成的交互活动,将所得到的信息形成一个角色交互树;7)在建立的角色关联树中,角色关联树的根元素为Choreography的头元素,取角色关联树根元素Rt,计算Rt和Rm之间的角色关联度relation(Rt,Rm),Rm指的是关联树中的任一角色计算方法见步骤2),其中E(Rt,Rm)≠0;8)若relation(Rt,Rm)>s,则把Rm放在Rt所在的组内,使这两个角色成为一组,若relation(Rt,Rm)>=s,直接跳转9);9)将Rm作为树根元素Rt,重复8)的操作,直到Rm为角色关联的叶子节点;10)如果存在relation(Rt,Rm)>s,且relation(Rp,Rm)>S的情况产生,其中Rp为角色关联树中不同于Rm的另一角色,将Rt所在的角色组记为Group1和把Rp所在的角色组记为Group2,若relation(Rm,Group1)>relation(Rm,Group2),将Rm从放在Group1中,反之亦然;11)存储结构应用HashMap存储RoleItem和分组序号,RoleItem是角色信息类,它包含了角色名称,角色所属参与者类型以及活动率等属性,分组序号即是角色分组后的所在组序号。
地址 710049 陕西省西安市咸宁西路28号