[發明專利]一種基于BPEL組合服務的數據流分析方法在審
| 申請號: | 201710650778.0 | 申請日: | 2017-08-02 |
| 公開(公告)號: | CN107463498A | 公開(公告)日: | 2017-12-12 |
| 發明(設計)人: | 吉順慧;馬魏;張鵬程 | 申請(專利權)人: | 河海大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙)32204 | 代理人: | 王安琪 |
| 地址: | 210098 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 bpel 組合 服務 數據流 分析 方法 | ||
技術領域
本發明涉及服務計算領域,尤其是一種基于BPEL組合服務的數據流分析方法。
背景技術
縱觀軟件技術的發展,軟件開發從最初的過程式編程范型、面向對象的范型、基于構件的范型,發展至現在的面向服務的范型。面向服務的技術利用服務作為網絡化構件,使得軟件在分布式應用環境下具有更好的可復用性。隨著信息技術的飛速發展,現有的基本服務遠遠不能滿足用戶日益多樣化的需求。服務組合技術可以根據需要自由地定義應用邏輯將若干服務組合起來實現特定的功能,實現了服務的增值和復用。目前已提出很多服務組合語言,包括XLANG,WSFL,BPEL,WS-CDL,OWL-S等。BPEL服務組合描述語言是事實上的基于Web服務開發可執行業務過程的業界標準,它從組合服務的視角描述其與參與流程的成員服務的交互以及交互的順序邏輯。
BPEL語言復雜的特性容易導致其描述的組合服務發生錯誤,測試是一種有效的質量保證技術,因此研究BPEL組合服務的測試用例生成技術十分有必要。目前的研究一般基于控制流覆蓋準則進行測試,而深究程序設計的基本目標是針對特定的輸入能得到正確的輸出,輸入與輸出之間的關聯是通過程序中一系列變量的定義使用關聯來實現的,可以認為程序中的控制流是為正確實現數據流服務的,所以測試BPEL組合服務中數據流的正確性顯得尤為重要。數據流測試的關鍵是生成測試用例以覆蓋變量的定義-使用對,傳統的數據流分析方法基于控制流圖CFG來計算順序結構程序的定義-使用對,而該方法無法處理BPEL規約中的并發和同步依賴特性,如何分析BPEL組合服務的數據流以獲得各變量的定義-使用對是我們關注的問題。
發明內容
本發明所要解決的技術問題在于,提供一種基于BPEL組合服務的數據流分析方法,能夠有效地計算BPEL組合服務中變量的定義-使用對。
為解決上述技術問題,本發明提供一種基于BPEL組合服務的數據流分析方法,包括如下步驟:
(1)構建BPEL組合服務的擴展控制流圖XCFG;
(2)計算XCFG結點的可到達定義;
(3)計算變量的定義-使用對。
優選的,步驟(1)中,構建BPEL組合服務的擴展控制流圖XCFG具體包括如下步驟:
(a)將BPEL解析為BPEL對象模型BOM;
(b)根據BOM構造XCFG的伙伴鏈接集PL和變量集V,并為各元素的信息域賦值;
(c)遍歷BOM模型中的活動對象,為BPEL活動創建XCFG結點,并根據BPEL結構化活動內子活動的執行順序,創建相應的XCFG邊EC,同時針對flow中并發活動之間的同步依賴link,創建相應的XCFG邊EL。在創建各XCFG元素的同時,為元素的信息域賦值。
優選的,步驟(2)中,計算各XCFG結點的可到達定義,可以先分析相鄰結點之間可到達定義的關聯,定義可到達定義的方程式,然后對方程式進行求解,具體步驟為:
(a)定義可到達定義的計算方程式:令In(n)和Out(n)分別表示在XCFG結點n的入口和出口可到達的變量定義,則其計算公式定義如下:
Out(n)=Gen(n)∪(In(n)-Kill(n))
其中,Gen(n)和Kill(n)分別表示程序結點n的產生定義集和殺死定義集;pred(n)表示結點n的直接前序結點集合;對K,若n是并發結束結點或link目標結點,K為對應并發結構內在n之前一定執行的活動結點集合,否則,K為
(b)求解可到達定義的計算方程式:采用經典的最大不動點MFP方法,對每個結點的方程式進行不斷迭代直至最終收斂,得到最大不動點解;具體來說,首先初始化XCFG圖中每個結點的In()和Out()為然后對以上兩個公式進行不斷迭代計算,在每次迭代過程中用一個布爾變量來判定是否存在某個結點的Out()發生改變,只有當所有結點的Out()都沒有改變時,迭代才能終止,最終的解就是每個XCFG結點的可到達定義。
優選的,步驟(3)中,計算變量的定義-使用對的方法為:令def(n)和use(n)分別表示結點n對應的活動所定義和使用的變量集,對變量定義(x,n),遍歷XCFG中的每一個結點,找出滿足x∈use(n')(x,n)∈In(n')的結點n',從而得到定義-使用對(x,n,n')。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于河海大學,未經河海大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710650778.0/2.html,轉載請聲明來源鉆瓜專利網。





