第三章軟件體系結(jié)構(gòu)風(fēng)格與模式_第1頁(yè)
第三章軟件體系結(jié)構(gòu)風(fēng)格與模式_第2頁(yè)
第三章軟件體系結(jié)構(gòu)風(fēng)格與模式_第3頁(yè)
第三章軟件體系結(jié)構(gòu)風(fēng)格與模式_第4頁(yè)
第三章軟件體系結(jié)構(gòu)風(fēng)格與模式_第5頁(yè)
已閱讀5頁(yè),還剩152頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1軟件體系結(jié)構(gòu)的風(fēng)格和模式SoftwareArchitecture建筑模式ChristopherAlexander,TheTimelessWayofBuilding,p247,1979每個(gè)模式是一個(gè)由三部分組成的規(guī)則,表達(dá)了特定環(huán)境、問(wèn)題和解(solution)之間的關(guān)系。作為現(xiàn)實(shí)世界的一個(gè)成分,每個(gè)模式表達(dá)了下列三者之間的一種關(guān)系:特定環(huán)境,在該環(huán)境中反復(fù)出現(xiàn)的力(forces)的系統(tǒng),以及協(xié)調(diào)這些力的某種空間排列。作為語(yǔ)言的一個(gè)成分,每個(gè)模式是一條指令,展示了這種空間排列如何被一再重復(fù)使用,目的是協(xié)調(diào)同特定環(huán)境相關(guān)的力的系統(tǒng)。簡(jiǎn)單地說(shuō),模式既是存在于現(xiàn)實(shí)世界中的事物,又是告訴我們?nèi)绾我约昂螘r(shí)創(chuàng)造該事物的規(guī)則。模式既是過(guò)程,又是事物;既是活生生的事物的描述,又是創(chuàng)造該事物的過(guò)程的描述。軟件體系結(jié)構(gòu)的構(gòu)建模式軟件體系結(jié)構(gòu)的特點(diǎn)之一就是抽象出了很多常見(jiàn)的系統(tǒng)構(gòu)建模式,這些模式(或者說(shuō)結(jié)構(gòu)風(fēng)格)是系統(tǒng)設(shè)計(jì)人員多年工作經(jīng)驗(yàn)的總結(jié)。軟件體系結(jié)構(gòu)風(fēng)格和模式的概念軟件體系結(jié)構(gòu)風(fēng)格(ArchitecturalStyle)一種體系結(jié)構(gòu)風(fēng)格以結(jié)構(gòu)組織模式定義了一個(gè)系統(tǒng)家族關(guān)于構(gòu)件和連接件類型的術(shù)語(yǔ);一組約束對(duì)它們組合方式的規(guī)定;一個(gè)或多個(gè)語(yǔ)義模型,規(guī)定了如何從各成分的特性決定系統(tǒng)整體特性概括地說(shuō),一種軟件體系結(jié)構(gòu)風(fēng)格刻劃一個(gè)具有共享結(jié)構(gòu)和語(yǔ)義的系統(tǒng)家族軟件體系結(jié)構(gòu)模式(ArchitecturalPattern)一種軟件體系結(jié)構(gòu)模式是對(duì)某個(gè)具體環(huán)境下問(wèn)題的結(jié)構(gòu)性解決方法體系結(jié)構(gòu)風(fēng)格模式系統(tǒng)中的詞匯目前尚不完善每個(gè)風(fēng)格可以視為一組構(gòu)件的集合,以及構(gòu)件間的交互(連接器)構(gòu)件(Components)+連接器(Connectors)E.g. C/S結(jié)構(gòu)中構(gòu)件:Client,Server連接器:C/S間的通訊協(xié)議軟件體系結(jié)構(gòu)的構(gòu)建風(fēng)格風(fēng)格分類:

1.管道-過(guò)濾器風(fēng)格

2.面向?qū)ο箫L(fēng)格

3.事件驅(qū)動(dòng)風(fēng)格

4.分層風(fēng)格

5.數(shù)據(jù)共享風(fēng)格

6.解釋器風(fēng)格

7.反饋控制環(huán)風(fēng)格

8.異構(gòu)風(fēng)格的集成特別注意:體系結(jié)構(gòu)風(fēng)格不是對(duì)軟件進(jìn)行分類的標(biāo)準(zhǔn)。它僅僅是表示描述軟件的不同角度而已例如一個(gè)系統(tǒng)采用了分層風(fēng)格,但這并不妨礙它用面向?qū)ο蟮姆椒▉?lái)實(shí)現(xiàn)。同一個(gè)系統(tǒng)采用多種風(fēng)格造成了所謂體系結(jié)構(gòu)風(fēng)格的異構(gòu)組合。管道-過(guò)濾器風(fēng)格概述在管道-過(guò)濾器風(fēng)格下,每個(gè)功能模塊都有一組輸入和輸出。功能模塊稱作過(guò)濾器(filters);功能模塊間的連接可以看作輸入、輸出數(shù)據(jù)流之間的通路,所以稱作管道(pipes)。管道-過(guò)濾器風(fēng)格的特性之一在于過(guò)濾器的相對(duì)獨(dú)立性,即過(guò)濾器獨(dú)立完成自身功能,相互之間無(wú)需進(jìn)行狀態(tài)交互。管道-過(guò)濾器風(fēng)格特性過(guò)濾器是獨(dú)立運(yùn)行的構(gòu)件非臨近的過(guò)濾器之間不共享狀態(tài)過(guò)濾器自身無(wú)狀態(tài)過(guò)濾器對(duì)其處理上下連接的過(guò)濾器“無(wú)知”對(duì)相鄰的過(guò)濾器不施加任何限制結(jié)果的正確性不依賴于各個(gè)過(guò)濾器運(yùn)行的先后次序各過(guò)濾器在輸入具備后完成自己的計(jì)算。完整的計(jì)算過(guò)程包含在過(guò)濾器之間的拓?fù)浣Y(jié)構(gòu)中。管道-過(guò)濾器風(fēng)格一個(gè)管道-過(guò)濾器風(fēng)格的示意圖如下圖所示:管道-過(guò)濾器風(fēng)格一個(gè)采用了嵌套的管道過(guò)濾器的系統(tǒng)示例:管道-過(guò)濾器風(fēng)格優(yōu)點(diǎn)設(shè)計(jì)者可以將整個(gè)系統(tǒng)的輸入、輸出特性簡(jiǎn)單的理解為各個(gè)過(guò)濾器功能的合成。設(shè)計(jì)人員將整個(gè)系統(tǒng)的輸入輸出行為理解為單個(gè)過(guò)濾器行為的疊加與組合。這樣可以將問(wèn)題分解,化繁為簡(jiǎn)。將系統(tǒng)抽象成一個(gè)“黑箱”,其輸入是系統(tǒng)中第一個(gè)過(guò)濾器的輸入管道,輸出是系統(tǒng)中最后一個(gè)過(guò)濾器的輸出管道,而其內(nèi)部各功能模塊的具體實(shí)現(xiàn)對(duì)用戶完全透明。管道-過(guò)濾器風(fēng)格優(yōu)點(diǎn)管道-過(guò)濾器風(fēng)格支持功能模塊的復(fù)用任何兩個(gè)過(guò)濾器,只要它們之間傳送的數(shù)據(jù)遵守共同的規(guī)約,就可以相連接。每個(gè)過(guò)濾器都有自己獨(dú)立的輸入輸出接口,如果過(guò)濾器間傳輸?shù)臄?shù)據(jù)遵守其規(guī)約,只要用管道將它們連接就可以正常工作。管道-過(guò)濾器風(fēng)格優(yōu)點(diǎn)基于管道-過(guò)濾器風(fēng)格的系統(tǒng)具有較強(qiáng)的可維護(hù)性和可擴(kuò)展性。舊的過(guò)濾器可以被替代,新的過(guò)濾器可以添加到已有的系統(tǒng)上。軟件的易于維護(hù)和升級(jí)是衡量軟件系統(tǒng)質(zhì)量的重要指標(biāo)之一,在管道-過(guò)濾器模型中,只要遵守輸入輸出數(shù)據(jù)規(guī)約,任何一個(gè)過(guò)濾器都可以被另一個(gè)新的過(guò)濾器代替,同時(shí)為增強(qiáng)程序功能,可以添加新的過(guò)濾器。這樣,系統(tǒng)的可維護(hù)性和可升級(jí)性得到了保證。管道-過(guò)濾器風(fēng)格優(yōu)點(diǎn)支持一些特定的分析,如吞吐量計(jì)算和死鎖檢測(cè)等。利用管道-過(guò)濾器風(fēng)格的視圖,可以很容易的得到系統(tǒng)的資源使用和請(qǐng)求的狀態(tài)圖。然后,根據(jù)操作系統(tǒng)原理等相關(guān)理論中的死鎖檢測(cè)方法就可以分析出系統(tǒng)目前所處的狀態(tài),是否存在死鎖可能及如何消除死鎖等問(wèn)題。管道-過(guò)濾器風(fēng)格優(yōu)點(diǎn)管道-過(guò)濾器風(fēng)格具有并發(fā)性每個(gè)過(guò)濾器作為一個(gè)單獨(dú)的執(zhí)行任務(wù),可以與其它過(guò)濾器并發(fā)執(zhí)行。過(guò)濾器的執(zhí)行是獨(dú)立的,不依賴于其它過(guò)濾器的。在實(shí)際運(yùn)行時(shí),可以將存在并發(fā)可能的多個(gè)過(guò)濾器看作多個(gè)并發(fā)的任務(wù)并行執(zhí)行,從而大大提高系統(tǒng)的整體效率,加快處理速度。管道-過(guò)濾器風(fēng)格不足交互式處理能力弱管道-過(guò)濾器模型適于數(shù)據(jù)流的處理和變換,不適合為與用戶交互頻繁的系統(tǒng)建模。在這種模型中,每個(gè)過(guò)濾器都有自己的數(shù)據(jù),這些數(shù)據(jù)或者是從磁盤(pán)存儲(chǔ)器中讀取來(lái),或者是由另一個(gè)過(guò)濾器的輸出導(dǎo)入進(jìn)來(lái),整個(gè)系統(tǒng)沒(méi)有一個(gè)共享的數(shù)據(jù)區(qū)。這樣,當(dāng)用戶要操作某一項(xiàng)數(shù)據(jù)時(shí),要涉及到多個(gè)過(guò)濾器對(duì)相應(yīng)數(shù)據(jù)的操作,其實(shí)現(xiàn)較為復(fù)雜。由以上的缺點(diǎn),可以對(duì)每個(gè)過(guò)濾器增加相應(yīng)的用戶控制接口,使得外部可以對(duì)過(guò)濾器的執(zhí)行進(jìn)行控制。管道-過(guò)濾器風(fēng)格不足改進(jìn)的過(guò)濾器管道-過(guò)濾器風(fēng)格不足管道-過(guò)濾器風(fēng)格往往導(dǎo)致系統(tǒng)處理過(guò)程的成批操作。設(shè)計(jì)者也許不得不花費(fèi)精力協(xié)調(diào)兩個(gè)相對(duì)獨(dú)立但又存在某種關(guān)系的數(shù)據(jù)流之間的關(guān)系,例如多過(guò)濾器并發(fā)執(zhí)行時(shí)數(shù)據(jù)流之間的同步問(wèn)題等。根據(jù)實(shí)際設(shè)計(jì)的需要,設(shè)計(jì)者也需要對(duì)數(shù)據(jù)傳輸進(jìn)行特定的處理(如為了防止數(shù)據(jù)泄漏而采取加密等手段),導(dǎo)致過(guò)濾器必須對(duì)輸入、輸出管道中的數(shù)據(jù)流進(jìn)行解析或反解析,增加了過(guò)濾器具體實(shí)現(xiàn)的復(fù)雜性。管道-過(guò)濾器風(fēng)格實(shí)例——數(shù)字通信系統(tǒng)通信的目的是傳遞消息。消息具有不同的形式,例如:符號(hào)、文字、語(yǔ)音、音樂(lè)、數(shù)據(jù)、圖片、圖像等等。因而,根據(jù)所傳遞消息的不同,目前通信業(yè)務(wù)可以分為電報(bào)、電話、傳真、數(shù)據(jù)傳輸及可視電話等。對(duì)于基本的點(diǎn)對(duì)點(diǎn)通信,是把發(fā)送端的消息傳遞到接收端。數(shù)字通信概念模型發(fā)送端接收端管道-過(guò)濾器風(fēng)格實(shí)例——數(shù)字通信系統(tǒng)將上圖發(fā)送端進(jìn)一步細(xì)分為信息源和發(fā)送設(shè)備,將接收端細(xì)分為接收設(shè)備和受信者;同時(shí),在通信過(guò)程中會(huì)有噪聲干擾,在模型中添加噪聲源可得到圖所示的數(shù)字通信系統(tǒng)粗略模型。數(shù)字通信系統(tǒng)粗略模型信息源發(fā)送設(shè)備接收設(shè)備受信者噪聲源信道管道-過(guò)濾器風(fēng)格實(shí)例——數(shù)字通信系統(tǒng)圖中各單元作用:信息源把各種可能信息轉(zhuǎn)換成原始電信號(hào);發(fā)送設(shè)備對(duì)原始電信號(hào)完成某種變化,便于原始信號(hào)在信道中傳輸,然后再送入信道;信道是指信號(hào)傳輸?shù)耐ǖ?,它既可以看成是管道(因?yàn)樗哪康牟⒉皇菫榱藢?shí)現(xiàn)某種功能,僅僅是為了信號(hào)的傳輸),也可以從某種意義上看做是過(guò)濾器(因?yàn)樾盘?hào)經(jīng)過(guò)信道后會(huì)產(chǎn)生一些變化,比如加入噪聲的影響,從而改變了發(fā)送設(shè)備發(fā)出的信號(hào))。接收設(shè)備從接收信號(hào)中恢復(fù)出相應(yīng)的原始信號(hào);受信者(也稱為信息宿或接收終端)是將復(fù)原的原始信號(hào)轉(zhuǎn)換成相應(yīng)的消息。噪聲源是信道中的噪聲以及分散在通信系統(tǒng)其它各處的噪聲的集中體現(xiàn),它使原信號(hào)受到了干擾,產(chǎn)生畸變。管道-過(guò)濾器風(fēng)格實(shí)例——數(shù)字通信系統(tǒng)在數(shù)字通信中存在以下幾個(gè)突出的問(wèn)題:數(shù)字信號(hào)傳輸時(shí),信道噪聲或干擾所造成的差錯(cuò),原則上都可以通過(guò)差錯(cuò)控制編碼等手段來(lái)控制。為此,在發(fā)送端需要增加一個(gè)編碼器,而在接收端相應(yīng)的需要一個(gè)解碼器。當(dāng)需要保密時(shí),可以有效的對(duì)基帶信號(hào)進(jìn)行加密,防止信息被竊取或通信被破壞。此時(shí),在接收端就需要進(jìn)行解密。由于數(shù)字通信傳輸?shù)氖且粋€(gè)接一個(gè)按節(jié)拍傳送的數(shù)字信號(hào)單元,即碼元,因而接收端必須與發(fā)送端按相同的節(jié)拍進(jìn)行接收。不然,會(huì)因接收節(jié)拍不一致而造成混亂,使接收倒的數(shù)據(jù)全部無(wú)效。因此,數(shù)字通信系統(tǒng)中必須有同步控制構(gòu)件。針對(duì)上述問(wèn)題,可得到數(shù)字通信系統(tǒng)詳細(xì)模型(下圖)管道-過(guò)濾器風(fēng)格實(shí)例——數(shù)字通信系統(tǒng)數(shù)字通信系統(tǒng)詳細(xì)模型管道-過(guò)濾器風(fēng)格實(shí)例管道-過(guò)濾器模式的體系結(jié)構(gòu)是面向數(shù)據(jù)流的軟件體系結(jié)構(gòu)。它最典型的應(yīng)用是在編譯系統(tǒng)。一個(gè)普通的編譯系統(tǒng)包括詞法分析器,語(yǔ)法分析器,語(yǔ)義分析與中間代碼生成器,優(yōu)化器,目標(biāo)代碼生成器等一系列對(duì)源程序進(jìn)行處理的過(guò)程。人們可以將編譯系統(tǒng)看作一系列過(guò)濾器的連接體,按照管道&過(guò)濾器的體系結(jié)構(gòu)進(jìn)行設(shè)計(jì)。需求描述:假設(shè)有一批實(shí)時(shí)的二維坐標(biāo)點(diǎn)數(shù)據(jù)需要變換(即對(duì)點(diǎn)的橫、縱坐標(biāo)進(jìn)行縮放),并在屏幕上進(jìn)行顯示,要求外部要能設(shè)置變換規(guī)則(如縮放倍數(shù))和顯示規(guī)則(如顯示模式和顯示顏色)。管道-過(guò)濾器風(fēng)格實(shí)例體系結(jié)構(gòu)建模這是一個(gè)對(duì)坐標(biāo)點(diǎn)的數(shù)據(jù)流進(jìn)行順序處理的過(guò)程,可以應(yīng)用管道-過(guò)濾器體系結(jié)構(gòu)建模。將這個(gè)系統(tǒng)分為兩個(gè)過(guò)濾器,一個(gè)為坐標(biāo)點(diǎn)數(shù)據(jù)流變換過(guò)濾器,另一個(gè)為坐標(biāo)點(diǎn)數(shù)據(jù)流實(shí)時(shí)顯示過(guò)濾器。其中,坐標(biāo)點(diǎn)數(shù)據(jù)流變換過(guò)濾器有一個(gè)外部控制接口對(duì)變換規(guī)則如縮放倍數(shù)進(jìn)行設(shè)置,坐標(biāo)點(diǎn)數(shù)據(jù)流實(shí)時(shí)顯示過(guò)濾器有一個(gè)外部控制接口對(duì)顯示規(guī)則如顯示模式和顯示顏色進(jìn)行設(shè)置。整個(gè)系統(tǒng)的體系結(jié)構(gòu)如圖所示。管道-過(guò)濾器風(fēng)格實(shí)例系統(tǒng)體系結(jié)構(gòu)圖管道-過(guò)濾器風(fēng)格實(shí)例過(guò)濾器的設(shè)計(jì)可以將過(guò)濾器用狀態(tài)轉(zhuǎn)換圖表示。過(guò)濾器有如下?tīng)顟B(tài):停止?fàn)顟B(tài),工作狀態(tài),等待狀態(tài),休眠狀態(tài)。停止?fàn)顟B(tài):表示過(guò)濾器處于待啟動(dòng)狀態(tài),當(dāng)外部啟動(dòng)過(guò)濾器后,過(guò)濾器處于處理狀態(tài);處理狀態(tài):表示過(guò)濾器正在處理輸入數(shù)據(jù)隊(duì)列中的數(shù)據(jù);等待狀態(tài):表示過(guò)濾器的輸入數(shù)據(jù)隊(duì)列為空,此時(shí)過(guò)濾器等待,當(dāng)有新的數(shù)據(jù)輸入時(shí),過(guò)濾器處于處理狀態(tài);休眠狀態(tài):表示過(guò)濾器已經(jīng)啟動(dòng),但被掛起。掛起的原因可能是由于外界用戶要設(shè)置過(guò)濾器的控制參數(shù),這樣暫時(shí)將過(guò)濾器掛起但不中止它,當(dāng)控制參數(shù)設(shè)置完畢后再將過(guò)濾器還原,繼續(xù)運(yùn)行。這樣,實(shí)現(xiàn)了較高的效率。管道-過(guò)濾器風(fēng)格實(shí)例過(guò)濾器狀態(tài)轉(zhuǎn)換圖使用示例Unix系統(tǒng)中的管道過(guò)濾器結(jié)構(gòu)

lsinvoices|grep–eAugust|sort過(guò)濾器介紹過(guò)濾器的作用:對(duì)輸入數(shù)據(jù)的處理enriches:computingandaddinginforefines:concentratingorextractinginfotransforms:deliveringdataintosomeotherrepresentation被動(dòng)式過(guò)濾器(Passivefilter)adjacentpipespulls/pushesoutput/inputdatafrom/intothefilteractiveeitherasafunction(pull)orasaprocedure(push)主動(dòng)式過(guò)濾器(Activefilter)filterisactiveinaloop,checkthepipesfordataprocessingonitsownasaseparateprogramorthread數(shù)據(jù)源、數(shù)據(jù)接收端、管道介紹DataSource(數(shù)據(jù)源)inputdatastreamtothesystem,forexampleAfileconsistingoflinesoftextAsensordeliveringasequenceofnumbersdatacanbepushedorpulledintofirstprocessingstagePipes(管道)connectionsbetweenfilters,betweendatasourceandthefirstfilter,betweenthelastfilterandthedatasinksynchronizesjoinedactivefilters,forexample,byaFIFO(first-in-first-out)bufferforpassivefilters,thepipescanbeimplementedbyadirectcallMakethefilterrecombinationharderDataSink(數(shù)據(jù)接收端)consumesoutputdata管道-過(guò)濾器風(fēng)格的類型類型pipelines—linearsequencesoffiltersboundedpipes—limitedamountofdataonapipetypedpipes—datastronglytypedbatchsequential—datastreamsarenotincremental面向?qū)ο箫L(fēng)格特征概述面相對(duì)象模式集數(shù)據(jù)抽象、抽象數(shù)據(jù)類型、類繼承為一體,使軟件工程公認(rèn)的模塊化、信息隱藏、抽象、重用性等原則在面向?qū)ο箫L(fēng)格下得以充分實(shí)現(xiàn)。應(yīng)用場(chǎng)合面向?qū)ο蟮捏w系結(jié)構(gòu)模式適用于數(shù)據(jù)和功能分離的系統(tǒng)中,同樣也適合于問(wèn)題域模型比較明顯,或需要人機(jī)交互界面的系統(tǒng)。大多數(shù)應(yīng)用事件驅(qū)動(dòng)風(fēng)格的系統(tǒng)也常常應(yīng)用了面向?qū)ο箫L(fēng)格。面向?qū)ο箫L(fēng)格面向?qū)ο箫L(fēng)格的體系結(jié)構(gòu)面向?qū)ο箫L(fēng)格優(yōu)點(diǎn)高度模塊性封裝功能代碼共享靈活性易維護(hù)性可擴(kuò)充性面向?qū)ο箫L(fēng)格不足面向?qū)ο箫L(fēng)格最大的不足在于如果一個(gè)對(duì)象需要調(diào)用另一個(gè)對(duì)象,它就必須知道那個(gè)對(duì)象的標(biāo)識(shí)(對(duì)象名或?qū)ο笠茫?,這樣就無(wú)形之中增強(qiáng)了對(duì)象之間的依賴關(guān)系。如果一個(gè)對(duì)象改變了自己的標(biāo)識(shí),就必須通知系統(tǒng)中所有和它有調(diào)用關(guān)系的對(duì)象,否則系統(tǒng)就無(wú)法正常運(yùn)行。面向?qū)ο箫L(fēng)格面向?qū)ο箫L(fēng)格實(shí)例實(shí)例背景目前,一個(gè)標(biāo)準(zhǔn)的計(jì)算機(jī)應(yīng)用系統(tǒng)應(yīng)該由三部分組成:計(jì)算機(jī)操作系統(tǒng)(包括各種應(yīng)用軟件系統(tǒng))、數(shù)據(jù)庫(kù)管理系統(tǒng)和網(wǎng)絡(luò)環(huán)境(包括網(wǎng)絡(luò)硬件設(shè)備和各種協(xié)議棧、網(wǎng)絡(luò)服務(wù)等),這樣一個(gè)具有分布式特性和開(kāi)放性的系統(tǒng)稱為開(kāi)放分布式系統(tǒng)(ODS,OpenDistributedSystem)。面向?qū)ο箫L(fēng)格示例CBA方法:它有三個(gè)基本的建模概念:協(xié)作、類型和細(xì)化。協(xié)作(Collaboration):根據(jù)構(gòu)件所承擔(dān)的不同角色,協(xié)作定義了一組構(gòu)件之間的動(dòng)作(Action)集合。類型(Type):通過(guò)描述一個(gè)構(gòu)件的可視外部行為來(lái)定義構(gòu)件在系統(tǒng)中所承擔(dān)的功能。細(xì)化(Refinement):體現(xiàn)了對(duì)同一事物的兩種不同描述之間的關(guān)系,抽象(Abstraction)描述為基礎(chǔ),實(shí)現(xiàn)(Realization)描述可以看作抽象描述的具體的形式。面向?qū)ο箫L(fēng)格面向?qū)ο箫L(fēng)格面向?qū)ο箫L(fēng)格ODS系統(tǒng)中構(gòu)件、連接器和配置的模型,如下圖所示:面向?qū)ο箫L(fēng)格面向?qū)ο箫L(fēng)格面向?qū)ο箫L(fēng)格實(shí)例構(gòu)件的描述方法:利用GUI體系結(jié)構(gòu)框架自動(dòng)生成工具,可以完成下述幾點(diǎn)功能:生成構(gòu)件模型,包括構(gòu)件的屬性、接口和實(shí)現(xiàn);建立連接器模型,包括協(xié)議、屬性和實(shí)現(xiàn);體系結(jié)構(gòu)的抽象和封裝;類型和類型檢查;主動(dòng)規(guī)范,提供設(shè)計(jì)向?qū)?;多視圖模式,對(duì)不同層次的用戶顯示不同的內(nèi)容;生成實(shí)現(xiàn),如將構(gòu)件對(duì)應(yīng)為面向?qū)ο蠹夹g(shù)中的類;將系統(tǒng)的修改動(dòng)態(tài)映射到實(shí)現(xiàn)。面向?qū)ο箫L(fēng)格實(shí)例具有自適應(yīng)穩(wěn)定性的連接器模型連接器中的通信協(xié)議棧面向?qū)ο箫L(fēng)格面向?qū)ο箫L(fēng)格連接器的自適應(yīng)穩(wěn)定算法:為了提高通信協(xié)議棧在構(gòu)件通信過(guò)程中的穩(wěn)定性,需要設(shè)計(jì)某種自適應(yīng)穩(wěn)定算法,這樣可以修復(fù)構(gòu)件通信時(shí)出現(xiàn)的錯(cuò)誤。面向?qū)ο箫L(fēng)格實(shí)例——人事檔案管理系統(tǒng)系統(tǒng)功能結(jié)構(gòu)面向?qū)ο箫L(fēng)格實(shí)例——人事檔案管理系統(tǒng)系統(tǒng)功能介紹:檔案管理根據(jù)高校人事檔案管理的特點(diǎn),本模塊可通過(guò)錄入各類人事檔案信息,來(lái)構(gòu)造檔案數(shù)據(jù)庫(kù),編制各種目錄索檢。針對(duì)檔案材料錄入工作量較大,在該功能模塊中設(shè)置了多種方式快速錄入法,如對(duì)指定的部分內(nèi)容可采用代碼錄入和菜單選項(xiàng)等輸入方法.信息檢索該模塊主要是檢索有關(guān)的人事檔案信息,其檢索方式為姓氏筆畫(huà)檢索目錄。在具體檢索中又可分為精確查詢和模糊查詢,并可將檢索內(nèi)容動(dòng)態(tài)輸出,滿足檔案查詢的需要。檔案借閱該模塊主要是對(duì)檔案的借閱情況、歸還情況、利用登記等方面進(jìn)行管理。它能為研究如何更有效地利用人事檔案資料提供必要的信息。面向?qū)ο箫L(fēng)格實(shí)例——人事檔案管理系統(tǒng)檔案轉(zhuǎn)遞該模塊包括人事檔案的轉(zhuǎn)進(jìn)和轉(zhuǎn)出管理,編制清單,并能在檔案轉(zhuǎn)遞后,對(duì)已變更檔案數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)地調(diào)整,以完成相應(yīng)檔案的刪加。統(tǒng)計(jì)報(bào)表該模塊主要用于統(tǒng)計(jì)庫(kù)存的各類人事檔案的實(shí)際數(shù)量,及每年歸檔的各類檔案數(shù)量,并可完成相應(yīng)的圖形繪制和報(bào)表打印。其中,在報(bào)表生成中,該模塊可根據(jù)管理人員對(duì)報(bào)表的自定義設(shè)置來(lái)生成相應(yīng)的非范式報(bào)表。系統(tǒng)維護(hù)由于高校人事檔案的數(shù)據(jù)管理是一項(xiàng)非常重要的工作,尤其是它的安全可靠性。因此,在進(jìn)入本模塊操作之前,系統(tǒng)會(huì)提醒用戶輸入姓名、操作口令和權(quán)限級(jí)別。同時(shí)該功能模塊還包括操作員管理、口令修改、重新登錄、權(quán)限級(jí)別設(shè)置、系統(tǒng)日志及系統(tǒng)初始化六個(gè)子模塊。系統(tǒng)幫助本模塊提供了在線聯(lián)機(jī)幫助,可實(shí)現(xiàn)幫助主題的查詢,還提供了計(jì)算器、日記/日歷等系統(tǒng)工具和關(guān)于本系統(tǒng)的簡(jiǎn)介。面向?qū)ο箫L(fēng)格實(shí)例——人事檔案管理系統(tǒng)系統(tǒng)活動(dòng)圖面向?qū)ο箫L(fēng)格實(shí)例——人事檔案管理系統(tǒng)系統(tǒng)類結(jié)構(gòu)圖事件驅(qū)動(dòng)風(fēng)格特征事件驅(qū)動(dòng)系統(tǒng)的基本觀點(diǎn)是一個(gè)系統(tǒng)對(duì)外部的表現(xiàn)可以從它對(duì)事件的處理表征出來(lái)。如圖示:事件驅(qū)動(dòng)風(fēng)格特征事件驅(qū)動(dòng)系統(tǒng)具有以下一些特點(diǎn):系統(tǒng)是由若干子系統(tǒng)或元素所組成的一個(gè)整體;系統(tǒng)有一定的目標(biāo),各子系統(tǒng)在某一種消息機(jī)制的控制下,為了這個(gè)目標(biāo)而協(xié)調(diào)行動(dòng);在某一種消息機(jī)制的控制下,系統(tǒng)作為一個(gè)整體與環(huán)境相適應(yīng)和協(xié)調(diào);事件驅(qū)動(dòng)風(fēng)格特征事件驅(qū)動(dòng)系統(tǒng)具有以下一些特點(diǎn)(續(xù)):在一個(gè)系統(tǒng)的若干子系統(tǒng)中,必定有一個(gè)子系統(tǒng)起著主導(dǎo)作用,而其他子系統(tǒng)則處于從屬地位;任一系統(tǒng)和系統(tǒng)內(nèi)的任一元素,都有1個(gè)事件收集機(jī)制和1個(gè)事件處理機(jī)制,通過(guò)這種機(jī)制與周圍環(huán)境發(fā)生作用和聯(lián)系;事件驅(qū)動(dòng)風(fēng)格特征下圖是一個(gè)基于事件驅(qū)動(dòng)的軟件系統(tǒng)的示意圖:事件驅(qū)動(dòng)風(fēng)格特征事件驅(qū)動(dòng)風(fēng)格系統(tǒng)設(shè)計(jì)時(shí)有下述幾條基本原則從系統(tǒng)論的角度來(lái)看待描述的對(duì)象,合理分解子系統(tǒng),保證各個(gè)子系統(tǒng)的獨(dú)立性和社會(huì)性;無(wú)論系統(tǒng)多么復(fù)雜,子系統(tǒng)性質(zhì)的差異多么大,任何子系統(tǒng)都可以按照有無(wú)子系統(tǒng)這一性質(zhì)分為2類:管理系統(tǒng)和執(zhí)行系統(tǒng)。為了達(dá)到系統(tǒng)的目標(biāo),系統(tǒng)內(nèi)的各個(gè)子系統(tǒng)通過(guò)傳遞消息和執(zhí)行消息來(lái)協(xié)同操作。為了達(dá)到系統(tǒng)的目標(biāo),系統(tǒng)內(nèi)的各個(gè)子系統(tǒng)通過(guò)傳遞消息和執(zhí)行消息來(lái)協(xié)同操作。事件驅(qū)動(dòng)風(fēng)格特征事件驅(qū)動(dòng)風(fēng)格系統(tǒng)設(shè)計(jì)時(shí)有下述幾條基本原則(續(xù))在一個(gè)完整系統(tǒng)中,必須有這樣一個(gè)子系統(tǒng),它沒(méi)有上級(jí),必須收集系統(tǒng)外的事件及下級(jí)發(fā)出的事件。管理類型的子系統(tǒng)一般不執(zhí)行具體操作,它的主要功能是按照自己的職能指揮下級(jí)完成任務(wù),功能性操作一般由執(zhí)行類型的子系統(tǒng)完成。在一般情況下,除最高級(jí)管理子系統(tǒng)外,子系統(tǒng)一般是“有問(wèn)才答”,即使在必要的情況下需要積極尋找事件時(shí),也必須征得上級(jí)系統(tǒng)得許可,保證了系統(tǒng)的控制流不會(huì)分散。事件驅(qū)動(dòng)風(fēng)格基本結(jié)構(gòu)事件驅(qū)動(dòng)系統(tǒng)具有某種意義上的遞歸性,形成了“部分-整體”的層次結(jié)構(gòu),可以用屬性結(jié)構(gòu)加以表示。一個(gè)簡(jiǎn)單的表示方法是為執(zhí)行系統(tǒng)定義一些類,另外定義一些類作為這些執(zhí)行系統(tǒng)的容器類,也就是管理系統(tǒng)。事件驅(qū)動(dòng)風(fēng)格事件驅(qū)動(dòng)風(fēng)格的基本結(jié)構(gòu),如下圖:事件驅(qū)動(dòng)風(fēng)格優(yōu)點(diǎn)事件驅(qū)動(dòng)風(fēng)格非常適合于描述系統(tǒng)族,在屬于同一族的任何系統(tǒng)中,系統(tǒng)的高級(jí)管理子系統(tǒng)的描述是完全類似的,便于重用;由于最高管理子系統(tǒng)牢牢的掌握著控制權(quán),又因?yàn)楦魍?jí)子系統(tǒng)一般不直接發(fā)生關(guān)系,因此容易實(shí)現(xiàn)并發(fā)處理和多任務(wù)操作;基于事件驅(qū)動(dòng)風(fēng)格的系統(tǒng)具有良好的可擴(kuò)展性,設(shè)計(jì)者只需為某個(gè)對(duì)象注冊(cè)一個(gè)事件處理接口就可以將該對(duì)象引入整個(gè)系統(tǒng),同時(shí)并不影響其它的系統(tǒng)對(duì)象。事件驅(qū)動(dòng)風(fēng)格優(yōu)點(diǎn)定義了包含執(zhí)行子系統(tǒng)和管理子系統(tǒng)的類層次結(jié)構(gòu);簡(jiǎn)化客戶代碼;使整個(gè)系統(tǒng)的設(shè)計(jì)更具有一般化。事件驅(qū)動(dòng)風(fēng)格不足事件驅(qū)動(dòng)風(fēng)格最大的不足在于構(gòu)件削弱了自身對(duì)系統(tǒng)計(jì)算的控制能力事件驅(qū)動(dòng)風(fēng)格中存在的另一個(gè)問(wèn)題在于數(shù)據(jù)共享系統(tǒng)中各個(gè)對(duì)象的邏輯關(guān)系變得更加復(fù)雜事件驅(qū)動(dòng)風(fēng)格和面向?qū)ο箫L(fēng)格的關(guān)系基于面向?qū)ο箫L(fēng)格的系統(tǒng)由多個(gè)封裝起來(lái)的對(duì)象構(gòu)成,對(duì)象之間通過(guò)消息傳遞實(shí)現(xiàn)通信,而事件驅(qū)動(dòng)正是對(duì)消息傳遞機(jī)制的一種實(shí)現(xiàn)。所以基于事件驅(qū)動(dòng)風(fēng)格的系統(tǒng)往往都是面向?qū)ο蟮?。事件?qū)動(dòng)風(fēng)格實(shí)例事件驅(qū)動(dòng)風(fēng)格實(shí)例:JavaBean系統(tǒng)概述事件從事件源到監(jiān)聽(tīng)者的傳遞是通過(guò)對(duì)目標(biāo)監(jiān)聽(tīng)者對(duì)象的Java方法調(diào)用進(jìn)行的。對(duì)每個(gè)明確的事件的發(fā)生,都相應(yīng)地定義一個(gè)明確的Java方法。這些方法都集中定義在事件監(jiān)聽(tīng)者(EventListener)接口中,這個(gè)接口要繼承java.util.EventListener。事件驅(qū)動(dòng)風(fēng)格實(shí)例JavaBean系統(tǒng)(續(xù))事件狀態(tài)對(duì)象與事件發(fā)生有關(guān)的狀態(tài)信息一般都封裝在一個(gè)事件狀態(tài)對(duì)象中,這種對(duì)象是java.util.EventObject的子類。按設(shè)計(jì)習(xí)慣,這種事件狀態(tài)對(duì)象類的名應(yīng)以Event結(jié)尾。事件驅(qū)動(dòng)風(fēng)格實(shí)例JavaBean系統(tǒng)(續(xù))事件監(jiān)聽(tīng)者接口(EventListenerInterface)與事件監(jiān)聽(tīng)者由于Java事件模型是基于方法調(diào)用,因而需要一個(gè)定義并組織事件操縱方法的方式。JavaBean中,事件操縱方法都被定義在繼承了java.util.EventListener類的EventListener接口中,按規(guī)定,EventListener接口的命名要以Listener結(jié)尾。任何一個(gè)類如果想操縱在EventListener接口中定義的方法都必須以實(shí)現(xiàn)這個(gè)接口方式進(jìn)行。這個(gè)類也就是事件監(jiān)聽(tīng)者。事件驅(qū)動(dòng)風(fēng)格實(shí)例JavaBean系統(tǒng)(續(xù))事件監(jiān)聽(tīng)者的注冊(cè)與注銷為了各種可能的事件監(jiān)聽(tīng)者把自己注冊(cè)入合適的事件源中,建立源與事件監(jiān)聽(tīng)者間的事件流,事件源必須為事件監(jiān)聽(tīng)者提供注冊(cè)和注銷的方法。在前面的bound屬性介紹中已看到了這種使用過(guò)程,在實(shí)際中,事件監(jiān)聽(tīng)者的注冊(cè)和注銷要使用標(biāo)準(zhǔn)的設(shè)計(jì)格式:publicvoidadd<ListenerType>(<ListenerType>listener)publicvoidremove<ListenerType>(<ListenerType>listener)事件驅(qū)動(dòng)風(fēng)格實(shí)例適配類適配類是JavaBean事件模型中極其重要的一部分。在一些應(yīng)用場(chǎng)合,事件從源到監(jiān)聽(tīng)者之間的傳遞要通過(guò)適配類來(lái)“轉(zhuǎn)發(fā)”。適配類成為了事件監(jiān)聽(tīng)者,事件源實(shí)際是把適配類作為監(jiān)聽(tīng)者注冊(cè)入監(jiān)聽(tīng)者隊(duì)列中,而真正的事件響應(yīng)者并未在監(jiān)聽(tīng)者隊(duì)列中,事件響應(yīng)者應(yīng)做的動(dòng)作由適配類決定。事件驅(qū)動(dòng)風(fēng)格實(shí)例TurboVisionBorland公司開(kāi)發(fā)的TurboPascal6.0中提供了一種面向?qū)ο蟮氖录?qū)動(dòng)程序設(shè)計(jì)的工具包TurboVision。TurboVision把各種屏幕上的可見(jiàn)對(duì)象歸納為2大類:一類為執(zhí)行對(duì)象,另一類為管理對(duì)象,分別稱為T(mén)View和TGroup類對(duì)象。又因?yàn)門(mén)Group和TView類有相同之處,故TGroup是從TView派生而得,在TurboVision中,TGroup類的對(duì)象一般不進(jìn)行實(shí)際操作,不直接在屏幕上顯示自己,而是通過(guò)自己的下屬顯示自己,所有的實(shí)際操作都是通過(guò)TView類對(duì)象進(jìn)行的。

事件驅(qū)動(dòng)風(fēng)格實(shí)例TurboVision很好地體現(xiàn)了面向?qū)ο蠓椒ê褪录?qū)動(dòng)程序設(shè)計(jì)方法的精髓,TApplication是一個(gè)可以運(yùn)行的交互式程序?qū)ο?,除了啟?dòng)和退出之外,它不提供任何功能,使用TurboVision,就能高效和快速地開(kāi)發(fā)出高質(zhì)量地應(yīng)用程序。事件驅(qū)動(dòng)風(fēng)格實(shí)例TurboVision

TurboVision軟件包中對(duì)象的分類結(jié)構(gòu)如圖所示:TurboVision中對(duì)象的分類結(jié)構(gòu)事件驅(qū)動(dòng)風(fēng)格實(shí)例TurboVision

TurboVision對(duì)象的組裝結(jié)構(gòu)一般說(shuō)來(lái),TApplication對(duì)象擁有并管理它創(chuàng)建的3個(gè)子對(duì)象TMenuBar,TDeskTop和TStatusLine,如圖所示.

TurboVision的組裝結(jié)構(gòu)事件驅(qū)動(dòng)風(fēng)格實(shí)例TurboVision在程序的實(shí)際運(yùn)行中,Application對(duì)象通常創(chuàng)建各種TWindow類和Tdialog類對(duì)象,并委托DeskTop代為管理.因此,DeskTop對(duì)象的組裝常常隨程序的運(yùn)行而改變.窗口對(duì)象(Twindow類)和對(duì)話框?qū)ο?Toialog類)隨應(yīng)用的不同而不同,典型的窗口和對(duì)話框?qū)ο蟮慕M裝結(jié)構(gòu)如圖所示.窗口和對(duì)話框?qū)ο蟮慕M裝結(jié)構(gòu)事件驅(qū)動(dòng)風(fēng)格實(shí)例TurboVision

TurboVision把事件抽象為3種類型的事件:位置事件、聚焦事件和廣播事件。典型的位置事件是鼠標(biāo)器事件,TGroup類視圖把位置事件交給管理該區(qū)域的子視圖;典型的聚焦事件是擊鍵和命令事件(典型的命令事件是由狀態(tài)行或菜單條、下拉菜單將擊鍵事件或鼠標(biāo)器事件轉(zhuǎn)換而得),TGroup類視圖把該事件交給處于聚焦?fàn)顟B(tài)的下級(jí)視圖;廣播事件是管理視圖不知道該交給誰(shuí)的那種事件,對(duì)于這種事件,它將該事件交給所有的視圖。TurboVision程序在運(yùn)行時(shí),由TApplication對(duì)象收集鼠標(biāo)器事件和健盤(pán)事件以及各種其它事件,然后按一定的規(guī)則交給下屬去處理.例如,對(duì)于鼠標(biāo)器事件,如果它發(fā)生在菜單條上,則將它交給菜單條來(lái)處理;如果它發(fā)生在狀態(tài)行,則將它交給狀態(tài)行來(lái)處理;如果它發(fā)生在DeskTop上,則將它交給DeskTop來(lái)處理??傊?,細(xì)節(jié)問(wèn)題總是交給下屬來(lái)處理.狀態(tài)行和菜單條的任務(wù)是將鍵盤(pán)事件和自己轄區(qū)的鼠標(biāo)器事件轉(zhuǎn)換成為命令事件,再上交給TApplication。分層風(fēng)格特征一個(gè)分層系統(tǒng)采用層次化的組織方式構(gòu)建,系統(tǒng)中的每一層都要承擔(dān)兩個(gè)角色。首先,它要為結(jié)構(gòu)中的上層提供服務(wù);其次,它要作為結(jié)構(gòu)中下面層次的客戶,調(diào)用下層提供的功能函數(shù)。分層風(fēng)格特征一個(gè)概念上的分層模型如下圖所示:分層風(fēng)格優(yōu)點(diǎn)分層風(fēng)格具有一些系統(tǒng)設(shè)計(jì)者無(wú)法抗拒的優(yōu)勢(shì):分層風(fēng)格支持系統(tǒng)設(shè)計(jì)過(guò)程中的逐級(jí)抽象基于分層風(fēng)格的系統(tǒng)具有較好的可擴(kuò)展性分層風(fēng)格支持軟件復(fù)用分層風(fēng)格不足并不是所有的系統(tǒng)都適合用分層風(fēng)格來(lái)描述的對(duì)于抽象出來(lái)的功能具體應(yīng)該放在哪個(gè)層次上也是設(shè)計(jì)者頭疼的一個(gè)問(wèn)題分層風(fēng)格實(shí)例分層風(fēng)格實(shí)例:計(jì)算機(jī)網(wǎng)絡(luò)的設(shè)計(jì)概述網(wǎng)絡(luò)協(xié)議設(shè)計(jì)者將計(jì)算機(jī)網(wǎng)絡(luò)中的各個(gè)部分按其功能劃分為若干個(gè)層次(Layer),其中的每一個(gè)層次都可以看成是一個(gè)相對(duì)獨(dú)立的黑箱、一個(gè)封閉的系統(tǒng)。用戶只關(guān)心每一層的外部特性,只需要定義每一層的輸入、數(shù)據(jù)處理和輸出等外部特性。分層風(fēng)格實(shí)例ISO/OSI網(wǎng)絡(luò)體系結(jié)構(gòu)ISO/OSI采用了7層體系結(jié)構(gòu),從高到低分別是:應(yīng)用層、表示層、會(huì)話層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層,如圖所示。其最高層為第7層應(yīng)用層,用于同應(yīng)用服務(wù)之間交換數(shù)據(jù);最低層為第1層物理層,用于連接物理傳輸介質(zhì)實(shí)現(xiàn)真正的數(shù)據(jù)通信。層與層之間的聯(lián)系是通過(guò)各層之間的接口來(lái)實(shí)現(xiàn)的,上層通過(guò)接口向下層提出服務(wù)請(qǐng)求,而下層通過(guò)接口向上層提供服務(wù)。兩臺(tái)計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)進(jìn)行通信時(shí),只有兩物理層之間能夠通過(guò)媒體進(jìn)行真正的數(shù)據(jù)通信,其余各對(duì)等層之間均不存在直接的通信關(guān)系,各對(duì)等層之間只能通過(guò)各對(duì)等層的協(xié)議來(lái)進(jìn)行虛擬通信。ISO/OSI網(wǎng)絡(luò)體系結(jié)構(gòu)分層風(fēng)格實(shí)例ISO/OSI網(wǎng)絡(luò)體系結(jié)構(gòu)分層風(fēng)格實(shí)例ISO/OSI網(wǎng)絡(luò)體系結(jié)構(gòu)為了理解ISO/OSI各層的功能,以運(yùn)輸公司進(jìn)行貨物運(yùn)輸為例來(lái)進(jìn)行說(shuō)明,也就是利用人們熟知的東西來(lái)理解陌生抽象的概念。其中,第1~3層3個(gè)層次相當(dāng)于由運(yùn)輸公司負(fù)責(zé)的貨物運(yùn)輸過(guò)程中的具體細(xì)節(jié)、具體操作方式;第4層相當(dāng)于運(yùn)輸公司與用戶之間的接口;第5~7層3個(gè)層次相當(dāng)于由用戶公司負(fù)責(zé)的將貨物交去運(yùn)輸所需要做的準(zhǔn)備工作。第1層是物理層(PhysicalLayer),它負(fù)責(zé)在物理信道上傳輸原始的數(shù)據(jù)bit流。它應(yīng)該提供為建立、維護(hù)和拆除物理鏈路連接所需的機(jī)械的、電氣的、功能和規(guī)程的特性,這類似于運(yùn)輸車輛只需要負(fù)責(zé)將裝在車輛內(nèi)的貨物(類似于bits)運(yùn)送到某地就行了。分層風(fēng)格實(shí)例第2層是數(shù)據(jù)鏈路層(DataLinkLayer),它的主要功能是糾錯(cuò)和流量控制,負(fù)責(zé)在可能出現(xiàn)差錯(cuò)的物理線路中實(shí)現(xiàn)無(wú)差錯(cuò)的數(shù)據(jù)傳送。它應(yīng)該在物理層的基礎(chǔ)上,建立相鄰結(jié)點(diǎn)之間的數(shù)據(jù)鏈路,通過(guò)差錯(cuò)控制提供數(shù)據(jù)幀(Frame)的無(wú)差錯(cuò)傳輸,并進(jìn)行數(shù)據(jù)流量控制。這類似于運(yùn)輸公司的運(yùn)輸管理和質(zhì)量監(jiān)督部門(mén),需要負(fù)責(zé)在可能出現(xiàn)問(wèn)題的運(yùn)輸線路之中保質(zhì)保量地完成運(yùn)輸任務(wù)。分層風(fēng)格實(shí)例

第3層是網(wǎng)絡(luò)層(NetworkLayer),它的主要功能是路由控制(找路)、擁塞控制和數(shù)據(jù)打包。它應(yīng)該為其上一層傳輸層的數(shù)據(jù)傳輸提供建立、維護(hù)和終止網(wǎng)絡(luò)連接的手段,把上層傳來(lái)的數(shù)據(jù)分割成一個(gè)一個(gè)的數(shù)據(jù)包(Packet,也叫報(bào)文分組)在結(jié)點(diǎn)之間進(jìn)行交換傳送,并且負(fù)責(zé)路由控制和擁塞控制。這類似于運(yùn)輸公司需要將用戶發(fā)送的貨物進(jìn)行分割打包,并在現(xiàn)有的交通網(wǎng)絡(luò)之中負(fù)責(zé)找出一條從源地址到目的地址的線路(即找路),在找路時(shí)需要考慮到能否到達(dá)、擁塞狀況、安全可靠性、甚至交通費(fèi)用等諸多方面的因素。分層風(fēng)格實(shí)例第4層是傳輸層(TransportLayer),它的主要功能是在上層和下層之間起到一種接口的功能。它應(yīng)該為上層提供端到端(最終用戶到最終用戶)、的透明的、可靠的數(shù)據(jù)傳輸服務(wù)。所謂透明的傳輸是指在通信過(guò)程中上層可以將下面各層看作是一個(gè)封閉的黑箱系統(tǒng),傳輸層對(duì)上層屏蔽了傳輸系統(tǒng)的具體細(xì)節(jié)。這類似于運(yùn)輸公司在各個(gè)地方設(shè)置的業(yè)務(wù)接洽處,它負(fù)責(zé)在用戶和公司之間建立起一個(gè)貨物交接的橋梁,使得用戶不用去管運(yùn)輸公司將以什么樣的方式將貨物運(yùn)送到目的地,也就是說(shuō)業(yè)務(wù)接洽處對(duì)用戶屏蔽了貨物運(yùn)輸中的具體細(xì)節(jié)。分層風(fēng)格實(shí)例第5層是會(huì)話層(SessionLayer),它的主要功能是負(fù)責(zé)收發(fā)數(shù)據(jù)的交接工作、并組織和管理數(shù)據(jù)。它應(yīng)該為表示層提供建立、維護(hù)和結(jié)束會(huì)話連接的功能,并提供會(huì)話管理服務(wù)。這類似于用戶公司的貨物收發(fā)室,它負(fù)責(zé)與運(yùn)輸公司打交道,完成用戶公司貨物的收發(fā)的交接工作、并組織管理公司內(nèi)部要收發(fā)的貨物。分層風(fēng)格實(shí)例第6層是表示層(PresentationLayer),它的主要功能是為數(shù)據(jù)提供收發(fā)、存放的具體格式和規(guī)范。它應(yīng)該為應(yīng)用層提供信息表示方式的服務(wù),如數(shù)據(jù)格式的變換、文本壓縮、加密技術(shù)等。這類似于用戶公司的貨物收發(fā)員,它負(fù)責(zé)與用戶公司內(nèi)部要收發(fā)貨物的部門(mén)或個(gè)人打交道,在收集要發(fā)送的貨物時(shí)告訴用戶應(yīng)該怎樣填寫(xiě)發(fā)貨資料,在向用戶發(fā)放貨物時(shí)告訴用戶應(yīng)該完清哪些具體手續(xù),等等。分層風(fēng)格實(shí)例第7層是應(yīng)用層(ApplicationLayer),它的主要功能是為數(shù)據(jù)提供各種可行的收發(fā)方式。它應(yīng)該為網(wǎng)絡(luò)用戶或應(yīng)用程序提供各種應(yīng)用服務(wù),如文件傳輸、電子郵件(E-mail)、分布式數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)管理等。這類似于用戶公司內(nèi)部的部門(mén)或個(gè)人在收發(fā)貨物時(shí),都必須遵循用戶公司內(nèi)部的有關(guān)規(guī)定,只能使用用戶公司所允許的方式來(lái)收發(fā)貨物。從另一方面來(lái)說(shuō),用戶公司也要為公司內(nèi)部的部門(mén)或個(gè)人收發(fā)貨物提供各種可行的收發(fā)方式,讓用戶公司內(nèi)部的部門(mén)或個(gè)人知道他們能夠使用哪些方式來(lái)收發(fā)貨物。分層風(fēng)格ISO/OSI層次分組關(guān)系:有兩種分組方法I第一種可以從數(shù)據(jù)處理分工的角度,將ISO/OSI七個(gè)層次分為三組:第1、2層解決有關(guān)網(wǎng)絡(luò)信道問(wèn)題;第3、4層解決傳輸服務(wù)問(wèn)題;第5、6、7層則處理對(duì)應(yīng)用進(jìn)程的訪問(wèn)。從數(shù)據(jù)傳輸控制的角度,將ISO/OSI七個(gè)層次分為三組:下三層(1、2、3層)可以看作是傳輸控制組,負(fù)責(zé)通信子網(wǎng)的工作,解決網(wǎng)絡(luò)中的通信問(wèn)題;上三層(5、6、7層)為應(yīng)用控制組,負(fù)責(zé)有關(guān)資源子網(wǎng)的工作,解決應(yīng)用進(jìn)程之間的信息轉(zhuǎn)換問(wèn)題;中間層(4層)則為通信子網(wǎng)和資源子網(wǎng)的接口,起到連接傳輸和應(yīng)用的作用。分層風(fēng)格實(shí)例

.Net平臺(tái)也是一個(gè)明顯的分層系統(tǒng):數(shù)據(jù)共享風(fēng)格特征采用數(shù)據(jù)共享風(fēng)格構(gòu)建的系統(tǒng)中通常有兩個(gè)截然不同的功能構(gòu)件;中央數(shù)據(jù)單元構(gòu)件;一些相對(duì)獨(dú)立的構(gòu)件的集合。信息交互方式的差異導(dǎo)致了控制策略的不同。主要的控制策略有兩種,正是依據(jù)這兩種不同的控制策略,基于數(shù)據(jù)共享風(fēng)格的系統(tǒng)被分成兩個(gè)子類:基于傳統(tǒng)數(shù)據(jù)庫(kù)型數(shù)據(jù)共享風(fēng)格的應(yīng)用系統(tǒng)基于黑板型數(shù)據(jù)共享風(fēng)格的應(yīng)用系統(tǒng)數(shù)據(jù)共享風(fēng)格特征黑板型數(shù)據(jù)共享風(fēng)格的示意圖如下圖所示:數(shù)據(jù)共享風(fēng)格一個(gè)典型的黑板型數(shù)據(jù)庫(kù)系統(tǒng)包括以下三個(gè)部分:知識(shí)源:知識(shí)源中包含獨(dú)立的、與應(yīng)用程序相關(guān)的知識(shí),知識(shí)源之間不直接進(jìn)行通訊,它們之間的交互只通過(guò)黑板來(lái)完成。黑板數(shù)據(jù)結(jié)構(gòu):黑板數(shù)據(jù)是按照與應(yīng)用程序相關(guān)的層次來(lái)組織的解決問(wèn)題的數(shù)據(jù),知識(shí)源通過(guò)不斷地改變黑板數(shù)據(jù)來(lái)解決問(wèn)題??刂疲嚎刂仆耆珊诎宓臓顟B(tài)驅(qū)動(dòng),黑板狀態(tài)的改變決定使用的特定知識(shí)。黑板模式對(duì)于無(wú)確定性求解策略的問(wèn)題比較有用,在專家系統(tǒng)中,這種模式應(yīng)用的比較廣泛。

數(shù)據(jù)共享風(fēng)格優(yōu)點(diǎn)解決問(wèn)題的多方法性:對(duì)于一個(gè)專家系統(tǒng),針對(duì)于要解決的問(wèn)題,如果在其領(lǐng)域中沒(méi)有獨(dú)立的方法存在,而且對(duì)解空間的完全搜索也是不可行的,在黑板模式中可以用多種不同的算法來(lái)進(jìn)行試驗(yàn),并且也允許用不同的控制方法。具有可更改性和可維護(hù)性:因?yàn)樵诤诎迥J街忻總€(gè)知識(shí)源是獨(dú)立的,彼此之間的通信通過(guò)黑板來(lái)完成,所以這使整個(gè)系統(tǒng)更具有可更改性和可維護(hù)性。數(shù)據(jù)共享風(fēng)格優(yōu)點(diǎn)有可重用的知識(shí)源:由于每個(gè)知識(shí)源在黑板系統(tǒng)中都是獨(dú)立的,如果知識(shí)源和所基于的黑板系統(tǒng)有理解相同的協(xié)議和數(shù)據(jù),我們就可以重用知識(shí)源。支持容錯(cuò)性和健壯性:在黑板模式中所有的結(jié)果都是假設(shè)的,并且只有那些被數(shù)據(jù)和其它假設(shè)強(qiáng)烈支持的才能夠生存。這對(duì)于噪聲數(shù)據(jù)和不確定的結(jié)論有很強(qiáng)的容錯(cuò)性。數(shù)據(jù)共享風(fēng)格缺點(diǎn)測(cè)試?yán)щy:由于黑板模式的系統(tǒng)有中央數(shù)據(jù)構(gòu)件來(lái)描述系統(tǒng)的體現(xiàn)系統(tǒng)的狀態(tài),所以系統(tǒng)的執(zhí)行沒(méi)有確定的順序,其結(jié)果的可再現(xiàn)性比較差,難于測(cè)試。不能保證有好的求解方案:一個(gè)黑板模式的系統(tǒng)所提供給我們的往往是所解決問(wèn)題的一個(gè)百分比,而不是最佳的解決方案。效率低:黑板模式的系統(tǒng)在拒絕錯(cuò)誤假設(shè)的時(shí)候要承受多余的計(jì)算開(kāi)銷,所以導(dǎo)致效率比較低。數(shù)據(jù)共享風(fēng)格缺點(diǎn)開(kāi)發(fā)成本高:絕大部分黑板模式的系統(tǒng)需要用幾年的時(shí)間來(lái)進(jìn)化,所以開(kāi)發(fā)成本較高。缺少對(duì)并行機(jī)的支持:黑板模式要求黑板上的中心數(shù)據(jù)同步并發(fā)訪問(wèn),所以缺少對(duì)不并行機(jī)的支持。數(shù)據(jù)共享風(fēng)格實(shí)例數(shù)據(jù)共享風(fēng)格實(shí)例:專家系統(tǒng)(ES,ExpertSystem)概述:專家系統(tǒng)實(shí)質(zhì)就是一組程序;從功能上:可定義為“一個(gè)在某領(lǐng)域具有專家水平解題能力的程序系統(tǒng)”,能像領(lǐng)域?qū)<乙粯庸ぷ?,運(yùn)用專家積累的工作經(jīng)驗(yàn)與專門(mén)知識(shí),在很短時(shí)間內(nèi)對(duì)問(wèn)題得出高水平的解答。從結(jié)構(gòu)上講:可定義為“由一個(gè)專門(mén)領(lǐng)域的知識(shí)庫(kù),以及一個(gè)能獲取和運(yùn)用知識(shí)的機(jī)構(gòu)構(gòu)成的解題程序系統(tǒng)”。數(shù)據(jù)共享風(fēng)格實(shí)例ES一般結(jié)構(gòu)如下圖所示:實(shí)例知識(shí)庫(kù)系統(tǒng)實(shí)例IECRMAS知識(shí)生態(tài)系統(tǒng)

IECRMAS知識(shí)生態(tài)系統(tǒng)的構(gòu)建知識(shí)生態(tài)系統(tǒng)

IECRMAS環(huán)境有機(jī)體知識(shí)生產(chǎn)者

評(píng)估者知識(shí)知識(shí)消費(fèi)者

評(píng)估知識(shí)分解者

AgentAgentCKOKDD評(píng)估者評(píng)估者IECRMAS知識(shí)生態(tài)系統(tǒng)知識(shí)流IECRMAS知識(shí)生態(tài)系統(tǒng)

知識(shí)系統(tǒng)環(huán)境

知識(shí)生產(chǎn)者

知識(shí)消費(fèi)者

知識(shí)分解者

信用評(píng)估知識(shí)庫(kù)的形成IECRMAS知識(shí)生態(tài)系統(tǒng)知識(shí)庫(kù)系統(tǒng)實(shí)例客戶數(shù)據(jù)倉(cāng)交易數(shù)據(jù)倉(cāng)違約數(shù)據(jù)倉(cāng)經(jīng)驗(yàn)教訓(xùn)數(shù)據(jù)倉(cāng)DRM/DWE…信息庫(kù)數(shù)據(jù)庫(kù)知識(shí)庫(kù)知識(shí)Agent信用評(píng)估知識(shí)基IECRMAPS知識(shí)生態(tài)系統(tǒng)中知識(shí)流動(dòng)評(píng)估

Agent

評(píng)估

Agent

評(píng)估

Agent

識(shí)

知識(shí)

Agent

管理

Agent

檢索

評(píng)估系統(tǒng)知識(shí)基

更新

傳遞

傳遞

傳遞

學(xué)習(xí)

學(xué)習(xí)

學(xué)習(xí)

客戶

Agent

更新

更新

檢索

數(shù)據(jù)庫(kù)信息庫(kù)知識(shí)庫(kù)外部知識(shí)協(xié)作交流IECRMAS知識(shí)生態(tài)系統(tǒng)個(gè)體知識(shí)進(jìn)化圖評(píng)估Agent

學(xué)習(xí)

外部知識(shí)輸入

知識(shí)輸出

個(gè)體知識(shí)含量

KAS

UPS

CES

知識(shí)Agent

知識(shí)貢獻(xiàn)IECRMAS知識(shí)生態(tài)系統(tǒng)解釋器風(fēng)格特征基于解釋器風(fēng)格的系統(tǒng)核心在于虛擬機(jī)。一個(gè)基于解釋器風(fēng)格的系統(tǒng)通常包括:正在被解釋執(zhí)行的偽碼和解釋引擎;偽碼:由需要被解釋執(zhí)行的源代碼和解釋引擎分析所得的中間代碼組成;解釋引擎包括:語(yǔ)法解釋器和解釋器當(dāng)前的運(yùn)行狀態(tài)解釋器風(fēng)格特征解釋器風(fēng)格示意圖如下圖所示:解釋器風(fēng)格優(yōu)點(diǎn)在文法規(guī)則比較簡(jiǎn)單的情況下,解釋器風(fēng)格工作的很好;易于改變和擴(kuò)展文法。因?yàn)榻忉屍黠L(fēng)格使用類來(lái)表示文法規(guī)則,用戶可以使用繼承來(lái)改變和擴(kuò)展文法。已有的表達(dá)式可以采用增量的方式逐漸擴(kuò)充,而新的表達(dá)式可以定義為舊表達(dá)式的變體;易于實(shí)現(xiàn)文法??梢杂枚喾N操作來(lái)“解釋”一個(gè)句子。解釋器風(fēng)格缺點(diǎn)無(wú)法解釋復(fù)雜的文法規(guī)則:對(duì)于比較簡(jiǎn)單的文法規(guī)則,解釋器風(fēng)格工作的很好,而對(duì)于復(fù)雜的文法規(guī)則,則由于文法層次的龐大而難于管理;應(yīng)用范圍比較狹窄;在文法規(guī)則比較復(fù)雜,則文法的層次變得無(wú)法管理,系統(tǒng)中需要包含許多表示文法規(guī)則的類。解釋器風(fēng)格實(shí)例解釋器風(fēng)格實(shí)例:一個(gè)布爾表達(dá)式解釋器目標(biāo):布爾表達(dá)式求值系統(tǒng)現(xiàn)定義由如下文法定義的布爾正則表達(dá)式編譯器(1)系統(tǒng)的體系結(jié)構(gòu)可以隨技術(shù)的發(fā)展而發(fā)生變化傳統(tǒng)的編譯器模型具有共享符號(hào)表的傳統(tǒng)編譯器模型編譯器(2)隨著時(shí)間的推移,編譯技術(shù)變得更加復(fù)雜,更多的注意力轉(zhuǎn)移到程序在編譯過(guò)程的中間表示,例如屬性文法樹(shù)典型的現(xiàn)代編譯器模型解釋器風(fēng)格實(shí)例布爾表達(dá)式求值系統(tǒng)類圖,如下圖所示:解釋器風(fēng)格示例布爾表達(dá)式抽象語(yǔ)法樹(shù)實(shí)例,如下圖所示:解釋器風(fēng)格實(shí)例布爾表達(dá)式求值系統(tǒng)的優(yōu)缺點(diǎn):在文法規(guī)則比較簡(jiǎn)單的情況下,解釋器風(fēng)格工作的很好,但如果文法規(guī)則復(fù)雜,則文法的層次變得龐大而無(wú)法管理,系統(tǒng)中需要包含許多表示文法規(guī)則的類。最高效的解釋器通常不是通過(guò)直接解釋語(yǔ)法分析數(shù)實(shí)現(xiàn)的,而是首先將它們轉(zhuǎn)換成另一種形式。易于改變和擴(kuò)展文法。易于實(shí)現(xiàn)文法。解釋器風(fēng)格實(shí)例布爾表達(dá)式求值系統(tǒng)中的角色:BooleanExpression(抽象布爾表達(dá)式)TerminalExpression(終結(jié)符表達(dá)式,如VariableExpresssion和Constant)NonterminalExpression(非終結(jié)符表達(dá)式,如AndExpression、OrExpression和NotExpression)Context(上下文,也就是“解釋引擎內(nèi)部狀態(tài)”)Client(客戶)解釋器風(fēng)格實(shí)例布爾表達(dá)式求值系統(tǒng)的實(shí)現(xiàn)在具體實(shí)現(xiàn)布爾表達(dá)式求值系統(tǒng)時(shí)還有許多細(xì)節(jié)的問(wèn)題要處理,這些細(xì)節(jié)問(wèn)題處理的好壞甚至?xí)苯佑绊懻麄€(gè)系統(tǒng)的性能。這些問(wèn)題主要表現(xiàn)在以下幾個(gè)方面:創(chuàng)建抽象語(yǔ)法樹(shù)定義求值操作共享終結(jié)符解釋器風(fēng)格示例解釋器風(fēng)格定義了特定語(yǔ)言的文法表示和解釋該文法的解釋器。這種模式如同樂(lè)譜。其中,音階和它的持續(xù)時(shí)間可以用五線譜上的符號(hào)表示。這些符號(hào)就是音樂(lè)語(yǔ)言。音樂(lè)家按照樂(lè)譜演奏,就可以反復(fù)重現(xiàn)同樣的音樂(lè)。解釋器實(shí)例使用音樂(lè)例子的解釋器風(fēng)格對(duì)象圖解釋器實(shí)例羅馬數(shù)字轉(zhuǎn)換系統(tǒng)解釋器實(shí)例AbstractExpression

(Expression)聲明執(zhí)行特定操作的接口。TerminalExpression

(ThousandExpression,HundredExpression,TenExpression,OneExpression)實(shí)現(xiàn)一個(gè)與語(yǔ)法中終結(jié)符相關(guān)的解釋操作。句子中的每一個(gè)終結(jié)符都需要一個(gè)實(shí)例。NonterminalExpression

語(yǔ)法中的每個(gè)規(guī)則R::=R1R2...Rn都需要這樣的一個(gè)類。管理從R1到Rn每一個(gè)符號(hào)的AbstractExpression類型變量的實(shí)例。實(shí)現(xiàn)語(yǔ)法中非終結(jié)符的解釋操作,在解釋中可能需要遞歸調(diào)用自身。Context

(Context)包含對(duì)于解釋器來(lái)說(shuō)是全局的信息。Client

(InterpreterApp)建立(或者給定)一個(gè)抽象語(yǔ)法樹(shù)。抽象語(yǔ)法樹(shù)是由NonterminalExpression和TerminalExpression類的實(shí)例組合而成。調(diào)用解釋操作。程序源碼反饋控制環(huán)風(fēng)格概述所謂對(duì)一個(gè)對(duì)象(或過(guò)程)進(jìn)行控制,意味著設(shè)法使這個(gè)被控對(duì)象(或被控過(guò)程)的功能或特性有效的達(dá)到所期望的目標(biāo)。為了成功設(shè)計(jì)一個(gè)控制系統(tǒng),必須事先知道被控對(duì)象所具有的性質(zhì)和特征,同時(shí)還須了解和掌握這些性質(zhì)和特征隨環(huán)境等因素變化的情況。反饋控制環(huán)風(fēng)格控制工程是一個(gè)十分強(qiáng)調(diào)方法論的專業(yè)領(lǐng)域,因此控制工程方法完全是獨(dú)立于各種應(yīng)用領(lǐng)域的。為了將過(guò)程控制方法從單純的控制領(lǐng)域中抽象出來(lái),我們引入了動(dòng)態(tài)系統(tǒng)的概念。反饋控制環(huán)風(fēng)格動(dòng)態(tài)系統(tǒng)表示信號(hào)處理和傳輸?shù)囊粋€(gè)功能單元(例如:信號(hào)可以是能量、材料、信息、資金及其他形式),其中系統(tǒng)的起因和由此引起的時(shí)間上的效果分別作為系統(tǒng)的輸入量和輸出量來(lái)考慮。如此定義的系統(tǒng)具有共同的特征,即在其中一定存在有目標(biāo)的作用、信息處理、閉環(huán)和開(kāi)環(huán)控制過(guò)程,正如N.Wiener所提出的,以上概念可以用控制論這個(gè)更高級(jí)的概念來(lái)總結(jié)??刂普撘部梢詰?yīng)用于軟件體系結(jié)構(gòu)的創(chuàng)建。反饋控制環(huán)風(fēng)格描述手段根據(jù)上述的動(dòng)態(tài)系統(tǒng)的定義,在系統(tǒng)中必然存在信號(hào)的處理和傳輸。這時(shí)系統(tǒng)也可描述為傳輸環(huán)節(jié)或傳輸系統(tǒng)。傳輸環(huán)節(jié)具有唯一的作用方向,這由輸入、輸出信號(hào)的箭頭方向給出。單變量系統(tǒng)如下圖所示:

反饋控制環(huán)風(fēng)格描述手段多變量系統(tǒng)如下圖所示:反饋控制環(huán)風(fēng)格描述手段除了用方框圖來(lái)表達(dá)動(dòng)態(tài)系統(tǒng)以外,還可以用信號(hào)流圖,如下圖所示:反饋控制環(huán)風(fēng)格開(kāi)環(huán)與閉環(huán)控制一般的動(dòng)態(tài)系統(tǒng)描述框圖可以分為開(kāi)環(huán)控制和閉環(huán)控制系統(tǒng),但在實(shí)際應(yīng)用中這兩種不同的動(dòng)態(tài)系統(tǒng)往往很容易混淆在一起,對(duì)它們之間的區(qū)別強(qiáng)調(diào)的不夠?,F(xiàn)在通過(guò)一個(gè)市內(nèi)暖氣系統(tǒng)來(lái)指出這兩者之間的不同和相同之處。反饋控制環(huán)風(fēng)格開(kāi)環(huán)與閉環(huán)控制開(kāi)環(huán)控制圖如下圖所示:反饋控制環(huán)風(fēng)格開(kāi)環(huán)與閉環(huán)控制閉環(huán)控制圖如下圖所示:反饋控制環(huán)風(fēng)格開(kāi)環(huán)與閉環(huán)控制開(kāi)環(huán)控制和閉環(huán)控制的差別:閉環(huán)控制:表示一個(gè)閉合的作用過(guò)程,(控制回環(huán));根據(jù)閉環(huán)作用原理可增加抗干擾性(負(fù)反饋);可能不穩(wěn)定,也即被控量不再衰減,而是增長(zhǎng)到無(wú)窮大(理論上)。反饋控制環(huán)風(fēng)格開(kāi)環(huán)與閉環(huán)控制開(kāi)環(huán)控制和閉環(huán)控制的差別(續(xù)):開(kāi)環(huán)控制表示一個(gè)開(kāi)放的作用過(guò)程(控制序列);只能對(duì)抗指定由其處理的干擾,對(duì)于其他一些干擾因素?zé)o法消除;只要被控制對(duì)象自己保持穩(wěn)定,整個(gè)開(kāi)環(huán)控制系統(tǒng)也就保持穩(wěn)定。反饋控制環(huán)風(fēng)格基本結(jié)構(gòu)以閉環(huán)控制系統(tǒng)為例分析過(guò)程控制環(huán)的基本結(jié)構(gòu);一個(gè)自動(dòng)控制系統(tǒng)包括如下4個(gè)主要組成部分:被控對(duì)象、測(cè)量環(huán)節(jié)、調(diào)節(jié)器和執(zhí)行環(huán)節(jié),如下圖所示:反饋控制環(huán)風(fēng)格-自適應(yīng)自適應(yīng)反饋控制環(huán)需要包括以下3方面的工作:辨識(shí)被控對(duì)象的特征;在辨識(shí)的基礎(chǔ)上作出控制決策;在決策的基礎(chǔ)上實(shí)施修正動(dòng)作.按照構(gòu)成自適應(yīng)控制環(huán)的目的的不同可將其分為兩種類型:參數(shù)自適應(yīng)控制環(huán);性能自適應(yīng)控制環(huán);反饋控制環(huán)風(fēng)格-自適應(yīng)反饋控制環(huán)參數(shù)自適應(yīng)控制環(huán)參數(shù)自適應(yīng)控制環(huán)如下圖所示:反饋控制環(huán)風(fēng)格-自適應(yīng)反饋控制環(huán)性能自適應(yīng)控制環(huán)性能自適應(yīng)控制環(huán)如下圖所示:反饋控制環(huán)風(fēng)格-自適應(yīng)反饋控制環(huán)在性能自適應(yīng)控制環(huán)中,最典型的代表就是所謂模型參考自適應(yīng)控制系統(tǒng)。模型參考自適應(yīng)控制系統(tǒng)按照其控制方式又可分為兩種A.直接法B.間接法反饋控制環(huán)風(fēng)格-自適應(yīng)反饋控制環(huán)直接法模型如下圖所示:間接法模型如下圖所示:反饋控制環(huán)風(fēng)格實(shí)例鋼鐵燒結(jié)工藝控制體系結(jié)構(gòu)

控制系統(tǒng)組成如下圖所示。燒結(jié)機(jī)過(guò)程控制系統(tǒng)采用兩套Quantum控制器,共配置600路模擬量輸入輸出點(diǎn),分別實(shí)現(xiàn)對(duì)配混料工序、燒結(jié)工序的全生產(chǎn)過(guò)程控制。配混系統(tǒng)下設(shè)3個(gè)遠(yuǎn)程站,燒結(jié)系統(tǒng)下設(shè)5個(gè)遠(yuǎn)程站。整個(gè)系統(tǒng)主要由以太網(wǎng)、MB+網(wǎng)和遠(yuǎn)程I/O網(wǎng)構(gòu)成。遠(yuǎn)程I/O網(wǎng)是一個(gè)高速(1.544Mb/s)局域網(wǎng)絡(luò),傳輸介質(zhì)采用同軸電纜,在本系統(tǒng)中采用介質(zhì)冗余的方式,當(dāng)一個(gè)通道有通信故障時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)到另一通道,確保了PLC與遠(yuǎn)程I/O之間數(shù)據(jù)采集與控制的正常運(yùn)行。系統(tǒng)簡(jiǎn)介:反饋控制環(huán)風(fēng)格實(shí)例鋼鐵燒結(jié)工藝控制體系結(jié)構(gòu)打印機(jī)服務(wù)器工作站1工作站N交換機(jī)以太網(wǎng)Quantum系列Quantum系列遠(yuǎn)程I/O遠(yuǎn)程I/OMB+網(wǎng)控制系統(tǒng)組成反饋控制環(huán)風(fēng)格實(shí)例鋼鐵燒結(jié)工藝控制體系結(jié)構(gòu) 下面,我們主要介紹混合料水控制和點(diǎn)火溫度控制。系統(tǒng)主要功能:自動(dòng)配料控制混合料水分控制點(diǎn)火溫度控制混合料總量控制生產(chǎn)中固體燃料的消耗控制自動(dòng)布料控制等功能。反饋控制環(huán)風(fēng)格實(shí)例鋼鐵燒結(jié)工藝控制體系結(jié)構(gòu)

混合料水分的自動(dòng)控制:

通過(guò)實(shí)時(shí)跟蹤混合料中各種原料的重量,計(jì)算其干重和濕重。根據(jù)物料平衡原理調(diào)整混合料中的水含量。在上位機(jī)輸入各種原料的含水量及一混、二混、三混內(nèi)的目標(biāo)水分,系統(tǒng)即可根據(jù)流量自動(dòng)調(diào)節(jié)混合料的含水量。一混、二混、三混內(nèi)自動(dòng)給水系統(tǒng)構(gòu)成相同,由電磁流量計(jì)、電動(dòng)調(diào)節(jié)閥、快中子水分計(jì)等檢測(cè)設(shè)備組成,與PLC一起實(shí)現(xiàn)混合料加水系統(tǒng)的前饋控制與反饋控制及串級(jí)控制相結(jié)合的控制方法。實(shí)現(xiàn)加水流量的閉環(huán)控制,控制混合料的含水量??刂圃砣缦聢D所示。反饋控制環(huán)風(fēng)格實(shí)例鋼鐵燒結(jié)工藝控制體系結(jié)構(gòu)實(shí)際水分-測(cè)量變送器混合料水分控制原理主PID調(diào)節(jié)器副P(pán)ID調(diào)節(jié)器電動(dòng)調(diào)節(jié)閥流量對(duì)象水分對(duì)象測(cè)水儀信號(hào)模型運(yùn)算目標(biāo)水分實(shí)測(cè)水分-反饋控制環(huán)風(fēng)格實(shí)例鋼鐵燒結(jié)工藝控制體系結(jié)構(gòu)

點(diǎn)火溫度自動(dòng)控制:

點(diǎn)火器溫度的穩(wěn)定是保證燒結(jié)礦產(chǎn)品質(zhì)量的重要因素,利用PLC對(duì)點(diǎn)火溫度進(jìn)行實(shí)時(shí)控制,對(duì)提高生產(chǎn)率和燒結(jié)礦質(zhì)量、節(jié)約能源有著積極的意。把熱電偶檢測(cè)到4~20mA標(biāo)準(zhǔn)信號(hào)送入模擬量輸入模塊,在CPU內(nèi)部,將此次采樣值作為過(guò)程值與設(shè)定值進(jìn)行比較計(jì)算,通過(guò)模擬量輸出模塊輸出4~20mA信號(hào),控制執(zhí)行機(jī)構(gòu)動(dòng)作,改變煤氣流量,達(dá)到控制溫度的目的。同時(shí),為保證燃燒的經(jīng)濟(jì)性,煤氣量與空氣量必須按一定比例混合,本系統(tǒng)采用比值控制系統(tǒng),通過(guò)控制煤氣、空氣的流量,使點(diǎn)火溫度保持在一定范圍內(nèi)??刂圃砣缦聢D所示。反饋控制環(huán)風(fēng)格實(shí)例鋼鐵燒結(jié)工藝控制體系結(jié)構(gòu)測(cè)量值-信號(hào)流量點(diǎn)火溫度控制原理溫度調(diào)節(jié)煤氣流量調(diào)節(jié)器電動(dòng)調(diào)節(jié)閥溫度對(duì)象電動(dòng)調(diào)節(jié)閥空氣流量測(cè)量變送器溫度設(shè)定Q(煤氣流量)-溫度測(cè)量變送器煤氣流量測(cè)量變送器比值器空氣流量調(diào)節(jié)器-T(點(diǎn)火溫度)(空氣流量)Q2七種構(gòu)建模式的比較軟件體系結(jié)構(gòu)的七種構(gòu)建模式各有自己的特點(diǎn)、局限、應(yīng)用范圍和優(yōu)缺點(diǎn),比較各種構(gòu)建模式的不同將有助于在實(shí)際的項(xiàng)目開(kāi)發(fā)過(guò)程中選擇適合項(xiàng)目的構(gòu)建模式。七種構(gòu)建模式的比較見(jiàn)下表所示:

七種構(gòu)建模式的比較構(gòu)建模式主要特點(diǎn)主要優(yōu)點(diǎn)主要缺點(diǎn)適合領(lǐng)域說(shuō)明管道-過(guò)濾器風(fēng)格過(guò)濾器相對(duì)獨(dú)立功能模塊復(fù)用;強(qiáng)可維護(hù)性和可擴(kuò)展性;具有并發(fā)性;模塊獨(dú)立性高不適于交互性強(qiáng)的應(yīng)用;對(duì)于存在關(guān)系的數(shù)據(jù)流必須進(jìn)行協(xié)調(diào)系統(tǒng)可劃分清晰的模塊;模塊相對(duì)獨(dú)立;有清晰的模塊接口每個(gè)功能模塊有一組輸入輸出,模塊劃分限制較大。面向?qū)ο箫L(fēng)格力取實(shí)現(xiàn)問(wèn)題空間和軟件系統(tǒng)空間結(jié)構(gòu)的一致性高度模塊性;實(shí)現(xiàn)封裝;代碼共享;靈活;易維護(hù);可擴(kuò)充性好增加了對(duì)象之間的依賴關(guān)系多種領(lǐng)域是現(xiàn)在使用非常多的一種構(gòu)建模式事件驅(qū)動(dòng)風(fēng)格系統(tǒng)由若干子系統(tǒng)構(gòu)成且成為一個(gè)整體;系統(tǒng)有統(tǒng)一的目標(biāo);子系統(tǒng)有主從之分;每一子系統(tǒng)有自己的事件收集和處理機(jī)制適合描寫(xiě)系統(tǒng)組;容易實(shí)現(xiàn)并發(fā)處理和多任務(wù);可擴(kuò)展性好;具有類層次結(jié)構(gòu);簡(jiǎn)化代碼;因?yàn)闃?shù)型結(jié)構(gòu)所以削弱了對(duì)系統(tǒng)計(jì)算的控制能力;各個(gè)對(duì)象的邏輯關(guān)系復(fù)雜一個(gè)系統(tǒng)對(duì)外部的表現(xiàn)可以從它對(duì)事件的處理表征出來(lái)事件驅(qū)動(dòng)系統(tǒng)具有某種意義上的帝歸性,形成了“部分-整體”的層次結(jié)構(gòu)七種構(gòu)建模式的比較構(gòu)建模式主要特點(diǎn)主要優(yōu)點(diǎn)主要缺點(diǎn)適合領(lǐng)域說(shuō)明分層風(fēng)格各個(gè)層次的組件形成不同功能級(jí)別的虛擬機(jī);多層相互協(xié)同工作,而且實(shí)現(xiàn)透明支持系統(tǒng)設(shè)計(jì)過(guò)程中的逐級(jí)抽象;可擴(kuò)展性好;支持軟件復(fù)用不同層次之間耦合度高的系統(tǒng)很難實(shí)現(xiàn)適合功能層次的抽象和相互之間低耦合的系統(tǒng)數(shù)據(jù)共享風(fēng)格采用兩個(gè)常用構(gòu)件中央數(shù)據(jù)單元和一些相對(duì)獨(dú)立的組件集合中央數(shù)據(jù)單元實(shí)現(xiàn)了數(shù)據(jù)的集中,以數(shù)據(jù)為中心適合于特定領(lǐng)域適合于專家系統(tǒng)等人工智能領(lǐng)域問(wèn)題的求解數(shù)據(jù)和處理功能分界明顯,解釋器風(fēng)格系統(tǒng)核心是虛擬機(jī)可以用多種操作來(lái)解釋一個(gè)句子適合于特定領(lǐng)域適合于模式匹配系統(tǒng)和語(yǔ)言編譯器反饋控制環(huán)風(fēng)格通過(guò)不斷地測(cè)量被控對(duì)象,認(rèn)識(shí)和掌控被控對(duì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論