




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計劃類別 項目編號 項目技術報告課題名稱 項目主持人 承擔單位 題目:一種面向業務流程模型的仿真驗證方法基于SOA軟件構架成為分布式解決方案的主流技術,業務流程模型是SOA系統設計的核心,其是否存在缺陷對系統具有重要影響,因此,如何對業務流程進行驗證成為一個關鍵問題。本文圍繞業務流程模型驗證需求,針對異構模型的聯合仿真問題,提出基于HLA的業務流程模型仿真驗證框架,通過對業務流程和網絡部署進行仿真,有效對業務流程的功能和時間特性進行驗證。相關實驗表明,本文提出的方法能夠有效發現業務流程中存在的設計缺陷。關鍵詞:業務流程;仿真;驗證Abstract:SOA software architectu
2、re has become the mainstream technology of distributed solutions.As the business process model is the core of SOA system design,it is significantly important whether there are some flaws in it.Therefore,the effective verification method of the business process model is quite critical.To meet the ver
3、ification requirements of the business process model,this paper offers a solution to the collaborative simulation of the heterogeneous model,and puts forward the simulation verification framework of the business process model based on HLA.Through the simulation of the business process and the networ
4、k deployment,the verification of the function and time characteristics is effectively implemented.The experimental results show that the proposed method can effectively find the design flaws in the business process.Keywords:business process;simulation;verification1 引言(Introduction)隨著軟件開發技術的不斷發展,信息系統
5、的功能日新月異。但由于不同軟件的開發平臺、開發工具、操作系統在體系結構上的緊耦合性,使得物理分散的獨立系統形成了所謂的“信息孤島”。為了有效解決這一問題,需要一種標準化、開放性的體系結構完成從集中式到分布式的轉換,在這一背景下,面向服務的體系結構SOA(Service Oriented Architecture)應運而生。典型的基于SOA的軟件開發過程往往首先建立業務流程模型,并以該模型作為系統設計,然后根據該模型,通過服務集成方法來自動或半自動的產生系統實現。因此,業務流程模型的正確性對最終系統質量具有重要影響。根據Ron Patton在軟件測試中的論述可知,設計階段存在的缺陷如果沒有及時發
6、現,在系統實現階段修復該缺陷往往是設計階段修復缺陷費用的100倍左右1,如果在用戶大規模使用時發現該缺陷,修復該缺陷的費用往往是設計階段修復缺陷費用的萬倍以上。由此可見,對業務流程模型開展驗證,對提高系統質量和降低軟件開發費用大有益處。2 相關研究(Related research)目前,最常用的方法是模型檢查(Model Checking),即通過搜索系統的狀態空間來對模型進行靜態的形式化分析。隨著模型規范化程度和可執行能力的提升,將測試手段應用于模型驗證的方法必將被逐漸重視起來,例如可執行UML模型的測試。(1)靜態的模型檢查方法模型檢查主要是對有限狀態的系統模型進行靜態的形式化分析,通過
7、搜索系統的狀態空間來檢查該系統是否滿足期望的性質。如果系統模型不能滿足某一規格說明會給出反例。現有模型檢查方法主要有基于語義網絡的方法、基于PI-演算的方法、基于Petri網的方法和基于模型檢測的方法。這些驗證方法通過將系統轉化為形式化的模型(如Petri網和自動機模型),借助模型檢測器等自動化工具,驗證協議和服務描述的完整性和一致性。經典模型檢查理論已基本成熟,實現這些理論的經典模型檢查器有SMV和SPINE等。狀態空間爆炸是模型檢查中需要解決的一個關鍵問題,因此關于這方面存在大量研究。除了傳統模型檢查中的狀態化簡技術外,更多的方法結合了程序分析中的相關技術,例如:基于各種程序抽象技術計算源
8、程序的抽象程序;利用程序切片減小程序規模;通過限定程序中不確定性的類型及其可能性的數量來獲得程序狀態空間的一個有限子集。模型檢查存在一定的局限性:在對大規模復雜系統進行模型檢查時,狀態空間爆炸問題幾乎不可避免,因而難以對系統狀態空間進行窮盡搜索;能夠驗證的指標受到模型描述能力的限制,對于系統需求中的一些非功能指標驗證能力不足,也難以對系統的綜合指標進行驗證;模型檢查的形式化模型和分析算法多種多樣,沒有統一的標準,如何決定最適合系統的方法存在一定難度。相較而言,軟件測試方法則是一種“普適”方法,可以解決模型檢查的上述問題。通過給出測試充分性準則,避免了對系統的狀態進行窮盡的測試;測試方法可以很好
9、的控制被測系統模型的運行狀態,尤其適合業務流程模型的這類強調動態時變性的系統;測試的適用范圍較寬,可以針對系統的多種功能和非功能指標進行測試。 (2)動態的模型測試方法模型測試是指在系統開發早期利用軟件測試手段對設計模型進行驗證的方法。目前國內外對于這方面的研究相對較少,典型的研究如UML設計模型測試方面。UML(Unified Modeling Language)模型是軟件領域中設計模型的常用表達方式。傳統的UML設計模型的驗證通常通過預排、檢測和一些設計審查技術,大部分屬于手工操作。對于龐大和復雜系統的UML設計模型的檢查,檢測人員需要手動的跟蹤和關聯多個視圖中的概念,這是一項枯燥且容易出
10、錯的工作。近來,隨著UML模型可執行性的提高,有些研究將軟件測試方法應用到系統設計的早期驗證中,如Trung Dinh-Trong和Nilesh Kawane等人提出了一種針對UML模型設計驗證的軟件測試方法。該方法基于UML類圖、活動圖、交互圖生成被測模型的可測試執行體,并依據用戶給出的測試充分性準則生成測試用例,最后通過模型的模擬執行進行測試。通過分析測試結果與系統需求的一致性來驗證被測模型設計的正確性。由于UML中多數的視圖并不具有可執行性,或者轉換為可執行體的方法非常復雜,且多個視圖是從不同的角度反映系統設計,因而很難形成一個完整的模型設計,因此,UML模型測試技術尚待發展,還有很多需
11、要進一步研究的問題。3 模型驗證流程及建模(The modeling process andmodel verification)3.1 業務流程模型仿真驗證過程本文提出的業務流程模型仿真驗證過程如圖1所示。根據該圖可知,業務流程模型和網絡部署模型需要在仿真引擎才能進行仿真執行,從而進行模型驗證。實際上業務流程往往描述系統的整體流程,一般使用流程圖或狀態圖進行描述;而網絡部署模型往往描述系統實際的網絡部署環境,往往使用特定的網絡模型和仿真算法進行建模,由于這兩類模型的差異較大,很難使用統一的仿真引擎進行仿真,因此需要為此選擇適合各自模型特點的仿真引擎。由于業務流程模型和網絡部署模型需要使用不同
12、的仿真引擎進行仿真執行,但在仿真過程中二者需要進行交互,這就需要對異構仿真模型進行協同仿真,針對這一問題,提出了基于HLA的異構模型聯合仿真方法。在仿真過程中,通過仿真引擎將仿真過程中的信息進行打印輸出,從而獲取仿真信息,最后通過分析上述信息就能夠實現對業務流程模型的仿真分析。3.2 業務流程模型仿真根據業務流程模型特點,選擇Stateflow插件作為為業務流程模型仿真建模工具。與常見的Matlab模型和Simulink模型相比,Stateflow插件具備可視化的建模界面,更易于建模人員進行建模,另外,Stateflow插件提供豐富的可擴展機制,以完成復雜的邏輯運算。圖2給出了使用Statef
13、low插件對某數據發布服務的建模實例。其中業務流程中的活動主要使用Stateflow中的狀態進行描述;消息則使用Stateflow中的遷移進行描述;部分復雜的數學邏輯可在Matlab中自行定義,然后在Stateflow中以M文件調用的方式使用。3.3 網絡部署模型仿真OPNET是目前最為常用的網絡仿真工具,其采用階層性的模擬方式,從協議間關系看,節點模塊建模完全符合OSI標準,實現了從業務層TCP層IP層IP封裝層ARP層MAC層物理層的各層仿真;從網絡物件層次關系看,提供了三層建模機制,最底層為進程(Process)模型,以狀態機來描述協議;其次為節點(Node)模型,由相應的協議模型構成,
14、反映設備特性;最上層為網絡模型。三層模型和實際的協議、設備、網絡完全對應,全面反映了網絡的相關特性。它的功能十分強大,采用網絡、節點、進程三層建模機制,不僅支持面向對象的建模方式,還提供圖形化的操作界面,使用方便快捷,能夠為網絡系統的建模提供良好的開發環境3。圖3給出了使用OPNET建立的小型局域網模型。4 基于HLA的異構模型聯合仿真方法(Co simulation of heterogeneous model method based on HLA)由于業務流程模型和網絡部署模型采用了不同的仿真引擎,而在實際仿真過程中這兩類模型之間必然存在交互,這就需要一種能夠支持異構模型的聯合仿真方法。
15、本文采用HLA機制用以解決異構模型聯合仿真問題。HLA技術體制是IEEE公開發布的標準,該標準的主要目的是制定一套仿真框架,能夠盡量涵蓋仿真領域所涉及的各種不同的仿真模型,使得不同的仿真之間能夠進行互操作,從而滿足復雜大系統的仿真需求4。HLA使用聯邦代表不同的仿真成員,其關注于如何由多個聯邦成員構建聯邦,通過協議規范進行各個聯邦成員之間的交互活動。因此,HLA制定了十大規則,用以規范聯邦(Federation)和聯邦成員(Federate)的活動,最終組建一個用于數據交互的有序的公共虛擬執行環境。RTI(Run-Time Infrastructure)是HLA接口規范的具體實現,是基于HLA
16、的核心部件也是仿真應用程序的設計和運行的基礎。同時,提供了仿真運行管理功能,底層通信傳輸服務,具有較好的擴充性,實現了仿真系統中各組成部件的“即插即用”。HLA的邏輯結構框架如圖4所示。RTI為不同的聯邦成員提供統一的支撐運行環境,聯邦成員之間按照HLA協議規范的要求,通過各自的RTI代理與RTI進程之間的交互,可以進行聯合分布式仿真,完成聯邦成員的同步交互和聯邦的構建。根據HLA技術機制,結合本文需要解決的技術問題,提出了一套基于HLA的異構模型聯合仿真方法,該方法的主要結構如圖5所示。由該圖可知,該結構邏輯上分為模型層和運行層。模型層負責業務流程和網絡部署模型的設計、仿真參數的配置、邦元集
17、成接口約定和邦元數據交互模型,為運行層提供仿真實體模型;運行層負責封裝各類模型并集成RTI代理組成不同的聯邦成員。 RTI代理的執行流程如圖6所示。一般而言,進行時間推進之前,需要完成所有的初始化工作;此外,聯邦成員的設計模式(單/多線程)取決于仿真軟件所支持的方式,如VC支持多線程,可采用多線程模式設計;MATLAB不支持多線程,可利用S-Function自帶的循環采樣方式設計;OPNET不支持多線程,可利用設置循環自中斷事件的方式設計。5 系統實現與實驗驗證(System implementation and experimental verification)5.1 系統設計與實現本文提
18、出的仿真驗證方法實現的原型系統結構如圖8所示。由于仿真引擎在仿真過程中占用的系統資源較多,為了盡可能的提高仿真效率,我們將不同仿真引擎部署在不同機器上,這就需要在仿真過程中對整體仿真環境進行統一的控制,因此我們設計了分布式仿真控制模塊,該模塊能夠輔助仿真分析人員對整體仿真環境進行統一的控制。除此之外,設計了統一的數據存儲環境,將分布式仿真過程中的產生的仿真信息統一存儲到數據庫中,待仿真結束后,使用結果分析工具從數據庫中抽取仿真信息,進行功能、性能以及可靠性等方面的分析。系統使用C+語言在VS 2010環境中進行開發。系統使用過程中,仿真人員需要開發仿真腳本,然后使用分布式仿真控制端將仿真腳本分
19、發到仿真引擎所在機器,然后發布聯合仿真請求;仿真引擎收到仿真腳本后,根據仿真腳本中設置的相關參數啟動仿真引擎并加入聯合仿真環境,然后讀取仿真腳本開始聯合仿真;仿真過程中產生的相關信息存入遠程數據庫;當仿真結束后,通知測試人員仿真結束,測試人員使用測試結果分析工具進行結果分析,完成整個仿真驗證過程。5.2 實驗驗證為了對本文提出的業務流程模型驗證方法進行有效性驗證,本文以某數據發布服務的業務流程作為待驗模型進行典型實驗。實驗過程中對業務流程模型隨機植入缺陷,進行多次實驗統計缺陷發現比例,將缺陷發現比例作為評價方法有效性的標準。參考文獻5指出,常見設計缺陷主要包括:死鎖、狀態不可達、分支條件以及流
20、程錯誤等。根據上述缺陷的特點,從業務流程中選擇40個缺陷植入位置,每次實驗從上述植入位置中任選三個缺陷進行植入,共進行30次實驗,每次實驗計算各類典型缺陷的發現比例,最終實驗結果如圖9左方柱狀圖所示。除此之外,由于本方法還對網絡環境進行了仿真,因此能夠統計網絡仿真情況,圖9右方的表格給出了流程平均執行時間和網絡節點忙閑比等信息。由該實驗可知:在功能缺陷方面,能夠準確發現死鎖、流程錯誤和絕大部分分支條件錯誤;在非功能分析方面,可以獲取模型執行時間、節點空閑比和網絡流量等信息,能夠支持一定的設計方案分析。6 結論(Conclusion)本文提出使用仿真手段對模型進行驗證,以降低系統實現的風險。與常規模型驗證方法相比,該方法能夠有效檢驗系統實際運行才能表現出的缺陷,除此之外,該方法嘗試對影響業務能力的網絡環境等因素進行建模,并進行聯合仿真,能夠支持對系統更為全面的分析。隨著信
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 長沙衛生職業學院《財會商圈實訓》2023-2024學年第二學期期末試卷
- 泰州學院《產能成本決策虛擬仿真實驗》2023-2024學年第二學期期末試卷
- 天津廣播影視職業學院《數理統計方法》2023-2024學年第一學期期末試卷
- 河北工業大學《樂理視唱》2023-2024學年第一學期期末試卷
- 吉林醫藥學院《食品工藝學實驗》2023-2024學年第二學期期末試卷
- 工廠電照工程合同
- 手機配件購銷合同
- 土地租賃合同補充協議書
- 廠房物業財產移交合同
- 學校專家聘用合同協議書
- 中國石油化工集團有限公司誠信合規管理手冊
- TSEESA 010-2022 零碳園區創建與評價技術規范
- GB/T 2423.3-1993電工電子產品基本環境試驗規程試驗Ca:恒定濕熱試驗方法
- 伊利經銷商管理培訓手冊
- GB 15986-1995黑熱病診斷標準及處理原則
- SH2007型10萬噸a內熱式直立炭化爐研發設計
- 道路運輸達標車輛核查記錄表(貨車)
- 路燈整套報驗資料
- 30第七章-農村社會治理課件
- 精神病醫院患者探視記錄單
- 《愿望的實現》原文
評論
0/150
提交評論