出版時間:2007-11 出版社:北京大學(xué) 作者:李長云,何頻捷,李玉龍 頁數(shù):290
Tag標(biāo)簽:無
內(nèi)容概要
為了適應(yīng)Internet開放環(huán)境和用戶需求的不斷變化,軟件系統(tǒng)需要不斷調(diào)整自身。軟件動態(tài)演化技術(shù)是滿足這一變化的有效手段,也是自治計算、網(wǎng)格計算、自適應(yīng)軟件和網(wǎng)構(gòu)軟件的核心技術(shù)。本書是國內(nèi)外第一本對軟件動態(tài)演化技術(shù)進行系統(tǒng)闡述的著作。作者結(jié)合多年研究和實踐的經(jīng)驗,從開放系統(tǒng)發(fā)展動力到動態(tài)演化技術(shù)產(chǎn)生,從動態(tài)演化技術(shù)基本原理到動態(tài)演化的形態(tài)和粒度,從動態(tài)配置技術(shù)到基于反射的動態(tài)演化、動態(tài)演化的基礎(chǔ)設(shè)施,從設(shè)計可動態(tài)演化的軟件系統(tǒng)到動態(tài)演化技術(shù)的應(yīng)用以及未來發(fā)展趨勢,都進行了系統(tǒng)的論述。本書最后部分介紹了作者提出的軟件動態(tài)演化模型SASM及其支持工具和平臺,望起到拋磚引玉的作用。 本書內(nèi)容全面、敘述清楚,注意一些最新的協(xié)議、規(guī)范及學(xué)術(shù)界、工業(yè)界研究進展,同時還非常注重實用性。本書既適用于本科高年級和研究生的教學(xué),也可供工程技術(shù)人員自學(xué)參考之用。
書籍目錄
第1章 概述 1.1 軟件演化的基本概念 1.1.1 軟件演化、軟件維護與軟件復(fù)用 1.1.2 軟件演化的分類 1.2 設(shè)計時演化 1.2.1 設(shè)計模式對設(shè)計時演化的支持 1.2.2 構(gòu)件技術(shù)對設(shè)計時演化的支持 1.2.3 框架技術(shù)對設(shè)計時演化的支持 1.3 裝載時演化 1.4 動態(tài)演化概念 1.4.1 動態(tài)演化、動態(tài)配置和軟件的演化性 1.4.1 動態(tài)演化分類 1.5 軟件動態(tài)演化技術(shù)的重要性 1.5.1 Internet需要軟件動態(tài)演化 1.5.2 動態(tài)演化性是網(wǎng)構(gòu)軟件的基本特征 1.5.3 追求動態(tài)演化能力是自治計算的目的 1.5.4 動態(tài)演化技術(shù)是網(wǎng)格計算的基礎(chǔ)第2章 動態(tài)演化基礎(chǔ) 2.1 基本原理 2.1.1 動態(tài)演化過程 2.1.2 語言、模型和平臺 2.1.3 動態(tài)演化要解決的關(guān)鍵問題 2.2 系統(tǒng)一致性 2.2.1 系統(tǒng)一致性分類 2.2.2 行為一致性 2.2.3 構(gòu)件狀態(tài)一致性 2.2.4 應(yīng)用狀態(tài)一致性 2.2.5 引用一致性 2.3 狀態(tài)遷移方法 2.3.1 狀態(tài)檢測 2.3.2 狀態(tài)遷移方法分類 2.3.3 一種構(gòu)件間狀態(tài)遷移的元模型驅(qū)動方法第3章 設(shè)計可動態(tài)演化的軟件系統(tǒng) 3.1 構(gòu)造性和演化性 3.2 動態(tài)需求 3.2.1 具有動態(tài)性的需求和需求的動態(tài)性 3.2.2 需求的動態(tài)變化性 3.2.3 具有動態(tài)性的需求 3.3 應(yīng)用設(shè)計模式 3.3.1 設(shè)計模式的概念和分類 3.3.2 支持動態(tài)演化的設(shè)計模式 3.3.3 設(shè)計模式的應(yīng)用 3.4 應(yīng)用框架 3.4.1 框架的概念和分類 3.4.2 支持動態(tài)演化的框架 3.4.3 框架的應(yīng)用 3.5 應(yīng)用軟件體系結(jié)構(gòu)風(fēng)格 3.5.1 體系結(jié)構(gòu)風(fēng)格概念和分類 3.5.2 支持動態(tài)演化的體系結(jié)構(gòu)風(fēng)格 3.5.3 體系結(jié)構(gòu)風(fēng)格的應(yīng)用 3.6 AOP技術(shù) 3.6.1 AOP技術(shù)簡介 3.6.2 動態(tài)AOP 3.6.3 AOP技術(shù)在Java平臺中的應(yīng)用第4章 動態(tài)演化的粒度 4.1 函數(shù)層次的動態(tài)演化 4.1.1 DLL簡介 4.1.2 調(diào)用方式 4.1.3 重新編譯問題及解決方案 4.1.4 小結(jié) 4.2 類/對象層次的動態(tài)演化 4.2.1 JAVA的動態(tài)性 4.2.2 隱式加載和顯式加載 4.2.3 自定義類加載機制 4.2.4 類加載器的階層體系 4.2.5 類的動態(tài)替換 4.2.6 小結(jié) 4.3 構(gòu)件層次的動態(tài)演化 4.3.1 構(gòu)件和基于構(gòu)件的軟件工程 4.3.2 當(dāng)前主要的構(gòu)件標(biāo)準(zhǔn)規(guī)范 4.3.3 構(gòu)件的動態(tài)配置 4.3.4 總結(jié) 4.4 動態(tài)軟件體系結(jié)構(gòu) 4.4.1 體系結(jié)構(gòu)概念 4.4.2 演化與體系結(jié)構(gòu) 4.4.3 動態(tài)軟件體系結(jié)構(gòu)的描述 4.4.4 動態(tài)軟件體系結(jié)構(gòu)的實現(xiàn) 4.5 動態(tài)工作流 4.5.1 工作流技術(shù)簡介 4.5.2 動態(tài)工作流概述 4.5.3 動態(tài)工作流的特征及分類 4.5.4 動態(tài)修改的策略或處理 4.5.5 應(yīng)用示例第5章 動態(tài)配置技術(shù) 5.1 動態(tài)配置系統(tǒng)體系結(jié)構(gòu) 5.2 動態(tài)配置方法的分類 5.3 避免性動態(tài)配置方法 5.3.1 Jeff方法 5.3.2 Warren方法 5.3.3 其他方法 5.3.4 避免性動態(tài)配置方法中存在的不足 5.4 動態(tài)配置算法 5.4.1 構(gòu)件刪除算法 5.4.2 構(gòu)件添加算法 5.4.3 構(gòu)件替換算法 5.4.4 構(gòu)件遷移算法 5.4.5 連接建立算法 5.4.6 連接刪除算法 5.4.7 連接重定向算法 5.4.8 構(gòu)件屬性設(shè)置算法第6章 基于反射的動態(tài)演化 6.1 反射 6.1.1 背景、概念和特征 6.1.2 反射的分類 6.2 反射系統(tǒng) 6.2.1 反射系統(tǒng)的概念 6.2.2 面向?qū)ο蟮姆瓷湎到y(tǒng) 6.2.3 反射模型 6.3 反射和演化 6.4 反射中間件 6.4.1 背景和概念 6.4.2 幾個典型的反射中間件 6.4.3 中間件中的反射層 6.4.4 反射層的編程模型 6.4.5 利用反射層實現(xiàn)服務(wù)定制 6.5 基于反射理論的動態(tài)配置模型第7章 動態(tài)演化的基礎(chǔ)設(shè)施 7.1 COM構(gòu)件的演化機制 7.1.1 概述 7.1.2 平臺設(shè)計 7.1.3 ProBase平臺引擎的設(shè)計 7.1.4 業(yè)務(wù)構(gòu)件交互問題 7.1.5 ProBase優(yōu)點總結(jié) 7.2 CORBA構(gòu)件的演化機制 7.2.1 概述 7.2.2 反射式動態(tài)配置模型RDRM 7.2.3 動態(tài)配置系統(tǒng)反射體系 7.2.4 RDRM模型中的要素活躍性分析 7.2.5 RDRM模型在CCM平臺上的映射 7.2.6 StarDRP的實現(xiàn) 7.2.7 StarDRP體系結(jié)構(gòu) 7.2.8 小結(jié) 7.3 J2EE平臺的演化機制 7.3.1 構(gòu)件管理框架 7.3.2 J2EE動態(tài)演化支撐平臺 7.3.3 小結(jié) 7.4 Web Services和SOA 7.4.1 Web Services技術(shù) 7.4.2 SOA基礎(chǔ) 7.4.3 SOA與Web Services的聯(lián)系 7.4.4 Web Services的動態(tài)組合 7.5 多Agent系統(tǒng) 7.5.1 多Agent系統(tǒng)簡介 7.5.2 多Agent系統(tǒng)的體系結(jié)構(gòu) 7.5.3 多Agent系統(tǒng)的動態(tài)性分析 7.5.4 Web Agent第8章 與動態(tài)演化技術(shù)相關(guān)的應(yīng)用 8.1 自治計算 8.1.1 自治計算的概念 8.1.2 自治計算的特征 8.1.3 動態(tài)演化在自治計算中的應(yīng)用 8.2 網(wǎng)格計算 8.2.1 網(wǎng)格計算的概念 8.2.2 網(wǎng)格計算的體系結(jié)構(gòu) 8.2.3 網(wǎng)格軟件構(gòu)件 8.2.4 網(wǎng)格服務(wù)集成 8.3 普適計算 8.3.1 普適計算的概念 8.3.2 普適計算層次化模型 8.3.3 普適計算的關(guān)鍵技術(shù) 8.3.3 動態(tài)演化在普適計算中的應(yīng)用 8.4 自適應(yīng)中間件 8.4.1 自適應(yīng)中間件的概念 8.4.2 自適應(yīng)中間件的分類 8.4.3 自適應(yīng)中間件的支撐方法第9章 支持動態(tài)演化的模型SASM 9.1 引言 9.2 D-ADL語言 9.2.1 D-ADL設(shè)計原則 9.2.2 高階多型丌演算簡介 9.2.3 D-ADL的語法規(guī)約和形式語義 9.2.4 D-ADL對系統(tǒng)聯(lián)機演化和SA求精的形式化支持 9.2.5 D-ADL和其他相關(guān)工作的比較 9.3 SASM模型 9.3.1 相關(guān)研究 9.3.2 基本原理 9.3.3 SASM框架 9.3.4 SASM中的反射機制 9.3.5 SASM系統(tǒng)開發(fā) 9.4 SASM動態(tài)演化方法 9.4.1 簡單的系統(tǒng)演化 9.4.2 由RSAS變更引起的動態(tài)演化 9.5 小結(jié)第10章 SASM支撐平臺和工具 10.1 引言 10.2 支撐平臺的總體架構(gòu)設(shè)計 10.3 運行和監(jiān)控的關(guān)鍵技術(shù) 10.3.1 運行信息跟蹤器的機理分析 10.3.2 元連接件引擎的設(shè)計 10.4 動態(tài)演化管理 10.4.1 動態(tài)演化過程中的平臺支持 10.4.2 運行狀態(tài)維持機制 10.5 支撐平臺的一個原型實現(xiàn) 10.5.1 原型系統(tǒng)的開發(fā)環(huán)境 10.5.2 體系結(jié)構(gòu)元素的表示 10.5.3 原型系統(tǒng)的設(shè)計與實現(xiàn) 10.5.4 對原型環(huán)境中物理構(gòu)件間的通信測試參考文獻
章節(jié)摘錄
第1章 概述 1.1 軟件演化的基本概念 “變化”是現(xiàn)實世界永恒的主題,只有“變化”才能發(fā)展。Lehman認(rèn)為,現(xiàn)實世界的系統(tǒng)要么變得越來越?jīng)]有價值,要么進行持續(xù)不斷的演化變化以適應(yīng)環(huán)境的變化。軟件是對現(xiàn)實世界中問題空間與解空間的具體描述,是客觀事物的一種反映。現(xiàn)實世界是不斷演化的,因此,演化性是軟件的基本屬性。特別是在Intemet成為主流軟件運行環(huán)境之后,網(wǎng)絡(luò)的開放性和動態(tài)性使得客戶需求與硬件資源更加頻繁地變化,導(dǎo)致軟件的演化性和復(fù)雜性進一步增強?! ?.1.1 軟件演化、軟件維護與軟件復(fù)用 軟件演化(Software Evolution)指在軟件系統(tǒng)的生命周期內(nèi)軟件維護和軟件更新的行為和過程。在現(xiàn)代軟件系統(tǒng)的生命周期內(nèi),演化是一項貫穿始終的活動,系統(tǒng)需求改變、功能實現(xiàn)增強、新功能加入、軟件體系結(jié)構(gòu)改變、軟件缺陷修復(fù)、運行環(huán)境改變無不均要求軟件系統(tǒng)具有較強的演化能力,能夠快速適應(yīng)改變,減少軟件維護的代價?! ≤浖莼芯恐铝τ趯ふ乙?guī)則、識別模式。這種規(guī)則和模式,主要用于管理那些由應(yīng)用程序的編程人員或者是維護人員所作的變更。這意味著軟件演化研究與導(dǎo)致系統(tǒng)不一致的變化有關(guān)。軟件演化是一個模糊而范圍廣泛的概念,普遍的理解認(rèn)為演化就是修改軟件,而且意味著需要一個新的開發(fā)周期,包括新的測試和生成階段,這樣對于資源消耗來說是很危險的。尤其當(dāng)調(diào)試者不是軟件的開發(fā)人員的時候,就顯得更加復(fù)雜了。我們認(rèn)為軟件演化應(yīng)致力于盡可能限制那些可能被影響的變化本身的性質(zhì)?! 能浖莼母拍顏砜?,軟件演化和軟件維護有著密切聯(lián)系,但二者又有本質(zhì)區(qū)別。軟件維護是對現(xiàn)有的已交付的軟件系統(tǒng)進行修改,使得目標(biāo)系統(tǒng)能夠完成新的功能,或是在新的環(huán)境下完成同樣的功能,主要是指在軟件維護期的修改活動。而軟件演化則是著眼于軟件的整個生命周期,從系統(tǒng)功能行為的角度來觀察系統(tǒng)的變化,這種變化是軟件的一種向前的發(fā)展過程,主要體現(xiàn)在軟件功能的不斷完善。在軟件維護期,通過具體的維護活動可以使系統(tǒng)不斷向前演化。因此,軟件維護和軟件演化可以歸結(jié)為這樣一種關(guān)系:前者是后者特定階段的活動,并且前者直接是后者的組成部分。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載