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