一种FTCSP的服务组合时间建模与分析方法
2018-06-15,,
,,
(新疆电子研究所股份有限公司,乌鲁木齐 830013)
引 言
进程代数作为一种形式化建模语言,具有以自然的方式对并发和组合系统进行建模的优势,已得到广泛关注研究[1-4]。而如何扩展进程代数使其支持服务组合不确定性时间信息的表达和推理,对于增强进程代数功能、丰富服务组合形式化建模理论具有重要意义[5]。本文基于可能性理论[6]提出了一种扩展模糊时间的通信顺序进程(Fuzzy Time Communication Sequential Processes,FTCSP),并以FTCSP为基础,提出了一种支持服务组合不确定时间建模与分析的方法,给出了有利于服务组合模糊时间的分析算法。最后以地下空间环境信息实时发布系统为例(Undergroundspace Environment Information Real-time publishing System, UEIRS),给出了服务组合不确定时间建模与分析的具体过程,验证了该方法的有效性。
1 服务组合及其进程代数的建模方法
面向服务的体系结构(Service Oriented Architecture,SOA)将系统所有的功能都定义为独立的服务,由于单个的服务功能单一,不能提供完整的解决方案,为了实现更加复杂的业务逻辑,可以组合较小的、易于执行的轻量级服务来创建随需而变的服务。服务组合问题的本质就是解决内部各个服务之间的协作。为了实现服务组合的正确性、服务的连接性、服务质量的可满足性等应用需求,需要在系统设计开发阶段对服务组合建模,提高软件系统的安全性与可靠性。
形式化方法基于形式化理论和模型对服务组合进行描述和推理,是保证服务组合系统正确性及提高安全性和可靠性的重要手段。因此,利用形式化方法(如进程代数、Petri网、自动机理论等)来描述和验证服务组合,成为服务组合建模方法的研究热点。进程代数适合描述并发和组合系统,而服务组合的一个显著特点就是服务之间的并发和组合,因此,本文专注于进程代数在服务组合建模中的应用。通过分析总结基于进程代数的服务组合形式化相关研究,见参考文献[3],得到如图1所示的建模流程。建模主要分为开发设计和反向运行测试两个阶段。图1中编号①和②的含义解释如下:
图1 基于进程代数的服务组合形式化建模流程
①开发设计阶段:首先对服务组合抽象流程及其规约基于进程代数进行形式化建模,利用进程代数知识推理及验证工具对服务组合抽象流程进行功能验证,如死锁和活性检查;然后在进程代数各个算子与服务组合执行语言之间建立映射关系,基于可信模型自动生成程序代码框架,协助服务组合系统的具体开发实现。
②反向运行测试阶段:建立正在运行的服务组合业务流程到进程代数的映射,借助进程代数推理性质和工具验证其功能和非功能属性,达到分析、测试服务组合的目的。
本文在此原则的基础上展开,首先定义了FTCSP的语义及语法,然后提出了服务组合时间建模与分析方法,最后对该方法进行了评估验证,得出结论。
2 FTCSP的语义及语法定义
本节针对现有的进程代数在系统不确定时间问题建模上力不从心,对TCSP进行了扩展,并依据Zadeh在1978年提出的可能性理论[6]作为处理不确定信息的一种方法,采用梯形模糊时间区间表示不确定性时间[7-8],最终定义了支持不确定时间建模的FTCSP 的进程代数定义如下:
P::=STOP|SKIP|WAIT fdt|(a,fet)
(1)
式(1)的进程表达式解释如下:
WAIT fdt表示进程的等待, fdt代表一个模糊延迟时间(FTS),t1,t2,t3,t4∈R+,定义如下:
STOP、PA、SKIP、:μX•F(X)、P[R]、c!v→P、c?v→P与经典CSP一致,在此不再赘述。
在标记迁移系统表示的CSP和时间迁移系统定义的TCSP的基础上,定义了FTCSP的时间迁移系统[9-10]。
该语义模型表明FTCSP可以被描述为一个时间迁移序列,表示进程所有可能的行为迁移、执行操作过程。鉴于形式化语义的操作语义方法通过语言的执行与实施进而直观、简捷地显示语言成分的含义[9-11],我们在Schneider.S[10]定义TCSP操作语义的基础上,定义了FTCSP算子的结构化操作语义,通过结构化操作语义可以计算出进程的执行时间,进而可以分析服务组合时间模型,对时间规约等性质进行验证,得出FTCSP扩充了TCSP不确定时间的建模能力[12]。
3 基于FTCSP的服务组合时间建模与分析方法
基于上一节提出的FTCSP,提出了一种支持服务组合时间建模与分析的方法,具体流程如图2所示,方法主要分为建模与分析两大步。
图2 服务组合时间建模和分析的方法流程
3.1 基于FTCSP的服务组合时间建模方法
基于FTCSP的服务组合时间建模方法,首先根据表1将抽象服务组合流程转换成UML活动图,为了体现服务组合的不确定时间信息,在每个活动节点加Sfet(单个服务执行一个完整任务的模糊时间,可表示为[et1,et2,et3,et4]),在数据流中添加Smtt(每个交互消息从发送到接收的服务消息模糊传输时间,可表示为[tt1,tt2,tt3,tt4] ),以上两者的取值由设计开发者通过主观经验获得。然后根据表2将UML活动图转换成FTCSP模型,不仅可以借助CSP的自动验证工具FDR2[13]对服务组合进行功能分析和验证,而且可以分析服务组合的时间特性。
表1 UML活动图的转换规则
通过将服务组合中的单个服务映射到FTCSP时间模型,使用并发组合算子来表示整个抽象服务组合流程,服务组合的FTCSP进程表达式如下所示:S1,S2,...,Sn表示UML活动图中的每个活动
i∈R+,T,Ti∈FTS,Ai∈S∑
(2)
表2 FTCSP模型的转换规则
3.2 基于FTCSP服务组合时间模型的分析方法
假设进程P独自的模糊执行时间为Pt=[p1,p2,p3,p4],进程Q独自的模糊执行时间为Qt=[q1,q2,q3,q4]。以此为例给出了FTCSP三种组合算子的模糊时间运算规则,顺序组合算子(;)定义为进程P和Q的模糊时间的和(⊕)运算;选择组合算子:W外部选择定义为执行的第一个事件,∩内部选择具有不确定性,由内部事件决定(最大或最小执行时间);并发组合算子(‖)定义为P和Q并发的最长进程时间;运算法则的证明详细请参见参考文献[6]。
以标准化的FTCSP模型作为输入条件,通过FTCSP三种组合算子的模糊时间运算规则得到每个服务的模糊执行时间,最后再根据规则多服务组合便可得到整个服务组合流程的模糊执行时间。下面给出了基于FTCSP标准化模型的时间分析算法流程。
算法运行指令基于FTCSP服务组合时间模型的时间分析算法。
Output: FT, fuzzy execution time of abstract services composition process。/执行时间/
3.WHILE i 4.AnalyzingOperator(S[i], rule 2, rule 3, rule 4, St[i]);//St[i] represent output of the function 5.i=i+1;} 6.WHILE (j+1) 7.Concurrent max (St[j],St[j+1]);// rule 4 8.St[j+1]=Concurrent max(St[j],St[j+1]);//rule 4 9.j=j+1;} 10.Return FT= St[j]。 UEIRS主要功能是将传感器采集到的地下空间内部的环境信息实时发送到各区域嵌入式控制器并显示给用户。该服务系统主要由6个子服务组成,为了保证UEIRS软件服务的正常运行以及系统时间的严格受限性,不仅需要验证UEIRS服务组合功能的正确性,而且还要满足服务组合时间上的规约。本节以UEIRS为例来评估本文提出的服务组合不确定时间建模方法。UEIRS扩展模糊时间的UML活动图如图3所示。 图3 UEIRS扩展模糊时间的UML活动图 假设环境信息发布系统开始时间区间为[0,0,0,0]。最终得出抽象服务组合流程成功执行一次的模糊时间如下: Tstasanfang=T3=[1.4,2.1,2.7,3.65] 依据本文提出的基于FTCSP计算得到的服务组合执行时间Tstasanfang代表UEIRS从启动到客户端成功连接并第一次显示来自上位机组态数据库中的UEIRS信息所使用的模糊时间,从得到的模糊时间数据来看,服务组合成功执行最有可能发生在[2.1,2.7]时间区间,最长执行时间为3.65个单位时间,最短执行时间为1.4个单位时间。同时利用模糊时间还可以计算UEIRS信息发布服务组合在某一时间点成功执行的可能性(概率),如用户要求在1.8个单位时间内完成上述任务的可能性约等于0.57,若要求在2.3时间内完成上述任务,则可能性为1,即在模糊时间确定发生的区间内。通过对UEIRS服务组合系统不确定时间的实例建模与分析,可知本文提出的服务组合时间建模方法解决不确定性时间建模问题是可行且有效的。 [1] 祝义,黄志球,周航,等.基于进程代数规约生成软件体系结构模型的方法[J].计算机研究与发展,2011(2):241-250. [2] 杨进,张小彬,严博,等.基于进程代数的系统性能评价方法综述[J].软件导刊,2015(2):25-27. [3] 肖芳雄,李燕,黄志球,等.基于时间概率代价进程代数的Web服务组合建模与分析[J].计算机学报,2012,35(5):918-936. [4] MA Z M,ZHENG F,YAN L,et al.Repre- senting and reasoning on fuzzy UML models: a description logic approach[J].Expert Systems With Applications,2011,38 (3):2536-2549. [5] 罗军舟,金嘉晖,宋爱波,等.云计算:体系架构与关键技术[J].通信学报,2011(7):3-21. [6] Negoita C V,Zadeh L A,Zimmermann H J.Fuzzy sets as a basis for a theory of possibility[J].Fuzzy Sets and Systems,1978(1):3-28. [7] 齐美石.基于模糊Petri网的两阶段服务组合研究[D].合肥:中国科学技术大学,2011:15-17. [8] 倪夏静,李仁旺,王赟,等.基于Petri网的不确定时间工作流成本分析[J].浙江理工大学学报,2013(2):232-236. [9] 张淼.基于TCSP的区域控制器分层建模与验证[D].北京:北京交通大学,2015:35-47. [10] Schneider S A.An Operational Semantics for Timed CSP[J].Information and Computation,1995,116(2):193-213. [11] 周巢尘.形式语义学引论操作语义学[J].计算机研究与发展,1985(7):1-11. [12] Davies J,Schneider S.A brief history of Timed CSP[J].Theoretical Computer Science,1995,138(2):243-271. [13] 祝义,肖芳雄,周航,等.一种嵌入式实时系统软件能耗建模与分析的方法[J].计算机研究与发展,2014(4):848-855. [14] Security Analysis of an Electronic Commerce Protocol Using Casper/FDR2[J].Wuhan University Journal of Natural Sciences,2012(6):499-503. [15] 李永湘,姚锡凡,徐川,等.基于扩展进程代数的云制造服务组合建模与QoS评价[J].计算机集成制造系统,2014(3):689-700. [16] 沈华.Web服务组合形式化性能分析方法简述[J].教育教学论坛,2016(42):71-72.4 方法评估
结 语