軟件體系結(jié)構(gòu)-第2章_第1頁
軟件體系結(jié)構(gòu)-第2章_第2頁
軟件體系結(jié)構(gòu)-第2章_第3頁
軟件體系結(jié)構(gòu)-第2章_第4頁
軟件體系結(jié)構(gòu)-第2章_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1徐徐 進(jìn)進(jìn)2課程內(nèi)容課程內(nèi)容第一章第一章 軟件體系結(jié)構(gòu)基本概念軟件體系結(jié)構(gòu)基本概念第二章第二章 軟件體系結(jié)構(gòu)經(jīng)典風(fēng)格軟件體系結(jié)構(gòu)經(jīng)典風(fēng)格第三章第三章 軟件體系結(jié)構(gòu)應(yīng)用軟件體系結(jié)構(gòu)應(yīng)用第四章第四章 軟件體系結(jié)構(gòu)設(shè)計(jì)模式軟件體系結(jié)構(gòu)設(shè)計(jì)模式第五章第五章 軟件體系結(jié)構(gòu)研究與發(fā)展軟件體系結(jié)構(gòu)研究與發(fā)展3第第2 2章章 軟件體系結(jié)構(gòu)的經(jīng)典風(fēng)格軟件體系結(jié)構(gòu)的經(jīng)典風(fēng)格2.1 2.1 管道過濾器風(fēng)格管道過濾器風(fēng)格2.22.2 主程序與子過程風(fēng)格主程序與子過程風(fēng)格2.3 2.3 數(shù)據(jù)抽象與面向?qū)ο箫L(fēng)格數(shù)據(jù)抽象與面向?qū)ο箫L(fēng)格2.42.4 事件驅(qū)動(dòng)隱式調(diào)用風(fēng)格事件驅(qū)動(dòng)隱式調(diào)用風(fēng)格2.52.5 黑板知識(shí)庫風(fēng)格黑板知

2、識(shí)庫風(fēng)格2.62.6 虛擬機(jī)(解釋器)風(fēng)格虛擬機(jī)(解釋器)風(fēng)格2.7 2.7 過程控制回路風(fēng)格過程控制回路風(fēng)格2.82.8 部件鏈接器部件鏈接器C2C2風(fēng)格風(fēng)格4經(jīng)典體系結(jié)構(gòu):總結(jié)軟件系統(tǒng)組織結(jié)構(gòu)的慣用形式,認(rèn)識(shí)特定軟件結(jié)構(gòu)的原理和價(jià)值,提供軟件體系結(jié)構(gòu)設(shè)計(jì)的選擇空間。某種結(jié)構(gòu)風(fēng)格的基本成分和連接方式是什么?某種結(jié)構(gòu)風(fēng)格的基本形式是什么?某種結(jié)構(gòu)風(fēng)格潛在的計(jì)算模式是什么?某種結(jié)構(gòu)風(fēng)格中不變的因素是什么?某種結(jié)構(gòu)風(fēng)格可以使用的示例是什么?某種結(jié)構(gòu)風(fēng)格的優(yōu)缺點(diǎn)是什么?討論中考慮的問題:5管道過濾器結(jié)構(gòu)特征過濾器A過濾器B過濾器C過濾器D過濾器E增量計(jì)算的 功能模塊輸入/輸出 數(shù)據(jù)流以數(shù)據(jù)流向的過程

3、為核心(也稱:數(shù)據(jù)流風(fēng)格)過濾器自身功能獨(dú)立而完整,相互之間無狀態(tài)交互過濾器不需要知道其他過濾器的存在與否過濾器僅對(duì)輸入的數(shù)據(jù)流有限制,并保證輸出流的正確系統(tǒng)內(nèi)各部分的執(zhí)行,與整體系統(tǒng)的最終輸出不相關(guān)管道1管道2管道3管道4管道5管道6管道8管道7返回本章目錄6管道過濾器軟件成分管道過濾器的連接器被動(dòng)過濾器:通過事件或過程調(diào)用激發(fā)動(dòng)作,接受前續(xù)成分推入的內(nèi)容主動(dòng)過濾器:作為獨(dú)立的過程或線程任務(wù),主動(dòng)取前續(xù)成分的內(nèi)容。數(shù)據(jù)源:作為系統(tǒng)的輸入過濾器,提供探測數(shù)據(jù)、采集數(shù)據(jù)的功能,以 及主動(dòng)推出數(shù)據(jù),激發(fā)或者等待后繼成分啟動(dòng)。數(shù)據(jù)池:作為收集結(jié)果的過濾器,分為主動(dòng)取數(shù)據(jù)和被動(dòng)接受推入數(shù)據(jù) 兩種方式。

4、管道是兩個(gè)過濾器的連接器,是先進(jìn)先出的數(shù)據(jù)緩沖區(qū)。如果兩個(gè)主動(dòng)式過濾器相連,管道需要有同步控制能力。如果過濾器的行為受到相鄰過濾器的控制,管道就是被動(dòng)過濾器的過程調(diào)用實(shí)現(xiàn)。7管道過濾器形式的示例(1)數(shù)字通信系統(tǒng)結(jié)構(gòu)簡略描述:信息源加密器編碼器調(diào)制器 發(fā)送設(shè)備解調(diào)器解碼器解密器 接收設(shè)備受信者噪聲源信息源: 把各種可能的數(shù)據(jù)轉(zhuǎn)換成原始電信號(hào)。發(fā)送設(shè)備: 對(duì)原始電信號(hào)完成信號(hào)加密、差錯(cuò)控制編碼和調(diào)制解調(diào)。信道: 信號(hào)傳輸?shù)耐ǖ酪蚕喈?dāng)于過濾器,因?yàn)樗鼘?duì)傳輸信息進(jìn)行適 當(dāng)?shù)奶幚?。接收設(shè)備: 與發(fā)送設(shè)備反向。同步控制部件:圖中沒有標(biāo)出。因?yàn)樗谄渲械奈恢貌⒉还潭ǎ?fù)責(zé)收發(fā) 雙方的一致性控制。信道8

5、編輯存儲(chǔ)編輯存儲(chǔ)光譜采樣集光譜采樣集 圖形處理圖形處理(光譜篩選)(光譜篩選) 存儲(chǔ)調(diào)整存儲(chǔ)調(diào)整建模樣本集建模樣本集 建模建模 處理處理 模型模型 管理管理建摸公式建摸公式 管理管理給定性質(zhì)給定性質(zhì)模型模型建模樣本集建模樣本集光譜采樣集光譜采樣集建摸公式建摸公式建模公式建模公式模型模型管理要求管理要求圖符說明:圖符說明:控制流:控制流:數(shù)據(jù)流:數(shù)據(jù)流:I/O:處理:處理:化學(xué)光譜分析系統(tǒng)化學(xué)光譜分析系統(tǒng)管道過濾器形式的示例(2)9管道過濾器形式的優(yōu)勢 對(duì)整個(gè)系統(tǒng)的理解簡單化。可理解系統(tǒng)的各功能為抽象“黑盒子”。 支持可維護(hù)性,容易替換。只要輸入/輸出管道達(dá)成一致的任何兩個(gè)過濾器(可能一個(gè)是另一

6、個(gè)的擴(kuò)充性或修改),則可以任意替換。 支持復(fù)用。一個(gè)過濾器可以被多次掛接,只要它們對(duì)數(shù)據(jù)的需求場合是一致的。 支持并發(fā)設(shè)計(jì)。可以將存在并發(fā)可能的過濾器,在調(diào)度算法的基礎(chǔ)上,組織為多任務(wù)并發(fā)系統(tǒng)。 系統(tǒng)的結(jié)構(gòu)清晰,容易進(jìn)行某些性能的分析,例如:數(shù)據(jù)流量、死鎖問題,計(jì)算正確性等等。10管道過濾器形式的不足 由于過濾器的獨(dú)立特性,每個(gè)過濾器完成從輸入到輸出的轉(zhuǎn)換需要成批量而完整,這樣,為了交互必須表示的過濾內(nèi)容與輸出的流方式差異很大,導(dǎo)致實(shí)現(xiàn)交互困難。 由于支持并發(fā)設(shè)計(jì),兩個(gè)相互獨(dú)立的過濾器,如果存在同步問題,則需要花較大的精力去協(xié)調(diào)。 每個(gè)過濾器的輸出只強(qiáng)制公共的命名,要保持?jǐn)?shù)據(jù)的一致必須對(duì)傳輸?shù)?/p>

7、數(shù)據(jù)解析,這樣造成系統(tǒng)效率資源的損耗,以及程序復(fù)雜性增加。 直接調(diào)用被動(dòng)過濾器,使過濾器的重新組織產(chǎn)生困難。 需要處理數(shù)據(jù)在管道中的阻塞狀態(tài)。11主程序子過程1子過程2子過程n主程序與子過程的結(jié)構(gòu)特征:主程序?qū)⒒诠δ芊纸獾淖舆^程,通過調(diào)用的形式連接起來;子過程可作為主程序,繼續(xù)以同樣的方式連接子過程。子過程k1子過程k2調(diào)用返回子過程f返回本章目錄12主程序與子調(diào)用結(jié)構(gòu)的成分主程序與子調(diào)用結(jié)構(gòu)的連接器主程序:基本的程序主體成分子過程:各種層次上的函數(shù),可調(diào)用成分模塊包:由主程序子過程組成的大粒度結(jié)構(gòu)成分函數(shù)庫:通用子過程集合過程調(diào)用機(jī)制13主程序與子調(diào)用結(jié)構(gòu)的優(yōu)勢 由于直接對(duì)應(yīng)過程性程序語言

8、機(jī)制,因此,具有代碼率高的優(yōu)勢主程序與子調(diào)用結(jié)構(gòu)的缺陷 基于功能的過程嵌套式分解使系統(tǒng)的維護(hù)困難。 因?yàn)榛诠δ艿姆纸?,只能覆蓋特定的問題,不具普遍性。所以,子過程實(shí)現(xiàn)的功能成分很難復(fù)用。14對(duì)象實(shí)體對(duì)象實(shí)體對(duì)象實(shí)體對(duì)象實(shí)體對(duì)象實(shí)體對(duì)象實(shí)體對(duì)象實(shí)體對(duì)象實(shí)體消息消息消息消息消息消息消息消息消息消息消息 對(duì)象實(shí)體是具有自身屬性和行為能力的主動(dòng)的獨(dú)立個(gè)體。 任何事務(wù)處理都是對(duì)象采用“消息”相互作用的結(jié)果。 發(fā)送消息給對(duì)象是“請(qǐng)求”,接受的對(duì)象是“響應(yīng)”請(qǐng)求,完成自身的行為或動(dòng)作,也可以向其他對(duì)象發(fā)出請(qǐng)求。面向?qū)ο蠼Y(jié)構(gòu)的特征返回本章目錄15化學(xué)光譜分析系統(tǒng)化學(xué)光譜分析系統(tǒng)給定給定性質(zhì)性質(zhì)光譜光譜文件文

9、件光譜光譜采樣采樣集集建摸建摸公式公式建模建模樣本集樣本集模型模型 設(shè)定消息設(shè)定消息采樣消息采樣消息請(qǐng)求消息請(qǐng)求消息請(qǐng)求消請(qǐng)求消息息采集消采集消息息存儲(chǔ)消息存儲(chǔ)消息返回消息返回消息輸出消息輸出消息調(diào)整消息調(diào)整消息建模消息建模消息管理消息管理消息面向?qū)ο笮问降氖纠?6面向?qū)ο蠼Y(jié)構(gòu)的成分面向?qū)ο蠼Y(jié)構(gòu)的連接器類:對(duì)象實(shí)體的抽象,可復(fù)用的類型模板。繼承類:抽象類型的復(fù)用,提供類的可擴(kuò)充、可變化方式對(duì)象:某類的實(shí)體,具有屬性和各種行為能力的獨(dú)立執(zhí)行體消息: 與對(duì)象的聯(lián)系僅通過消息。發(fā)送請(qǐng)求給對(duì)象,向?qū)ο蟀l(fā)出執(zhí)行它動(dòng)作的信息。接受請(qǐng)求的對(duì)象,根據(jù)自身的屬性狀態(tài),完成動(dòng)作,也可以向其它對(duì)象發(fā)出請(qǐng)求,并且可以

10、同時(shí)發(fā)出多個(gè)請(qǐng)求,除非它繼續(xù)的工作與發(fā)出的請(qǐng)求有同步關(guān)系。多態(tài)機(jī)制: 相關(guān)的對(duì)象行為,可以通過相同的消息形式。這正是行為的多種形態(tài)概念。所謂相關(guān),是指同范疇對(duì)象(有繼承關(guān)系類的實(shí)體對(duì)象是同范疇的)。同樣的消息,連接不同的執(zhí)行成分,這就是多態(tài)機(jī)制。17面向?qū)ο蠼Y(jié)構(gòu)的優(yōu)勢 接近人們的認(rèn)知習(xí)慣,即:事物主體和事物行為是不可分的整體,處理事務(wù)的關(guān)注點(diǎn)只是事物可操作的外部行為。 實(shí)現(xiàn)真正意義的信息封裝,把對(duì)象的屬性和行為封裝在一起,對(duì)外可見的只有操作。 穩(wěn)定的結(jié)構(gòu),系統(tǒng)建造的基礎(chǔ)依賴于獨(dú)立的對(duì)象實(shí)體,而不是處理過程。這使改變或增加系統(tǒng)的處理過程與系統(tǒng)的整體架構(gòu)關(guān)聯(lián)減弱,因?yàn)?,大部分的修改是?duì)象個(gè)體上的行

11、為擴(kuò)充,或是增加新的對(duì)象成分。 本身的并發(fā)特性,支持普遍應(yīng)用的分布式系統(tǒng)。 實(shí)體對(duì)象比起過程在語義上容易理解一致,因此更容易復(fù)用;類和繼承使軟件成份又達(dá)到更高層的復(fù)用。18面向?qū)ο蠼Y(jié)構(gòu)的缺陷對(duì)象的標(biāo)識(shí)是發(fā)送消息必須知道的,如果標(biāo)識(shí)被改變,消息就不知去向。在系統(tǒng)中對(duì)象本來是獨(dú)立的,但他們必須相互知道、懂得和理解,否則將無法協(xié)同完成工作。這一點(diǎn)又使得他們似乎很密切相關(guān),互為依賴。對(duì)象接受多個(gè)來自不同請(qǐng)求者的同一個(gè)消息,所得到的結(jié)果有時(shí)不可預(yù)測,因?yàn)槠渥陨淼臓顟B(tài)屬性可能被改變,這種情況系統(tǒng)必須考慮,并付出代價(jià)。19外部實(shí)體外部實(shí)體1外部實(shí)體外部實(shí)體n事件過濾事件過濾1事件過濾事件過濾n中斷服務(wù)中斷服

12、務(wù)n中斷服務(wù)中斷服務(wù)1系統(tǒng)系統(tǒng)消息消息調(diào)度調(diào)度應(yīng)用應(yīng)用A 消息消息 調(diào)度調(diào)度應(yīng)用線程應(yīng)用線程1應(yīng)用線程應(yīng)用線程n應(yīng)用應(yīng)用B 消息消息 調(diào)度調(diào)度系統(tǒng)傳送系統(tǒng)傳送系統(tǒng)傳送系統(tǒng)傳送消息發(fā)送消息發(fā)送消息發(fā)送消息發(fā)送事件事件事件事件1)1)外部事件以中斷方式被接受;外部事件以中斷方式被接受;2)2)接受后的事件,通過統(tǒng)一的形式接受處理;接受后的事件,通過統(tǒng)一的形式接受處理;3)3)在系統(tǒng)的統(tǒng)一調(diào)度下在系統(tǒng)的統(tǒng)一調(diào)度下, ,事件被轉(zhuǎn)換為消息發(fā)送到對(duì)應(yīng)的應(yīng)用隊(duì)列中;事件被轉(zhuǎn)換為消息發(fā)送到對(duì)應(yīng)的應(yīng)用隊(duì)列中;4)4)每個(gè)應(yīng)用隊(duì)列通過消息循環(huán)機(jī)制,連接應(yīng)用線程操作每個(gè)應(yīng)用隊(duì)列通過消息循環(huán)機(jī)制,連接應(yīng)用線程操作應(yīng)用

13、線程應(yīng)用線程1應(yīng)用線程應(yīng)用線程n基本過程基本過程消息消息等待等待 B消息消息等待等待 A返回本章目錄20指外部事件,包括硬件設(shè)備和軟件的應(yīng)用發(fā)出的請(qǐng)求,指外部事件,包括硬件設(shè)備和軟件的應(yīng)用發(fā)出的請(qǐng)求,通過中斷方式形成為消息通過中斷方式形成為消息事件驅(qū)動(dòng)事件驅(qū)動(dòng)隱式調(diào)用隱式調(diào)用指消息不是直接地被各響應(yīng)的處理操作接收,而是通過指消息不是直接地被各響應(yīng)的處理操作接收,而是通過了隱藏在中間的一個(gè)層次(透明訪問概念的體現(xiàn))。了隱藏在中間的一個(gè)層次(透明訪問概念的體現(xiàn))。事件驅(qū)動(dòng)和隱式調(diào)用結(jié)構(gòu)概念事件驅(qū)動(dòng)和隱式調(diào)用結(jié)構(gòu)概念21隱式調(diào)用的方式隱式調(diào)用的方式兩種發(fā)送方式兩種發(fā)送方式點(diǎn)發(fā)式:經(jīng)過中間轉(zhuǎn)發(fā),一點(diǎn)到

14、一點(diǎn)響應(yīng)點(diǎn)發(fā)式:經(jīng)過中間轉(zhuǎn)發(fā),一點(diǎn)到一點(diǎn)響應(yīng)廣播式:經(jīng)過中間轉(zhuǎn)發(fā),一點(diǎn)到多點(diǎn)響應(yīng),也叫增生廣播式:經(jīng)過中間轉(zhuǎn)發(fā),一點(diǎn)到多點(diǎn)響應(yīng),也叫增生異步方式異步方式發(fā)送成分與接收成分之間采用異步方式,各自獨(dú)立,不發(fā)送成分與接收成分之間采用異步方式,各自獨(dú)立,不受約束。其限定和約束由中間隱式層處理。受約束。其限定和約束由中間隱式層處理。消息過濾消息過濾 變換:轉(zhuǎn)變消息形式成為某種統(tǒng)一的類型和取值范圍變換:轉(zhuǎn)變消息形式成為某種統(tǒng)一的類型和取值范圍 抑制:截獲或阻止某種消息抑制:截獲或阻止某種消息 轉(zhuǎn)發(fā):轉(zhuǎn)發(fā)經(jīng)過某種處理的消息到需要響應(yīng)的成分轉(zhuǎn)發(fā):轉(zhuǎn)發(fā)經(jīng)過某種處理的消息到需要響應(yīng)的成分22事件驅(qū)動(dòng)和隱式調(diào)用結(jié)構(gòu)

15、的示例源對(duì)象源對(duì)象 注冊(cè)連接提供監(jiān)聽對(duì)象注冊(cè)和注銷的方法 接口登記源對(duì)象的操作方法監(jiān)聽對(duì)象監(jiān)聽對(duì)象監(jiān)聽對(duì)象監(jiān)聽對(duì)象監(jiān)聽對(duì)象 事件驅(qū)動(dòng)機(jī)制 事件狀態(tài)對(duì)象 事件狀態(tài)對(duì)象JavaBean事件驅(qū)動(dòng) 適配轉(zhuǎn)發(fā)類 適配轉(zhuǎn)發(fā)類源對(duì)象:產(chǎn)生事件的對(duì)象。監(jiān)聽對(duì)象:響應(yīng)事件的對(duì)象。事件驅(qū)動(dòng)機(jī)制:通過監(jiān)聽注冊(cè)和事件接口,連接源對(duì)象和監(jiān)聽對(duì)象。適配器:一組響應(yīng)事件的組裝配發(fā)。事件狀態(tài):封裝事件的發(fā)生時(shí)的類型、位置等信息。23轉(zhuǎn)換接口對(duì)象輸入操作事件驅(qū)動(dòng)和隱式調(diào)用分析 用戶按下鼠標(biāo)或鍵盤的一個(gè)鍵,操作系統(tǒng)的AWT(抽象窗口工具)將不同平臺(tái)的信息轉(zhuǎn)換成統(tǒng)一的事件對(duì)象。然后,將對(duì)象事件及狀態(tài),作為參數(shù),向接口對(duì)象發(fā)出請(qǐng)求。

16、接口對(duì)象中有已經(jīng)注冊(cè)的監(jiān)聽對(duì)象,通過適配對(duì)象向監(jiān)聽對(duì)象發(fā)出該事件。這樣,一個(gè)輸入操作事件,就被監(jiān)聽對(duì)象接收并響應(yīng)處理它。鼠標(biāo)對(duì)象 注冊(cè)的 監(jiān)聽對(duì)象菜單條對(duì)象文本框?qū)ο笫录顟B(tài)對(duì)象適配對(duì)象復(fù)選框?qū)ο筮m配對(duì)象鍵盤對(duì)象24事件驅(qū)動(dòng)和隱式調(diào)用結(jié)構(gòu)的優(yōu)勢在消息與響應(yīng)中間建立隱式層,完成消息形式的統(tǒng)一處理及統(tǒng)一調(diào)度,對(duì)接受消息的成分進(jìn)行必要的管理和控制。使請(qǐng)求成分與響應(yīng)成分之間形成松散耦合關(guān)系??梢詣?dòng)態(tài)調(diào)整事件的請(qǐng)求與響應(yīng)關(guān)系,為靈活設(shè)計(jì)創(chuàng)造了條件支持軟件復(fù)用。由于成分之間的沒有直接的聯(lián)系,任何已有的軟件成分只要處理邏輯適用,都可以無所顧忌地使用,將一切限定留給中間層處理。使系統(tǒng)更易維護(hù)。替換某一軟件成份

17、,除了中間轉(zhuǎn)接的適應(yīng),對(duì)其他成分影響極小。對(duì)于異步并發(fā)系統(tǒng)是一種極好的控制方式。25事件驅(qū)動(dòng)和隱式調(diào)用結(jié)構(gòu)的不足請(qǐng)求成份和接收成份完全自主而獨(dú)立,不易管理和控制,需要消耗較大系統(tǒng)的精力去控制,包括:必要識(shí)別、轉(zhuǎn)換和統(tǒng)一。相比直接方式的連接,增加了中間層必要的消耗,包括時(shí)間和資源,提升系統(tǒng)運(yùn)行效率成為系統(tǒng)的關(guān)鍵所在。26 黑板(共享狀態(tài) 和策略數(shù)據(jù))知識(shí)源1知識(shí)源8知識(shí)源7知識(shí)源6知識(shí)源3知識(shí)源4知識(shí)源2知識(shí)源5以黑板作為協(xié)同操作的核心,狀態(tài)是核心控制的依據(jù)每個(gè)知識(shí)源作為問題求解的獨(dú)立單位知識(shí)源需要協(xié)同完成一個(gè)事務(wù)的多個(gè)計(jì)算求解步驟協(xié)同的策略和調(diào)度算法,作為特殊的知識(shí)源由特殊的知識(shí)源改變操作的核

18、心狀態(tài)黑板知識(shí)庫結(jié)構(gòu)要點(diǎn)返回本章目錄27黑板知識(shí)庫結(jié)構(gòu)的成分知識(shí)源:軟件中獨(dú)立的處理成分。執(zhí)行成分的結(jié)果和狀態(tài),以及決策成分的指令都作為知識(shí)源提供給黑板,并主動(dòng)從黑板獲取繼續(xù)執(zhí)行的操作數(shù)據(jù)和指令黑板: 系統(tǒng)存儲(chǔ)和數(shù)據(jù)管理的機(jī)制。存儲(chǔ)系統(tǒng)解決問題所用的相關(guān)基礎(chǔ)知識(shí),以及系統(tǒng)運(yùn)行中各個(gè)知識(shí)源產(chǎn)生的狀態(tài)、計(jì)算結(jié)果和決策方案等28知識(shí)庫黑板知識(shí)庫結(jié)構(gòu)的示例專家系統(tǒng)(Expert System)基本模型模型庫事實(shí)庫規(guī)則庫 知識(shí)維護(hù)界面 系統(tǒng)應(yīng)用界面應(yīng)用信息數(shù)據(jù)庫信息管理推理機(jī)用戶系統(tǒng)維護(hù)者知識(shí)獲取決策解釋知識(shí)庫管理29黑板知識(shí)庫結(jié)構(gòu)的優(yōu)勢每個(gè)知識(shí)源的動(dòng)作依據(jù)是黑板中的信息,包括需要的交互及協(xié)同 系統(tǒng)中的

19、執(zhí)行者和決策者享有同等的地位 使系統(tǒng)中多對(duì)多的關(guān)系,以及執(zhí)行者和決策者的復(fù)雜關(guān)系變得簡單而清晰對(duì)于協(xié)同求解等專家系統(tǒng)是極好的控制方式黑板知識(shí)庫結(jié)構(gòu)的不足所有系統(tǒng)成分對(duì)共享區(qū)過分依賴,也是系統(tǒng)風(fēng)險(xiǎn)因素的最大隱患。30虛擬機(jī)程序的交互輸入 被解釋的 程序執(zhí)行偽碼解釋引擎輸出輸入選擇指示執(zhí)行程序以能被被解釋的一種偽碼形式表示解釋引擎根據(jù)固定的語法結(jié)構(gòu),按照偽碼的語義逐句解釋偽碼,同時(shí),根據(jù)已經(jīng)處理解釋的狀態(tài),以及需要的輸入的數(shù)據(jù)來完成輸出。解釋器過程解釋狀態(tài)返回本章目錄31與運(yùn)行程序交互的數(shù)據(jù)集合被解釋程序的偽代碼集合執(zhí)行解釋過程的狀態(tài)集合轉(zhuǎn)換關(guān)系的操作集合虛擬機(jī)(解釋器)結(jié)構(gòu)的成分虛擬機(jī)(解釋器)

20、成分的連接器根據(jù)文法約定以及通用的搜索算法,實(shí)現(xiàn)固定形式的解釋引擎連接。32布爾表達(dá)式求值系統(tǒng):通過解釋一串布爾求值的程序語句來實(shí)現(xiàn)布爾程序的運(yùn)算。利用布爾正則表達(dá)式解決語法的匹配問題。使用通用的搜索算法來解釋執(zhí)行正則表達(dá)式,其執(zhí)行結(jié)果就是最終的運(yùn)行計(jì)算值。虛擬機(jī)(解釋器)結(jié)構(gòu)的示例布爾正則表達(dá)式:BooleanExpression:=VariableExpression|ConstantExpression| OrExpression|AndExpression|NotExpression|(Expression)VariableExpression:=A|B|Y|ZConstant:=tu

21、re|falseOrExpression|:= BooleanExpression or BooleanExpressionAndExpression:= BooleanExpressionand BooleanExpressionNotExpression:=not BooleanExpression33用類表示布爾表達(dá)式的文法規(guī)則BooleanExpressionEvaluate()VariableExpressionEvaluate()ConstantExpressionEvaluate()OrExpressionEvaluate()AndExpressionEvaluate()NotE

22、xpressionEvaluate() Evaluate() 為對(duì)應(yīng)表達(dá)式的操作方法任意一個(gè)布爾表達(dá)式,可以是類對(duì)象實(shí)例所構(gòu)成的一個(gè)文法樹,可以按照對(duì)應(yīng)的方法,完成規(guī)定形式的操作。34表達(dá)式的文法樹,構(gòu)成解釋器結(jié)構(gòu)中的解釋引擎,按照每個(gè)類上定義的求值操作,根據(jù)表達(dá)式上下文和已經(jīng)執(zhí)行到哪一步的狀態(tài),匹配輸入表達(dá)式的具體值,實(shí)現(xiàn)對(duì)應(yīng)類上的操作OrExpressionAndExpressionAndExpressionOrExpressionNot XVariableExpressionYVariableExpressionXConstant true例:(true and x) or (y and

23、(not x)表達(dá)式例中實(shí)例所構(gòu)成的文法樹35引擎執(zhí)行過程過程建模工具工作流模型工作流引擎工作流引擎工作流引擎過程狀態(tài)工作流運(yùn)行數(shù)據(jù)企業(yè)應(yīng)用系統(tǒng)應(yīng)用系統(tǒng)數(shù)據(jù)庫任務(wù)管理操作界面工作流控制數(shù)據(jù)應(yīng)用系統(tǒng)運(yùn)行核心角色管理用戶操作輸入工作流引擎結(jié)構(gòu)及工作示意虛擬機(jī)(解釋器)結(jié)構(gòu)的示例36虛擬機(jī)(解釋器)結(jié)構(gòu)的優(yōu)勢虛擬機(jī)(解釋器)結(jié)構(gòu)的不足通過擴(kuò)充文法,可適應(yīng)系統(tǒng)的改變良好的環(huán)境無關(guān)性解決方案如果復(fù)雜規(guī)則文法,使系統(tǒng)龐大而無法管理,不宜采取正則表達(dá)式解釋結(jié)構(gòu),而應(yīng)該采取語法分析程序。37采集特定目標(biāo)的信息,以及返回的前續(xù)監(jiān)測系統(tǒng)狀態(tài),傳送給計(jì)算部件,在特定控制目標(biāo)設(shè)定下,完成預(yù)定計(jì)算,通過輸出裝置實(shí)現(xiàn)對(duì)目

24、標(biāo)的控制,運(yùn)行的系統(tǒng)狀態(tài)通過檢測再回饋送給采集機(jī)制。過程控制回路是特定的控制關(guān)系的描述采集1采集n計(jì)算部件設(shè)定目標(biāo)定時(shí)器執(zhí)行裝置1執(zhí)行裝置n檢測n檢測1返回本章目錄38閉環(huán)系統(tǒng)開環(huán)系統(tǒng) 熔爐熱氣 回程氣熱氣爐:火源不變,通過定時(shí)器在固定的間隔時(shí)間打開火源例:例:熱氣爐:通過測量溫度,不斷調(diào)節(jié)火源大小熱感控制 熔爐熱氣 回程氣過程控制回路結(jié)構(gòu)特征更適用于閉環(huán)系統(tǒng)負(fù)反饋實(shí)用價(jià)值高于正反饋兩種常用的自適應(yīng)控制回路定時(shí)開關(guān)39負(fù)反饋回路正反饋回路控制計(jì)算輸出檢測反饋輸入值設(shè)定值差值+控制計(jì)算輸出檢測反饋輸入值設(shè)定值和值差值反饋:目標(biāo)與檢測值的差,作為控制依據(jù),得到穩(wěn)定的輸出和值反饋:目標(biāo)與檢測值求和,

25、作為控制依據(jù),得到變化的輸出40兩種自適應(yīng)回路參數(shù)自適應(yīng)回路:性能自適應(yīng)回路:參數(shù)修正參數(shù)辨識(shí)機(jī)制控制計(jì)算前饋控制機(jī)制反饋控制機(jī)制-/+觀察輸入和輸出,降低參數(shù)的不確定性范圍。前饋控制機(jī)制控制計(jì)算反饋控制機(jī)制性能估算模型參考 調(diào)整通過性能分析,調(diào)整系統(tǒng)輸入。經(jīng)常采用模型參考方式-/+參考輸入41過程控制回路結(jié)構(gòu)成分和連接過程控制回路結(jié)構(gòu)發(fā)展趨勢組態(tài)可編程控制器通用機(jī)和通用機(jī)設(shè)計(jì)環(huán)境嵌入式設(shè)計(jì)技術(shù)和方法結(jié)構(gòu)成分:控制計(jì)算前饋機(jī)制(包括:采集、目標(biāo)設(shè)定和調(diào)整機(jī)制)反饋機(jī)制(包括:檢測、回路值計(jì)算)連件:采用固定形式的結(jié)構(gòu)成分和連接形式42部件和連接器是軟件結(jié)構(gòu)成分的兩大部分。部件是軟件的組成成分,

26、在系統(tǒng)構(gòu)架中起結(jié)構(gòu)塊的作用。連接件是建立部件和部件之間連接的成分,是專門承接連接作用 的特殊部件。部件可以組合,連接器可以相互連接。部件部件部件部件部件部件部件部件復(fù)合部件部件和連接器也稱為 C2 (Components and Connectors)風(fēng)格。它總結(jié)了所有體系結(jié)構(gòu)的組成成分,歸納并深入探討其規(guī)律、特性,引導(dǎo)了軟件體系結(jié)構(gòu)研究的新途徑。返回本章目錄43C2風(fēng)格的構(gòu)件分類構(gòu)件分類純計(jì)算構(gòu)件簡單輸入輸出處理,不保留處理狀態(tài)的關(guān)聯(lián)成分,如函數(shù)、過濾器、轉(zhuǎn)換器等。數(shù)據(jù)存儲(chǔ)構(gòu)件具有永久存儲(chǔ)性的結(jié)構(gòu)化數(shù)據(jù)成分。如數(shù)據(jù)庫、文件系統(tǒng)、符號(hào)表、超文本等。管理構(gòu)件系統(tǒng)狀態(tài)以及相關(guān)規(guī)定、限制的操作成分。

27、如抽象數(shù)據(jù)類型、系統(tǒng)服務(wù)器等??刂茦?gòu)件系統(tǒng)中事件發(fā)生時(shí)間、序列的控制和管理的成分。如調(diào)度程序、同步處理等。連接構(gòu)件充當(dāng)信息轉(zhuǎn)換角色的成分,如通信連接和用戶界面等。44連接件成分過程調(diào)用成份之間實(shí)現(xiàn)單線程控制的連接機(jī)制,如普通過程調(diào)用等。數(shù)據(jù)流通過數(shù)據(jù)流進(jìn)行交互的獨(dú)立處理流程連接機(jī)制。如同不交互控制、管道機(jī)制等。隱含觸發(fā)并發(fā)(非同步交互)事件實(shí)現(xiàn)成分之間的連接機(jī)制。如時(shí)間調(diào)度、自動(dòng)回收處理等。消息傳遞獨(dú)立成分之間離散和非線性的交互連接機(jī)制。如協(xié)議等。數(shù)據(jù)共享協(xié)議 成份之間通過統(tǒng)一數(shù)據(jù)空間進(jìn)行協(xié)調(diào)操作的機(jī)制。如黑板、共享數(shù)據(jù)區(qū)等。C2風(fēng)格的連接件分類45部件的類別部件的表達(dá)形式部件的特性接口特性運(yùn)行特性遠(yuǎn)程服務(wù)特性關(guān)聯(lián)特性動(dòng)態(tài)特性等級(jí)或?qū)哟翁匦赃B接的種類連接的實(shí)現(xiàn)連接協(xié)議連接的特性連接方向性連接的角色連接的激發(fā)連接的響應(yīng)連接的匹配性部件:連接件:C2風(fēng)格的描述C2風(fēng)格部件分類: 按過程層次分 基礎(chǔ)部件(硬件)、中層部件(技術(shù)支持)、高層部件(領(lǐng)域需求)。 按應(yīng)用分 通用部件、專用部件。 按功能分 數(shù)據(jù)服務(wù)部件、功能服務(wù)部件、邏輯處理部件、界面部件、連接部件、體系結(jié)構(gòu)部件等。 按運(yùn)行特性分 調(diào)度和非調(diào)度部件、中斷和非中斷部件、多客戶服務(wù)部件。47C2風(fēng)格部件的表達(dá)形式: 部件的表示: 具有操作接口定義的抽象數(shù)據(jù)類型。 部件接口表示: 依據(jù)訪問目的的操作方法分類描述 標(biāo)準(zhǔn)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論