《軟件體系結(jié)構(gòu)》課件 04-以數(shù)據(jù)為中心體系結(jié)構(gòu)風(fēng)格_第1頁
《軟件體系結(jié)構(gòu)》課件 04-以數(shù)據(jù)為中心體系結(jié)構(gòu)風(fēng)格_第2頁
《軟件體系結(jié)構(gòu)》課件 04-以數(shù)據(jù)為中心體系結(jié)構(gòu)風(fēng)格_第3頁
《軟件體系結(jié)構(gòu)》課件 04-以數(shù)據(jù)為中心體系結(jié)構(gòu)風(fēng)格_第4頁
《軟件體系結(jié)構(gòu)》課件 04-以數(shù)據(jù)為中心體系結(jié)構(gòu)風(fēng)格_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格Data-centered

Style軟件體系結(jié)構(gòu)課程組Preview-TaxonomyofStyles2數(shù)據(jù)流批處理管道-過濾器虛擬機解釋器基于規(guī)則的系統(tǒng)調(diào)用-返回主程序-子過程OO分層以數(shù)據(jù)為中心倉庫黑板獨立構(gòu)件事件系統(tǒng)隱式調(diào)用顯式調(diào)用進程通信本節(jié)內(nèi)容數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格1倉庫體系結(jié)構(gòu)風(fēng)格23黑板體系結(jié)構(gòu)風(fēng)格3數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格-注冊表4注冊表(WindowsRegistry)注冊表中存在著系統(tǒng)的所有硬件和軟件配置信息,如啟動信息、用戶、BIOS、各類硬件、網(wǎng)絡(luò)、INI文件、驅(qū)動程序、應(yīng)用程序等;注冊表信息影響或控制系統(tǒng)/應(yīng)用軟件的行為,應(yīng)用軟件安裝/運行/卸載時對其進行添加/修改/刪除信息,以達到改變系統(tǒng)功能和控制軟件運行的目的。5注冊表的結(jié)構(gòu)最初,硬件/軟件系統(tǒng)的配置信息均被各自保存在一個配置文件中(.ini);這些文件散落在系統(tǒng)的各個角落,很難對其進行維護;引入注冊表的思想,將所有.ini文件集中起來,形成共享倉庫,為系統(tǒng)運行起到了集中的資源配置管理和控制調(diào)度的作用。應(yīng)用程序1應(yīng)用程序2硬件樹形注冊表(共享倉庫)App1.iniApp2.iniHardware.ini……數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格-注冊表6剪貼板(Clipboard):一個用來進行短時間的數(shù)據(jù)存儲并在文檔/應(yīng)用之間進行數(shù)據(jù)傳遞和交換的軟件程序

剪貼板當(dāng)前數(shù)據(jù)1應(yīng)用1應(yīng)用2應(yīng)用n復(fù)制讀取復(fù)制讀取復(fù)制讀取當(dāng)前數(shù)據(jù)k…用來存儲帶傳遞和交換信息的公共區(qū)域(形成共享倉庫);不同的應(yīng)用程序通過該區(qū)域交換格式化的信息;訪問剪貼板的方式:copy&paste.數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格-剪貼板7Data-centered

stylearchitecturesinvolveashareddatasourceapproachtoinformationpassing.數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格-定義本節(jié)內(nèi)容數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格1倉庫體系結(jié)構(gòu)風(fēng)格28黑板體系結(jié)構(gòu)風(fēng)格39Arepository

isacentralplacewheredataisstoredandmaintained.(倉庫是存儲和維護數(shù)據(jù)的中心場所)Inarepositorystyletherearetwoquitedistinctkindsofcomponents:Acentraldatastructurerepresentingthecurrentstate;(中心數(shù)據(jù)結(jié)構(gòu),表示當(dāng)前數(shù)據(jù)的狀態(tài))Acollectionofindependentcomponentsoperateonthecentraldatastore.(一組對中心數(shù)據(jù)進行操作的獨立構(gòu)件)倉庫體系結(jié)構(gòu)風(fēng)格-基本概念10Connector:Interactionsbetweentherepositoryanditsexternalcomponents.(連接件:倉庫與獨立構(gòu)件之間的交互)Twomajormechanisms:(存在兩種交互機制)Database:thetypesoftransactionsinaninputstreamtriggerselectionofprocesstoexecute;(數(shù)據(jù)庫方式:輸入流中的事務(wù)類型觸發(fā)需要執(zhí)行的過程)Blackboard:thecurrentstateofthecentraldatastructureisthemaintriggerforselectingprocessestoexecute.(黑板結(jié)構(gòu):中心數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)并選擇需要執(zhí)行的過程)倉庫體系結(jié)構(gòu)風(fēng)格-基本概念11Problem:Thispatternissuitableforapplicationsinwhichthecentralissueisestablishing,augmenting,andmaintainingacomplexcentralbodyofinformation.典型應(yīng)用場合:Dataprocessing(數(shù)據(jù)處理),drivenprimarilybytheneedtobuildbusinessdecisionsystemsfromconventionaldatabases.Softwaredevelopmentenvironments(軟件開發(fā)環(huán)境),drivenprimarilybytheneedtorepresentandmanipulateprogramsanddesigns.倉庫體系結(jié)構(gòu)風(fēng)格-基本概念12典型應(yīng)用場合:數(shù)據(jù)庫倉庫體系結(jié)構(gòu)風(fēng)格-基本概念13詞法分析語法分析語義分析優(yōu)化機器代碼傳統(tǒng)編譯器結(jié)構(gòu):批處理/管道-過濾器倉庫體系結(jié)構(gòu)風(fēng)格-應(yīng)用實例14傳統(tǒng)帶符號表編譯器結(jié)構(gòu)

很多信息在編譯過程中可能會被多個階段的編譯程序所使用。例如:源程序中使用的名字、每個名字的各種屬性信息(類型、作用域、分配存儲信息等),將這類信息提取出來,形成共享的符號表(SymbolTable)。倉庫體系結(jié)構(gòu)風(fēng)格-應(yīng)用實例1515現(xiàn)代的規(guī)范編譯器結(jié)構(gòu)

隨著程序開發(fā)語言的發(fā)展,源代碼中的算法與表示變得越來越復(fù)雜,編譯過程中的中間結(jié)果的表示變得越來越重要,出現(xiàn)了帶符號表與語法樹(parsetree)的編譯器。倉庫體系結(jié)構(gòu)風(fēng)格-應(yīng)用實例16倉庫形式的編譯器結(jié)構(gòu)符號表與語法樹倉庫體系結(jié)構(gòu)風(fēng)格-應(yīng)用實例17基于倉庫風(fēng)格的軟件研發(fā)環(huán)境倉庫風(fēng)格實例:Eclipse倉庫體系結(jié)構(gòu)風(fēng)格-應(yīng)用實例本節(jié)內(nèi)容數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格1倉庫體系結(jié)構(gòu)風(fēng)格218黑板體系結(jié)構(gòu)風(fēng)格319拼圖游戲ThePuzzleMetaphor黑板體系結(jié)構(gòu)風(fēng)格-從拼圖游戲說起20

20拼圖游戲?qū)⑺械男∑凑辗较蚺帕?。基于圖案特征,局部拼接。處理同色系的小片。找出一邊及兩邊是直線的小片,將四邊組合起來?!羞@樣一類軟件需求問題多種方法都可能解決問題;找不到確定的求解策略;每個求解步驟中都可能產(chǎn)生多個可能的解,需要尋求最佳或可接受解。需要多個領(lǐng)域的專門知識協(xié)作解決。①②②①如何解決此類問題?——黑板體系結(jié)構(gòu)風(fēng)格黑板體系結(jié)構(gòu)風(fēng)格-從拼圖游戲說起21…有這樣一類問題沒有直接的算法,多種方法都可能解決問題;找不到確定的求解策略(先做什么?后做什么?);問題沒有唯一的解答:每個求解步驟中都可能產(chǎn)生多個可能的解,需要尋求最佳或可接受解。需要多個領(lǐng)域的專門知識協(xié)作解決。黑板體系結(jié)構(gòu)風(fēng)格-從拼圖游戲說起例如:自然語言處理、語音處理、模式識別、圖像處理等22如何解決此類問題?一個大問題被分解為若干個子問題;每個子問題的解決需要不同的問題表達方式和求解模型,分別設(shè)計求解程序;每個求解程序具有某一特定領(lǐng)域的知識,可解決某一方面的問題;這些程序是相互獨立的,之間不存在相互調(diào)用,也不存在可事先確定的操作順序;根據(jù)問題求解過程中的狀態(tài)來動態(tài)決定各個專門程序之間的操作順序,它們之間通過協(xié)同工作共同完成整個問題的求解;專門的控制程序負責(zé)根據(jù)問題求解的狀態(tài)來調(diào)用最恰當(dāng)?shù)那蠼獬绦?,從而形成一種隨機性的執(zhí)行次序?!诎弩w系結(jié)構(gòu)黑板體系結(jié)構(gòu)風(fēng)格-從拼圖游戲說起23黑板結(jié)構(gòu)黑板結(jié)構(gòu):中心數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)并選擇需要執(zhí)行的過程黑板體系結(jié)構(gòu)風(fēng)格-基本結(jié)構(gòu)24黑板系統(tǒng)基本結(jié)構(gòu)輸入/解空間求解狀態(tài)

黑板

策略知識/求解知識

知識源監(jiān)視黑板狀態(tài)激活知識源

控制器監(jiān)視讀取/更新激活黑板體系結(jié)構(gòu)風(fēng)格-基本結(jié)構(gòu)25Globaldatabasecontainingentirestateofproblemsolution(全局數(shù)據(jù)庫,用來存儲數(shù)據(jù)、傳遞信息,包含解域的全部狀態(tài))problem-solvingstatedata,organizedintoanapplication-dependenthierarchy.(解決問題過程中的狀態(tài)數(shù)據(jù),以層次形式組織起來)knowledgesourcesmakechangestotheblackboardthatleadincrementallytoasolutiontotheproblem.(知識源對黑板進行修改,逐漸找到問題的解)Onlymeansbywhichknowledgesourcesinteract(各知識源之間的通訊和交互只通過黑板進行)Blackboarddatastructure黑板數(shù)據(jù)結(jié)構(gòu)黑板體系結(jié)構(gòu)風(fēng)格-黑板數(shù)據(jù)結(jié)構(gòu)26Level4將大塊裝配起來Level3構(gòu)造邊上的大塊構(gòu)造內(nèi)部的大塊Level2按邊拼圖按內(nèi)部拼圖Level1將所有的小塊按照方向排列出來基于黑板數(shù)據(jù)結(jié)構(gòu)的拼圖游戲黑板體系結(jié)構(gòu)風(fēng)格-基于黑板數(shù)據(jù)結(jié)構(gòu)的拼圖游戲27待解決的問題被分為若干個子問題,每個子問題由一個獨立的知識源加以計算。知識源包含獨立的領(lǐng)域知識。知識源執(zhí)行計算后會更新黑板里的數(shù)據(jù)狀態(tài)。多個知識源之間只能通過黑板交換知識——通過對黑板的讀寫操作來完成交換。Knowledgesources知識源

知識源是描述某個獨立領(lǐng)域問題的知識及其處理方法的知識庫,其分別存放且相互獨立的,他們通過黑板進行通訊,合作求出問題的解,通常知識源具有“條件-動作”的形式。當(dāng)條件滿足時,知識源被觸發(fā),其動作部分增加或修改黑板上得內(nèi)容。黑板體系結(jié)構(gòu)風(fēng)格-知識源28時刻監(jiān)視黑板狀態(tài)變化對黑板上信息的當(dāng)前狀態(tài)進行判斷和評價當(dāng)黑板的狀態(tài)滿足了知識源的執(zhí)行條件時,該知識源被控制器觸發(fā)并進行計算,然后將結(jié)果更新到黑板上這種更新又導(dǎo)致其他知識源參與計算并更新黑板,直到找到問題解為止Control控制器黑板體系結(jié)構(gòu)風(fēng)格-控制器輸入/解空間求解狀態(tài)

黑板

策略知識/求解知識

知識源監(jiān)視黑板狀態(tài)激活知識源

控制器監(jiān)視讀取/更新激活29Control控制器黑板體系結(jié)構(gòu)風(fēng)格-控制器黑板模型求解問題的推理機構(gòu),由監(jiān)督程序和調(diào)度程序組成;調(diào)度程序選擇最合適的知識源來執(zhí)行,用執(zhí)行結(jié)果修改黑板狀態(tài)。監(jiān)督程序監(jiān)測黑板的狀態(tài)變化;監(jiān)督調(diào)度用來控制和協(xié)調(diào)所有的知識源,使其協(xié)同的解決問題;了解各個知識源的能力,實時決策解決問題的步驟;控制器30黑板:保存求解狀態(tài)知識源:獨立的求解程序控制器:根據(jù)當(dāng)前狀態(tài)決定知識源的執(zhí)行次序知識源對黑板的共享訪問黑板體系結(jié)構(gòu)風(fēng)格31人工智能(ArtificialIntelligence,AI)領(lǐng)域典型應(yīng)用領(lǐng)域:自然語言處理、語音處理、模式識別、圖像處理等;HEARSAY-II(自然語言處理系統(tǒng),系統(tǒng)輸入是自然語言的語音信號,經(jīng)過語音音節(jié)、詞匯、句法和語義分析后,獲得用戶對數(shù)據(jù)庫的查詢請求)HASP/SIAP(在特定海域根據(jù)聲納陣列信號探測敵方潛艇出沒的系統(tǒng))CRYALIS(根據(jù)X射線探測數(shù)據(jù)推測蛋白質(zhì)分子三維結(jié)構(gòu)的系統(tǒng))TRICERO(在分布環(huán)境下監(jiān)視飛機活動的系統(tǒng))黑板體系結(jié)構(gòu)風(fēng)格-應(yīng)用32HearsayIIStructure音節(jié)分割問題重音問題語法問題語義問題…黑板結(jié)構(gòu)是一個六至八層的層次結(jié)構(gòu),每一層都抽象了與之相鄰的較低一層的信息。黑板元素代表了關(guān)于語音解釋的假設(shè)。知識源代表整個問題求解中的獨立的子任務(wù),比如分割原始信號、識別音素、產(chǎn)生候選詞、假定語法片斷、提供語義解釋。每個知識源被組織成條件部分和動作部分,條件部分規(guī)定什么時候知識源可用,動作部分負責(zé)處理相關(guān)的黑板元素并產(chǎn)生新的元素??刂茦?gòu)件作為黑板的監(jiān)控程序和調(diào)度程序;調(diào)度程序負責(zé)監(jiān)控黑板和計算的優(yōu)先次序。黑板體系結(jié)構(gòu)風(fēng)格-HEARSAY-II應(yīng)用實例33ErmanLD,Hayes-RothF,LesserVR,etal.TheHearsay-IISpeech-UnderstandingSystem:IntegratingKnowledgetoResolveUncertainty[J].ACMComputingSurveys,1980,12(2):213-253.黑板體系結(jié)構(gòu)風(fēng)格-HEARSAY-II應(yīng)用實例黑板層次結(jié)構(gòu)知識源數(shù)據(jù)庫接口短語詞序單詞音節(jié)段參數(shù)段生成知識源由垂直弧線表示,帶圓圈的末端表示輸入層,尖端表示輸出層。驗證創(chuàng)建假設(shè)音節(jié)類創(chuàng)建假設(shè)單詞創(chuàng)建假設(shè)詞序解析單詞序列得到明確語義預(yù)測連接停止控制假設(shè)詞序生成數(shù)量控制假設(shè)單詞生成數(shù)量對假設(shè)進行評級34ErmanLD,Hayes-RothF,LesserVR,etal.TheHearsay-IISpeech-UnderstandingSystem:IntegratingKnowledgetoResolveUncertainty[J].ACMComputingSurveys,1980,12(2):213-253.黑板體系結(jié)構(gòu)風(fēng)格-HEARSAY-II應(yīng)用實例050100150200225050100150200225aAREANYBYFEIGENBAUMANDFELDMAN1-1UWAAERAW1ER1AYAEIHEY1EYIHNXEYMOXIH1IYY1B1AWAYAA1IHIYEYAY1FTTHD1AWAYAO1IYEYY1NXEYGHH1EYIHAYAE1NNXEN1B1AWAYAA1AWAAAOAY1OYAAOWAW1MEM1EHAE

AY1NENNX1THF1TFTH1AOAWAA

AY1ELN1B1MEM1OWUHAHAA1ELUWLUH1ENN1EN1-THbcd4IN514NA

溫馨提示

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

評論

0/150

提交評論