內容提要
為了適應Internet開放環境和用戶需求的不斷變化,軟體系統需要不斷調整自身。軟體動態演化技術是滿足這一變化的有效手段,也是自治計算、格線計算、自適應軟體和網構軟體的核心技術。本書是國內外第一本對軟體動態演化技術進行系統闡
述的著作。作者結合多年研究和實踐的經驗,從開放系統發展動力到動態演化技術產生,從動態演化技術基本原理到動態演化的形態和粒度,從動態配置技術到基於反射的動態演化、動態演化的基礎設施,從設計可動態演化的軟體系統到動態演化技術的套用以及未來發展趨勢,都進行了系統的論述。本書最後部分介紹了作者提出的軟體動態演化模型SASM及其支持工具和平台,望起到拋磚引玉的作用。本書內容全面、敘述清楚,注意一些最新的協定、規範及學術界、工業界研究進展,同時還非常注重實用性。本書既適用於本科高年級和研究生的教學,也可供工程技術人員自學參考之用。
目錄
第1章概述
1.1軟體演化的基本概念
1.1.1軟體演化、軟體維護與軟體復用
1.1.2軟體演化的分類
1.2設計時演化
1.2.1設計模式對設計時演化的支持
1.2.2構件技術對設計時演化的支持
1.2.3框架技術對設計時演化的支持
1.3裝載時演化
1.4動態演化概念
1.4.1動態演化、動態配置和軟體的演化性
1.4.1動態演化分類
1.5軟體動態演化技術的重要性
1.5.1Internet需要軟體動態演化
1.5.2動態演化性是網構軟體的基本特徵
1.5.3追求動態演化能力是自治計算的目的
1.5.4動態演化技術是格線計算的基礎
第2章動態演化基礎
2.1基本原理
2.1.1動態演化過程
2.1.2語言、模型和平台
2.1.3動態演化要解決的關鍵問題
2.2系統一致性
2.2.1系統一致性分類
2.2.2行為一致性
2.2.3構件狀態一致性
2.2.4套用狀態一致性
2.2.5引用一致性
2.3狀態遷移方法
2.3.1狀態檢測
2.3.2狀態遷移方法分類
2.3.3一種構件間狀態遷移的元模型驅動方法
第3章設計可動態演化的軟體系統
3.1構造性和演化性
3.2動態需求
3.2.1具有動態性的需求和需求的動態性
3.2.2需求的動態變化性
3.2.3具有動態性的需求
3.3套用設計模式
3.3.1設計模式的概念和分類
3.3.2支持動態演化的設計模式
3.3.3設計模式的套用
3.4套用框架
3.4.1框架的概念和分類
3.4.2支持動態演化的框架
3.4.3框架的套用
3.5套用軟體體系結構風格
3.5.1體系結構風格概念和分類
3.5.2支持動態演化的體系結構風格
3.5.3體系結構風格的套用
3.6AOP技術
3.6.1AOP技術簡介
3.6.2動態AOP
3.6.3AOP技術在Java平台中的套用
第4章動態演化的粒度
4.1函式層次的動態演化
4.1.1DLL簡介
4.1.2調用方式
4.1.3重新編譯問題及解決方案
4.1.4小結
4.2類/對象層次的動態演化
4.2.1JAVA的動態性
4.2.2隱式載入和顯式載入
4.2.3自定義類載入機制
4.2.4類載入器的階層體系
4.2.5類的動態替換
4.2.6小結
4.3構件層次的動態演化
4.3.1構件和基於構件的軟體工程
4.3.2當前主要的構件標準規範
4.3.3構件的動態配置
4.3.4總結
4.4動態軟體體系結構
4.4.1體系結構概念
4.4.2演化與體系結構
4.4.3動態軟體體系結構的描述
4.4.4動態軟體體系結構的實現
4.5動態工作流
4.5.1工作流技術簡介
4.5.2動態工作流概述
4.5.3動態工作流的特徵及分類
4.5.4動態修改的策略或處理
4.5.5套用示例
第5章動態配置技術
5.1動態配置系統體系結構
5.2動態配置方法的分類
5.3避免性動態配置方法
5.3.1Jeff方法
5.3.2Warren方法
5.3.3其他方法
5.3.4避免性動態配置方法中存在的不足
5.4動態配置算法
5.4.1構件刪除算法
5.4.2構件添加算法
5.4.3構件替換算法
5.4.4構件遷移算法
5.4.5連線建立算法
5.4.6連線刪除算法
5.4.7連線重定向算法
5.4.8構件屬性設定算法
第6章基於反射的動態演化
6.1反射
6.1.1背景、概念和特徵
6.1.2反射的分類
6.2反射系統
6.2.1反射系統的概念
6.2.2面向對象的反射系統
6.2.3反射模型
6.3反射和演化
6.4反射中間件
6.4.1背景和概念
6.4.2幾個典型的反射中間件
6.4.3中間件中的反射層
6.4.4反射層的編程模型
6.4.5利用反射層實現服務定製
6.5基於反射理論的動態配置模型
第7章動態演化的基礎設施
7.1COM構件的演化機制
7.1.1概述
7.1.2平台設計
7.1.3ProBase平台引擎的設計
7.1.4業務構件互動問題
7.1.5ProBase優點總結
7.2CORBA構件的演化機制
7.2.1概述
7.2.2反射式動態配置模型RDRM
7.2.3動態配置系統反射體系
7.2.4RDRM模型中的要素活躍性分析
7.2.5RDRM模型在CCM平台上的映射
7.2.6StarDRP的實現
7.2.7StarDRP體系結構
7.2.8小結
7.3J2EE平台的演化機制
7.3.1構件管理框架
7.3.2J2EE動態演化支撐平台
7.3.3小結
7.4WebServices和SOA
7.4.1WebServices技術
7.4.2SOA基礎
7.4.3SOA與WebServices的聯繫
7.4.4WebServices的動態組合
7.5多Agent系統
7.5.1多Agent系統簡介
7.5.2多Agent系統的體系結構
7.5.3多Agent系統的動態性分析
7.5.4WebAgent
第8章與動態演化技術相關的套用
8.1自治計算
8.1.1自治計算的概念
8.1.2自治計算的特徵
8.1.3動態演化在自治計算中的套用
8.2格線計算
8.2.1格線計算的概念
8.2.2格線計算的體系結構
8.2.3格線軟體構件
8.2.4格線服務集成
8.3普適計算
8.3.1普適計算的概念
8.3.2普適計算層次化模型
8.3.3普適計算的關鍵技術
8.3.3動態演化在普適計算中的套用
8.4自適應中間件
8.4.1自適應中間件的概念
8.4.2自適應中間件的分類
8.4.3自適應中間件的支撐方法
第9章支持動態演化的模型SASM
9.1引言
9.2D-ADL語言
9.2.1D-ADL設計原則
9.2.2高階多型丌演算簡介
9.2.3D-ADL的語法規約和形式語義
9.2.4D-ADL對系統在線上演化和SA求精的形式化支持
9.2.5D-ADL和其他相關工作的比較
9.3SASM模型
9.3.1相關研究
9.3.2基本原理
9.3.3SASM框架
9.3.4SASM中的反射機制
9.3.5SASM系統開發
9.4SASM動態演化方法
9.4.1簡單的系統演化
9.4.2由RSAS變更引起的動態演化
9.5小結
第10章SASM支撐平台和工具
10.1引言
10.2支撐平台的總體架構設計
10.3運行和監控的關鍵技術
10.3.1運行信息跟蹤器的機理分析
10.3.2元連線件引擎的設計
10.4動態演化管理
10.4.1動態演化過程中的平台支持
10.4.2運行狀態維持機制
10.5支撐平台的一個原型實現
10.5.1原型系統的開發環境
10.5.2體系結構元素的表示
10.5.3原型系統的設計與實現
10.5.4對原型環境中物理構件間的通信測試
參考文獻