本書從組合服務建模、測試和驗證三個方面著手,系統全面地介紹了與面向Web服務的軟件開發和軟件質量保證相關的技術理論和方法。全書共16章,其中第1、2章重點介紹了與Web服務相關的基礎知識,包括基本概念、基本術語以及基本原理;第3、4章重點介紹了Web服務的建模技術,包括UML建模和有色Petri網建模;第5~10章重點介紹了各種類型的Web服務測試技術和方法,包括單元測試、集成測試、回歸測試、變異測試和測試用例生成等;第11~16章重點介紹組合Web服務的靜態驗證和動態監控等技術。
本書適用于軟件工程學科專業的教師、研究生和高年級本科生,以及從事面向服務軟件開發和質量管理的工程技術人員。
李必信等編著的《組合服務建模測試與驗證》從組合服務建模、測試和驗證三個方面著手,系統全面地介紹了與面向web服務的軟件開發和軟件質量保證相關的技術理論和方法。本書適用于軟件工程學科專業的教師、研究生和高年級本科生,以及從事面向服務軟件開發和質量管理的工程技術人員。
《信息科學技術學術著作叢書》序
前言
第1章 Web服務概述
1.1 Web服務簡介
1.1.1 Web服務定義
1.1.2 Web服務技術體系
1.2 XML簡介
1.2.1 XML的由來與發展
1.2.2 XML簡明語法規則
1.2.3 DTD和XML Schema
1.3 BPEL簡介
1.3.1 BPEL語法
1.3.2 BPEL執行引擎
1.4 WS-CDL簡介
1.4.1 WS-CDL語法規則 《信息科學技術學術著作叢書》序
前言
第1章 Web服務概述
1.1 Web服務簡介
1.1.1 Web服務定義
1.1.2 Web服務技術體系
1.2 XML簡介
1.2.1 XML的由來與發展
1.2.2 XML簡明語法規則
1.2.3 DTD和XML Schema
1.3 BPEL簡介
1.3.1 BPEL語法
1.3.2 BPEL執行引擎
1.4 WS-CDL簡介
1.4.1 WS-CDL語法規則
1.4.2 WS-CDL模型
1.5 OWL-S簡介
1.5.1 OWL-S整體結構
1.5.2 ServiceProfile
1.5.3 ServiceModel
1.5.4 ServiceGrounding
1.6 本章小結
1.7 參考文獻
第2章 SOA簡介
2.1 SOA基本思想
2.1.1 SOA基本模型
2.1.2 SOA參考模型分類
2.2 SOA相關技術
2.2.1 SOAP
2.2.2 WSDL
2.2.3 UDDI
2.3 SOA應用綜述
2.3.1 應用SOA的原因
2.3.2 經典案例
2.4 SOA發展展望
2.4.1 SOA與云計算
2.4.2 SOA與虛擬化
2.5 本章小結
2.6 參考文獻
第3章 基于UML模型的Web服務組合建模
3.1 UML模型理論
3.2 基于UML模型的BPEL建模
3.2.1 實例研究
3.2.2 基于擴展順序圖的BPEL建模
3.2.3 擴展狀態圖
3.2.4 擴展狀態圖生成方法
3.2.5 基于擴展狀態圖的BPEL建模
3.3 基于UML模型的WS-CDL建模
3.3.1 實例研究
3.3.2 基于擴展構件圖的WS-CDL建模
3.3.3 基于擴展順序圖的WS-CDL建模
3.3.4 基于擴展狀態機圖的WS-CDL建模
3.3.5 基于類圖的WS-CDL建模
3.4 相關工作
3.5 本章小結
3.6 參考文獻
第4章 基于Petri網的Web服務建模
4.1 Petri網簡介
4.2 單個Web服務的Petri網模型
4.3 Web組合服務的Petri網建模
4.4 Web服務組合流程的Petri網建模
4.5 ECPN
4.5.1 ECPN的形式化定義
4.5.2 ECPN的動態行為
4.6 EH-CPN
4.6.1 EH-CPN的形式化定義
4.6.2 EH-CPN的特點
4.7 Web組合服務到EH-CPN的轉換
4.7.1 原子過程的轉換
4.7.2 組合過程的轉換
4.8 實例分析
4.9 本章小結
4.10 參考文獻
第5章 Web服務測試概述
5.1 引言
5.2 Web服務軟件體系結構
5.3 測試的視角
5.4 測試的策略
5.5 國內外研究現狀
5.6 Web服務測試的難點
5.7 Web服務測試與傳統軟件測試
5.8 關注點及待解決的問題
5.9 Web服務測試研究的主要內容
5.10 本章小結
5.11 參考文獻
第6章 基于交互行為規約的Web服務測試
6.1 引言
6.2 實例
6.3 序列圖轉化為ELTS
6.3.1 序列圖的形式化定義
6.3.2 ELTS的形式化定義
6.3.3 序列圖轉化為ELTS
6.4 基于ELTS一致性測試
6.4.1 ELTS的相關理論
6.4.2 實現關系
6.4.3 與測試相關的形式化定義
6.4.4 測試生成算法
6.4.5 實例分析
6.5 實例驗證
6.6 本章小結
6.7 參考文獻
第7章 基于EH-CPN的Web組合服務測試
7.1 引言
7.2 擴展的層次有色Petri網的數據流分析
7.3 測試用例生成
7.3.1 測試序列生成
7.3.2 測試數據生成
7.3.3 測試用例合成
7.4 TWCS設計與實現
7.4.1 TWCS的功能結構
7.4.2 TWCS的可視化
7.5 場景描述和建模
7.6 實驗結果和結果分析
7.7 本章小結
7.8 參考文獻
第8章 Web組合服務與變異測試
8.1 OWL-S
8.2 Web服務工作流模式
8.3 變異測試
8.4 應用于Web服務領域的變異測試
8.5 基于變異的Web組合服務測試
8.5.1 基本思想
8.5.2 算子設計
8.6 代價分析與改進
8.6.1 代價分析
8.6.2 變異距離
8.6.3 樣本學習
8.6.4 測試用例選擇策略
8.7 實驗
8.7.1 計算變異距離
8.7.2 實驗結果比較
8.8 本章小結
8.9 參考文獻
第9章 Web服務回歸測試
9.1 引言
9.2 現狀分析
9.3 服務的演化與回歸測試
9.3.1 BPEL組合服務
9.3.2 服務的演化
9.3.3 回歸測試的概念、過程和技術
9.4 面向服務的回歸測試
9.4.1 測試的視角
9.4.2 測試的目的
9.4.3 測試的層次
9.4.4 變更檢測
9.4.5 用例選擇技術
9.5 擴展BPEL流圖
9.5.1 擴展BPEL流圖
9.5.2 XBFG路徑
9.6 基于XBFG的回歸測試用例選擇與生成
9.6.1 原理與步驟
9.6.2 回歸測試的用例選擇與生成
9.6.3 變更覆蓋率分析
9.7 本章小結
9.8 參考文獻
第10章 RTGenius4BPEL工具與應用
10.1 RTGenius4BPEL工具簡介
10.2 工具設計
10.2.1 框架設計
10.2.2 操作流程
10.3 工具實現
10.3.1 開發環境
10.3.2 組合服務建模器的實現
10.3.3 回歸測試影響分析器的實現
10.3.4 測試用例集生成器的實現
10.3.5 工具的可視化
10.4 案例分析
10.4.1 場景描述
10.4.2 建模
10.4.3 回歸測試用例選擇與生成
10.5 本章小結
10.6 參考文獻
第11章 基于UML模型的Web服務組合靜態驗證
11.1 模型檢驗
11.2 Cadence SMV模型檢驗工具
11.2.1 SMV語言
11.2.2 SMV屬性規約
11.2.3 驗證方法
11.3 帶數據的狀態機圖轉化為SMV語言
11.3.1 模型轉化過程
11.3.2 SMV代碼生成步驟
11.3.3 驗證過程
11.4 WS-BPEL驗證結果
11.4.1 屬性描述
11.4.2 驗證
11.5 WS-CDL驗證結果
11.5.1 屬性表示
11.5.2 WS-CDL驗證結果
11.6 相關工作
11.6.1 基于自動機的方式
11.6.2 基于進程代數的方式
11.6.3 基于Petri網的方式
11.6.4 典型的Web服務組合靜態驗證方法比較
11.7 本章小結
11.8 參考文獻
第12章 并發屬性驗證
12.1 引言
12.2 擴展的控制流圖
12.2.1 擴展的控制流圖:XCFG
12.2.2 XCFG的組成元素
12.2.3 XCFG的形式化描述
12.3 BPEL對象模型:BOM
12.4 BOM至XCFG的轉化
12.4.1 基本活動映射為XCFG元素
12.4.2 結構化活動映射為XCFG元素
12.5 實例分析
12.6 并發相關的屬性描述及驗證
12.6.1 XCFG的無死鎖性
12.6.2 XCFG的無沖突性
12.6.3 XCFG的link無冗余性
12.7 實驗分析
12.7.1 算法正確性分析
12.7.2 算法執行效率的分析
12.8 本章小結
12.9 參考文獻
第13章 Web服務運行時監控概述
13.1 前言
13.2 Web服務運行時監控技術和相關參數
13.2.1 監控的目的
13.2.2 Web服務組合方式
13.2.3 屬性
13.3 常見Web服務監控方法
13.3.1 SLA Monitoring和Automated SLA Monitoring
13.3.2 Smart Monitoring,Dynamic Monitoring和Robustness Monitoring
13.3.3 Requirement Monitoring,Interaction Monitoring和Monitoring for Diagnosis
13.3.4 Monitoring for Planning和Monitoring of Instances and Classes
13.3.5 Probing and Monitoring
13.3.6 Monitoring for Selection和PLASTIC
13.3.7 商業工具:Cremona,Colombo和GlassFish
13.4 分析討論
13.5 本章小結
13.6 參考文獻
第14章 Web服務組合時序屬性監控
14.1 PSC
14.1.1 PSC簡介
14.1.2 PSC形式語法
14.1.3 PSC形式語義
14.2 一種基于PSC的時序屬性監控方法
14.2.1 基于AOP擴展BPEL引擎
14.2.2 屬性表示
14.2.3 觀察器和分析器
14.2.4 實驗分析
14.3 相關工作
14.4 本章小結
14.5 參考文獻
第15章 Web服務組合時間屬性監控
15.1 TPSC
15.1.1 PSC時間擴展
15.1.2 TPSC形式語法
15.1.3 基于時間自動機的操作語義
15.1.4 TPSC的表達力
15.2 基于TPSC的Web服務組合過程中時間屬性監控
15.2.1 基于AOP擴展BPEL引擎
15.2.2 屬性表示
15.2.3 觀察器和分析器
15.2.4 實驗分析
15.3 相關工作
15.4 本章小結
15.5 參考文獻
第16章 Web服務組合概率時間屬性監控
16.1 PTPSC
16.1.1 TPSC概率擴展
16.1.2 PTPSC形式語法
16.1.3 PTPSC形式語義
16.1.4 PTPSC表達力
16.2 基于PTPSC的Web服務組合概率時間屬性的監控
16.2.1 基于AOP擴展BPEL引擎
16.2.2 屬性表示
16.2.3 觀察器和分析器
16.2.4 實驗分析
16.3 相關工作
16.4 本章小結
16.5 參考文獻
附錄 縮略詞表
結束語