專利名稱:用于問題解決和指導(dǎo)的多代理合作體系結(jié)構(gòu)的制作方法
優(yōu)先權(quán)本申請要求申請日為2000年12月22日的美國臨時專利申請No.60/257996的優(yōu)先權(quán)。
背景技術(shù):
本發(fā)明涉及用于指導(dǎo)和問題解決的系統(tǒng),尤其是一用于指導(dǎo)和問題解決的計算機系統(tǒng)的多代理合作體系結(jié)構(gòu)。
為個人提供基于腳本訓(xùn)練的計算機系統(tǒng)已公知。美國專利No.5,597,312(BLOOM et al.)公開了此系統(tǒng)。而且,在醫(yī)學(xué)領(lǐng)域提供計算機輔助指導(dǎo)的系統(tǒng)也已公知。此系統(tǒng)在美國專利No.4,945,476(BODICK et al.)中公開。然而,這些系統(tǒng)不能利用“黑板”計算機系統(tǒng)結(jié)構(gòu)的優(yōu)點。
在計算機系統(tǒng)結(jié)構(gòu)中的單詞“黑板”是從醫(yī)學(xué)外傷領(lǐng)域借用而來,在醫(yī)學(xué)外傷領(lǐng)域,外傷醫(yī)生花長時間診斷并處理到醫(yī)院來的病人。來外傷病房的病人經(jīng)常受嚴重傷害或疾病并需要立即看護。此時,單個醫(yī)生不可能處理整個處理病人的任務(wù)。這是因為每個醫(yī)生是一特殊領(lǐng)域的專家而且沒有任何單個領(lǐng)域足以治療并處理病人。因此,需要醫(yī)生團隊合作才能處理病人。假如醫(yī)生在交流他們的診斷/發(fā)現(xiàn)時,都搶病人并同時開始診斷/發(fā)現(xiàn)或說話,結(jié)果將是混亂的(或缺乏信息有可能導(dǎo)致誤診)。
本發(fā)明用來保持順序的系統(tǒng)將一白色記事帖附加在病人的擔架上,每個醫(yī)生將其診斷/發(fā)現(xiàn)以及建議的檢查和藥方寫在其上,這樣,每個醫(yī)生都能看見其他所有先前醫(yī)生所說及其診斷。由于處理和診斷中存在沖突,這非常重要。而且,在再觀察病人時保持順序也是非常重要(即腦科專家在作出診斷或給出發(fā)現(xiàn)之前需要血壓信息等)。此解決分布式合作問題通常采取的方案適用于具有黑板體系結(jié)構(gòu)的人工智能(AI)領(lǐng)域。
現(xiàn)有技術(shù)中已存在采用黑板體系結(jié)構(gòu)以提供指導(dǎo)和診斷/解決問題的計算機系統(tǒng)。例如,美國專利No.5,448,722(LYNNE et al.)公開了基于計算機采用多電子黑板的診斷系統(tǒng)和診斷模塊。實際上,美國專利No.5,101,362(SIMOUDIS)公開了典型的專家系統(tǒng),包括一知識庫、一工作存儲器,也被稱為“黑板”、以及一控制端口或推理發(fā)動機。Simoudis362專利公開了一種帶有多個知識源并能有效執(zhí)行黑板數(shù)據(jù)操作的專家系統(tǒng)。
然而,以上提到并描述的專利未公開采用在一指導(dǎo)應(yīng)用中采用多代理和黑板的體系結(jié)構(gòu)。因此需要一體系結(jié)構(gòu)在一指導(dǎo)環(huán)境中來提供多代理合作處理的優(yōu)點和益處。尤其是,需要一用于輔助系統(tǒng)采用多代理和黑板的體系結(jié)構(gòu),包括一指導(dǎo)代理、一學(xué)生數(shù)據(jù)庫、一訓(xùn)練/測試數(shù)據(jù)庫和多域從屬代理,其中每個域從屬代理具有一特定領(lǐng)域(域)的專業(yè)知識。
而且,現(xiàn)有的指導(dǎo)系統(tǒng)趨向于信息中心而不是用戶中心。用戶中心系統(tǒng)可調(diào)諧成更適合一特定用戶需求且因此向一用戶提供了更大的信息保留。因此需要一可使一指導(dǎo)系統(tǒng)成為用戶中心的體系結(jié)構(gòu)許多現(xiàn)有系統(tǒng)難以改變和更新。通常系統(tǒng)軟件必須通過下載和/或替換完成。具有一模塊體系結(jié)構(gòu)的系統(tǒng)具有多個易于更新和修改的代理,其中特定代理可分別修改或更新或者代理可整體增加或刪去。而且,一模塊體系結(jié)構(gòu)易于角色扮演,用戶很容易用它來代替系統(tǒng)代理。
許多現(xiàn)有系統(tǒng)未采用傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)鏈接以允許體系結(jié)構(gòu)代理彼此通信。此配置使得處于不同地理位置的用戶可同時訪問系統(tǒng)以完成角色扮演或其他交互作用。
因此,本發(fā)明的一個目的是提供一用于問題解決和指導(dǎo)其特征在于多個代理和黑板的體系結(jié)構(gòu)。
本發(fā)明的另一目的是提供一用戶中心的用于問題解決和指導(dǎo)的體系結(jié)構(gòu)。
本發(fā)明的另一目的是提供一模塊化的用于問題解決的體系結(jié)構(gòu)。
本發(fā)明的還一目的是提供一采用TCP/IP連接以提供代理間通信的體系結(jié)構(gòu)。
發(fā)明內(nèi)容
本發(fā)明為用于一包括許多域從屬代理的指導(dǎo)和問題解決系統(tǒng)的體系結(jié)構(gòu),每個包括一知識庫、多個域從屬代理和多個黑板。每個黑板之一屬于或?qū)S糜诿總€域從屬代理或域獨立代理之一。一黑板代理傳送黑板間的消息,因此域從屬和域獨立代理可通過從專用黑板上發(fā)送消息并讀取消息來實現(xiàn)彼此通信。域從屬和域獨立代理通過傳輸控制協(xié)議/網(wǎng)際協(xié)議鏈接與其專用黑板通信。
在會話期間,產(chǎn)生一令牌且域獨立代理包括一控制代理,此控制代理在域從屬和域獨立代理間選擇通過令牌以使得僅僅在具有令牌時起作用。域獨立代理也包括一通過黑板與域從屬和域獨立代理通信的指導(dǎo)代理以使得計算機系統(tǒng)用戶能在用于指導(dǎo)會話的域從屬代理間選擇。
此體系結(jié)構(gòu)包括一學(xué)生數(shù)據(jù)庫和一訓(xùn)練/測試數(shù)據(jù)存儲庫或數(shù)據(jù)庫和大量包括一數(shù)據(jù)庫代理的域獨立代理。數(shù)據(jù)庫代理通過黑板向域從屬和域獨立代理提供數(shù)據(jù)并從域從屬和域獨立代理接收數(shù)據(jù)用于發(fā)送到學(xué)生數(shù)據(jù)庫上。因此,整個指導(dǎo)會話期間的用戶行為可被記錄在學(xué)生數(shù)據(jù)庫上以用于追蹤和未來使用。
此體系結(jié)構(gòu)也包括一用戶顯示器和一圖形前端,且獨立代理也包括一用戶接口代理,用于向用戶顯示包括來自域從屬代理知識庫和訓(xùn)練/測試數(shù)據(jù)儲存庫的信息。而且,用戶接口代理也接收用戶輸入并通過黑板將它們直接傳送給適當?shù)挠驈膶俸陀颡毩⒋怼?br>
指導(dǎo)系統(tǒng)可安裝在超過一個能使不同地理位置用戶在整個指導(dǎo)會話期間同時角色扮演的計算機上以下將結(jié)合附圖詳細描述本發(fā)明的實施例,以更完全理解本發(fā)明的特性和范圍。
圖1是依據(jù)本發(fā)明體系結(jié)構(gòu)實施例的指導(dǎo)系統(tǒng)的示意圖;圖2是如圖1系統(tǒng)結(jié)構(gòu)的域獨立層的示意圖;圖3是表示圖1和2的控制代理所執(zhí)行處理的流程圖;圖4是表示圖1和2的控制代理所執(zhí)行的初始化的流程圖;
圖5是表示圖1和2的控制代理所執(zhí)行的系統(tǒng)初始化的流程圖;圖6是表示圖1和2的控制代理所執(zhí)行的代理初始化的流程圖;圖7是表示圖1的代理所執(zhí)行的單個代理初始化的流程圖;圖8是表示圖1和2的控制代理所執(zhí)行的通信初始化的流程圖;圖9是表示圖1和2的指導(dǎo)代理所執(zhí)行的指導(dǎo)、角色扮演或訓(xùn)練會話初始化的流程圖;圖10是表示圖1和2的控制代理所執(zhí)行的令牌初始化的流程圖;圖11是表示圖1和2的控制代理所執(zhí)行的中斷處理的流程圖;圖12是表示圖1和2的黑板代理所執(zhí)行的處理的流程圖;圖13是表示圖1和2的數(shù)據(jù)庫代理所執(zhí)行的處理的流程圖;圖14是表示圖1和2的指導(dǎo)代理所執(zhí)行的處理的流程圖;圖15是表示圖1和2的指導(dǎo)代理所執(zhí)行的信息編譯的流程圖;圖16是表示圖1和2的UI代理所執(zhí)行的初始化的流程圖;圖17是表示圖1和2的UI代理所執(zhí)行的處理的流程圖;圖18是表示圖1和2的UI代理所執(zhí)行的用戶中斷處理的流程圖;圖19是表示用于如圖1的域從屬代理的內(nèi)部體系結(jié)構(gòu)的示意圖。
具體實施例方式
本發(fā)明的體系結(jié)構(gòu)基于以下概念在一復(fù)雜問題解決環(huán)境中,具有通過提供合作達到整體目的或解決方案的專業(yè)知識的多個代理或知識源是有益并且實際上有時是關(guān)鍵的。而且,在提供用于諸如正電子X射線層析術(shù)(PET)、核醫(yī)療學(xué)和核磁共振成像(MRI)的復(fù)雜領(lǐng)域的訓(xùn)練和診斷輔助的計算機系統(tǒng)中,不僅支持指導(dǎo)而且捕獲問題解決處理本身的系統(tǒng)體系結(jié)構(gòu)尤為重要。本發(fā)明的體系結(jié)構(gòu)通過在對象或域的寬范圍內(nèi)結(jié)合多個代理提供易于問題解決、指導(dǎo)、鑒定和測試的系統(tǒng)。
本發(fā)明的體系結(jié)構(gòu)采用多個代理及其具有的專業(yè)知識。本發(fā)明體系結(jié)構(gòu)的域從屬代理可看作專家共同工作以解決問題或提供指導(dǎo)。具有此多代理環(huán)境的優(yōu)點在于當仍然保持整個系統(tǒng)的一些集中控制時可達到分布式計算模式。
本發(fā)明系統(tǒng)結(jié)構(gòu)的另一優(yōu)點在于問題解決或訓(xùn)練是用戶中心而不是信息中心。也就是說,整個系統(tǒng)結(jié)構(gòu)被調(diào)諧成滿足一特定用戶技術(shù)和需要。所有信息(問題解決、訓(xùn)練、測試或其他)被修改成適合單個用戶。這確保了系統(tǒng)在指導(dǎo)或輔助用戶診斷方面有效得多。
常用的采用本發(fā)明系統(tǒng)結(jié)構(gòu)實施例的計算化指導(dǎo)系統(tǒng)如圖1中的標記20所示。當如下按照一指導(dǎo)系統(tǒng)描述本發(fā)明體系結(jié)構(gòu),可知,此體系結(jié)構(gòu)可用于提供問題解決輔助,包括但不局限于,提供用于醫(yī)學(xué)診斷裝備的并行診斷的計算機系統(tǒng)中。
如圖1所述,指導(dǎo)系統(tǒng)20為一系統(tǒng)結(jié)構(gòu),包括域從屬代理1-n,標記為22、24、26、28和30,以及一用戶接口(UI)代理32、一數(shù)據(jù)庫代理34、一控制代理36、一黑板代理38和一指導(dǎo)代理40。每個代理,無論是域從屬或域獨立,均為一單個可運行程序或軟件模塊。如以下將要描述的,代理通過黑板42彼此通信,其中每個代理具有其自己獨立專用的黑板。如以下更詳細的描述,每個代理通過傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)鏈接43a-43j與其專用黑板通信。
數(shù)據(jù)庫代理與一訓(xùn)練/測試數(shù)據(jù)儲存庫或數(shù)據(jù)庫44和一學(xué)生數(shù)據(jù)庫46通信。這些數(shù)據(jù)庫采用多種形式并可利用各種存儲設(shè)備。例如,其中包括靜態(tài)數(shù)據(jù)的訓(xùn)練/測試數(shù)據(jù)庫可被下載到光盤(CD)并從CDROM驅(qū)動器中讀出。
UI代理與格式化并通過用戶顯示器52向用戶顯示信息系統(tǒng)48的圖形前端通信。
圖1的指導(dǎo)系統(tǒng)20可被下載到一個單獨的或多個計算機上。在后面的情況下,多個計算機可彼此通信以使得系統(tǒng)在訓(xùn)練腳本期間可允許地理位置不同的用戶彼此角色扮演。如下所述,當加入多個計算機,本發(fā)明的體系結(jié)構(gòu)允許分布式處理,然而,也提供所加入計算機系統(tǒng)的中心控制。
以下將討論圖1中本發(fā)明的域獨立和從屬代理以及其他組成部分。
域獨立代理如圖2的體系結(jié)構(gòu)的域獨立代理形成了此系統(tǒng)的基本指導(dǎo)外殼。這些代理是靜態(tài)的,即不管在不同域(對象或領(lǐng)域)如何實現(xiàn)指導(dǎo)環(huán)境,它們都不改變。這些組核心代理管理整個系統(tǒng)結(jié)構(gòu)的功能,用戶與系統(tǒng)的交互以及所實施的訓(xùn)練角色扮演和測試。
在多計算機指導(dǎo)系統(tǒng)中,當多計算機中每一個如圖1的標記20所示,計算機中只有一個域獨立代理作為中心控制單元。因此,中心控制單元為單個機器并在一多計算機的分布式環(huán)境中與多個域代理協(xié)同工作。
以下將描述在只有一個計算機的指導(dǎo)系統(tǒng)中每個域獨立代理的功能。
1)控制代理控制代理36(圖1和2)是負責整個體系結(jié)構(gòu)控制流的主要代理??刂拼淼奶幚砣鐖D3所示。如圖3所示,控制代理控制指導(dǎo)系統(tǒng)的初始化(啟動)、運行和終止。它處理所有系統(tǒng)和用戶驅(qū)動的中斷并通過從代理到代理傳遞令牌來控制每個代理所允許的中心處理量。只有當一代理接收到令牌時,它才能向外讀或?qū)懭魏涡畔?。一旦操作結(jié)束,此令牌將被釋放回控制代理,控制代理再將其傳遞到下一代理。
當系統(tǒng)或用戶產(chǎn)生一中斷時,控制代理停止整個系統(tǒng)的操作,處理終端,然后重新開始操作。在系統(tǒng)關(guān)機請求的情況下,控制代理有序終止所有代理和系統(tǒng)。
參照圖3,在用戶首先打開系統(tǒng)之后,即標記52的系統(tǒng)啟動步驟,控制代理執(zhí)行初始化步驟54。系統(tǒng)通常的初始化需要使本發(fā)明中的代理、數(shù)據(jù)庫以及其他系統(tǒng)結(jié)構(gòu)彼此通信從而使得系統(tǒng)功能正確。
如圖3的初始化步驟包括五個如圖4所示的初始化子步驟。第一子步驟是系統(tǒng)初始化56。在初始化系統(tǒng)時,控制代理執(zhí)行如圖所示的處理。首先,如58所示,在圖1的用戶顯示器52上顯示一初始的“歡迎屏幕”(飛濺屏幕)。當發(fā)生以下情況時控制代理指示UI代理(圖1和2的32)顯示飛濺屏幕。
首先,如62和64所示,所有必須的編譯程序和相關(guān)系統(tǒng)層驅(qū)動程序已從系統(tǒng)(圖1的20)硬盤下載到操作系統(tǒng)中。之后,如66所示,錯誤驅(qū)動程序,也就是系統(tǒng)硬盤驅(qū)動程序(監(jiān)控器、鼠標、鍵盤等)將讀入包括安裝了指導(dǎo)系統(tǒng)的系統(tǒng)(圖1的20)硬件程序概要的文件。系統(tǒng)初始化最后的步驟68是下載指導(dǎo)系統(tǒng)的目錄結(jié)構(gòu),包括如圖1代理的普通區(qū)域的路徑位置、操作系統(tǒng)的目錄結(jié)構(gòu)和用于數(shù)據(jù)庫和數(shù)據(jù)儲存庫,包括如圖1的學(xué)生驅(qū)動器46和訓(xùn)練/測試數(shù)據(jù)儲存器44,的驅(qū)動器字母的初始化。
這樣,控制代理完成如圖4系統(tǒng)初始化子步驟56,因此,目錄結(jié)構(gòu)(路徑)、驅(qū)動程序、編譯程序和系統(tǒng)硬件配置信息已被下載??刂拼斫酉聛硖幚泶沓跏蓟襟E72。
在代理初始化步驟72期間,控制代理將剩余代理下載到指導(dǎo)系統(tǒng)的操作系統(tǒng)中。如圖6的74所示,控制代理讀一域獨立代理程序概要列表,即需要下載的域獨立代理列表。因此,如76所示,域獨立代理被下載到指導(dǎo)系統(tǒng)的操作系統(tǒng)中。
如圖7所示,如每個代理所下載的,在步驟78它讀取,例如一將被編譯或檢查將被下載的驅(qū)動程序的,啟動腳本。如82和84所示,當下載每個域獨立代理時,也下載代理從屬驅(qū)動程序并創(chuàng)建代理的黑板(文件)。最后,如86所示,當下載第一域獨立代理時為域獨立代理創(chuàng)建全局列表。將第一域獨立代理及其黑板格式信息作為輸入加入全局列表。在下載時,每個隨后的域獨立代理及其黑板格式信息被加入到全局列表中。
如圖6的88和92所示,采用域從屬代理程序概要列表為域從屬代理重復(fù)以上處理。當下載域從屬代理并創(chuàng)建域從屬代理全局列表時,執(zhí)行圖7的步驟。
在初始化指導(dǎo)系統(tǒng)的過程中創(chuàng)建所有代理啟動列表以及域獨立和域從屬程序概要列表。
如圖6的94所示,控制代理向每個代理發(fā)送一代理初始化消息之后,下載域獨立和域從屬代理。此消息基本上表示已被下載和準備下載的每個代理。
控制代理可直接與每個代理通信??刂拼硎俏ㄒ痪哂写四芰Φ拇?。其他代理必須通過如圖1的黑板42和黑板代理38與另一代理通信。參照圖1以及前述,每個代理通過傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)鏈接43a-43j與專用黑板通信。因此,下一初始化子步驟,如圖4的96所示,是通信初始化,用來建立代理與其黑板之間的TCP/IP鏈接。
控制代理通過圖8的處理執(zhí)行通信初始化。如98和102所示,控制代理建立(用于TCP/IP)的唯一端口以及用于每個黑板和域獨立和從屬代理的監(jiān)聽程序。監(jiān)聽程序允許黑板和代理確認哪些消息或信息包與之相關(guān)。然后,假如指導(dǎo)系統(tǒng)只為一計算機,在步驟104和106更新在域獨立和域從屬代理的全局列表中的這些特定端口和機器名、本地主機。如1 08所示,控制代理然后通過發(fā)送確定所有代理啟動且能正常通信的測試消息來測試通信通道(TCP/IP鏈接)。
在此完成指導(dǎo)系統(tǒng)下載。當在圖1的用戶顯示器52上顯示飛濺屏幕(圖5的58)時迅速執(zhí)行以上步驟和子步驟。
如圖4的110所示,初始化處理的下一步驟是會話初始化。此步驟包括用戶與如圖1的系統(tǒng)20的交互作用,因此建立用于當前訓(xùn)練/測試會話的參數(shù)。當控制代理請求會話初始化時,如圖9的步驟112,在參照圖14討論指導(dǎo)代理時將詳述指導(dǎo)代理(圖1的40)所執(zhí)行的處理。
在步驟112中,用戶登錄系統(tǒng)并選擇是從其先前會話離開處繼續(xù)執(zhí)行或是開始一新會話。假如選擇前者,指導(dǎo)代理向用戶提供一代表他們過去已經(jīng)部分嘗試并可繼續(xù)的各種課程計劃或測試的書簽列表。
假如用戶選擇開始一新會話,他或她選擇主題以及訓(xùn)練水平,每個主題對應(yīng)一域從屬代理,是他或她希望被指導(dǎo)/測試的。訓(xùn)練水平可通過用戶具有的專業(yè)指示水平、用戶在特定領(lǐng)域/主題具有的經(jīng)驗或兩方面的一些組合來確定。而且,假如開始一新會話,用戶選擇他所希望的系統(tǒng)操作模式。用戶可在以下三種模式之間選擇訓(xùn)練模式在此模式中,用戶請求系統(tǒng)評估課程計劃的各方面,然后進入代理詳細的論證處理。用戶具有(在任何時間點)停止系統(tǒng)的能力并詢問各種問題以澄清諸如“為什么”的系統(tǒng)正在做什么以及諸如“為什么不”和“假如……則什么”的附加問題。在每個課程計劃結(jié)束時,用戶被給出其所參與的特殊課程計劃中一系列問題的選項。
角色扮演模式在此模式中,用戶在指導(dǎo)系統(tǒng)的其余部分扮演域從屬代理的一些角色。此模式允許用戶獲得映射實際環(huán)境的專業(yè)化特定行為而不僅僅是一主題或課程計劃。此模式也可在多用戶級上工作,其中指導(dǎo)系統(tǒng)中的兩個或更多可連接并方便多用戶來扮演不同角色。
測試模式在此模式中,系統(tǒng)在被選定的主題范圍內(nèi)基本地測試用戶。在此模式中,用戶選擇一用于測試的特殊領(lǐng)域或者系統(tǒng)讓用戶通過一組結(jié)構(gòu)化測試。測試也可基于從過去域系統(tǒng)的交互中獲得的用戶弱點。
一旦用戶作出其會話選擇,會話選擇則被下載到控制代理的存儲器中,如圖9的114。
如116所示,可初始化用戶接口,包括圖1中的用戶顯示器52和圖形前端48,因此可以適當?shù)南到y(tǒng)屏幕向用戶顯示??刂拼碇甘綰I代理,圖1的32,執(zhí)行如圖16的處理以初始化用戶接口。在討論UI代理時將更詳細地討論圖16的處理。
如步驟118所示,控制代理之后創(chuàng)建對應(yīng)于用戶在步驟114的會話設(shè)置的學(xué)生數(shù)據(jù)庫(圖1的46)的入口。因此,系統(tǒng)可追蹤用戶被指導(dǎo)的主題,用戶所作的測試,等等。
會話設(shè)置也可使得控制代理更容易將附加路徑加入到所創(chuàng)建的目錄結(jié)構(gòu)中。這由控制代理在步驟122完成。例如,在多用戶角色扮演會話期間假如將使用多計算機則需增加路徑。而且,如122所示,計算機錯誤驅(qū)動程序需要重新初始化。這個例子將需要在系統(tǒng)CD ROM驅(qū)動中有一不同的光盤(用戶希望學(xué)習肝癌且當前CD涉及乳癌)。
如圖4的124所示,在初始化處理中由控制代理執(zhí)行的最后子步驟是令牌初始化。此令牌是由控制代理產(chǎn)生且同時只能由一個代理擁有的鑰匙??刂拼韺⒘钆浦苯觽鬟f到一接收代理,也就是說,令牌不通過接收代理的黑板傳遞到接收代理。代理處理令牌,無論一域從屬代理或一域獨立代理均可從處理代理的黑板請求信息或?qū)⑿畔魉偷教幚泶淼暮诎?,從而與指導(dǎo)系統(tǒng)的其余部分進行交互。一代理不能將信息傳遞到它自己的黑板也不能接收來自它自己黑板的信息,除非此代理擁有令牌。這就是為什么控制代理必須直接將令牌傳遞到接收代理而不是通過其黑板將令牌傳遞到接收代理。
令牌初始化處理如圖10所示。令牌初始化第一步,如126所示,控制代理將令牌傳遞列表讀入其存儲器。令牌傳遞列表以控制代理將傳遞令牌給它們的順序列出了指導(dǎo)系統(tǒng)的代理(包括域獨立和域從屬)。所給出的一些代理,典型地域獨立代理,將比其他代理更經(jīng)常需要令牌,令牌傳遞列表將包括許多代理備份列表。例如,令牌傳遞列表可列出一第一域獨立代理、黑板代理、一第二域獨立代理且再黑板代理。
隨后,如128所示,定義令牌。令牌實際上是一由控制代理隨機產(chǎn)生的值。為每個指導(dǎo)會話產(chǎn)生一不同的令牌值。
一旦令牌產(chǎn)生,如圖10的132和134所示,控制代理訪問用于域從屬和獨立代理的全局列表并與將令牌值通知每個列表。因此,將令牌值通知域從屬和域獨立代理并因此當依據(jù)令牌傳遞列表將令牌傳遞給它們時確定它們處理令牌。
以上完成了圖3和4的初始化步驟54。用戶現(xiàn)在可與指導(dǎo)系統(tǒng)依據(jù)更容易選定的會話設(shè)置交互接收指導(dǎo)或測試。當用戶與指導(dǎo)系統(tǒng)交互時,控制代理執(zhí)行令牌流控制任務(wù),如圖3的136所示。
在令牌流控制過程中,控制代理依據(jù)進行會話時的令牌傳遞列表在代理之間直接(不通過它們的黑板)傳遞且退回令牌。此處理的唯一中斷是當有一系統(tǒng)產(chǎn)生或一用戶產(chǎn)生中斷時,如圖3的138所示。
只在兩組特有的情況下產(chǎn)生一中斷;用戶初始化或者是系統(tǒng)產(chǎn)生一錯誤。在任一情況下,控制代理通過執(zhí)行如圖11所示的處理來處理中斷。當發(fā)生一(用戶初始化或系統(tǒng)所產(chǎn)生的)中斷時,如142所示,控制代理向所有代理廣播中止操作直到之后再通知??刂拼碇苯酉蛩衅渌韽V播,也就是說,當令牌通過時,中斷消息不通過代理的黑板??刂拼碇苯酉虼韽V播中斷,這是因為假如它僅僅將中斷消息放于黑板上,代理將不得不等待直到接收到提醒發(fā)生中斷的令牌。
一旦代理中止操作,控制代理,如圖11的144、146和148所示,收集包括最近UI屏幕處理、用戶詢問的最后問題以及系統(tǒng)向用戶所問的最后問題的信息。最近UI屏幕處理為一列表,包括中斷發(fā)生時用戶所在的屏幕,此屏幕窗口在使用中,用戶在屏幕上具有她或他的鼠標(屏幕的x和y坐標),等等。
如152和154所示,控制代理公式化包括詢問用戶的初始問題列表的中斷消息。在步驟144、146和148所收集的信息允許控制代理詢問用戶有助于解決中斷的智能問題。中斷消息可為特定代理(152)或基于系統(tǒng)(154)?;谙到y(tǒng)消息包括諸如提醒用戶未連接鍵盤或鼠標或是某CD需要被放置在CD ROM驅(qū)動器中的典型錯誤消息。特定代理消息典型地來自用戶初始中斷,屬于一用戶關(guān)于域從屬代理主題的問題。由于域從屬代理相應(yīng)一用戶行為產(chǎn)生了一中斷,特定代理消息也可產(chǎn)生。如156所示,中斷消息被發(fā)送到UI代理,UI代理再將消息經(jīng)由如圖1的圖形終端48發(fā)送到用戶顯示器52。
假如系統(tǒng)產(chǎn)生中斷(無法找到一數(shù)據(jù)文件,等等)系統(tǒng)中斷將提示用戶糾正路徑,放入一不同的存儲數(shù)據(jù)的CD或媒質(zhì),等等。假如用戶糾正問題,如158所示,控制代理廣播一中斷終止消息,如162所示,向代理發(fā)它們可繼續(xù)執(zhí)行它們分別的處理的信號。如原始的中斷消息,直接(不通過代理黑板)向代理廣播中斷終止消息。
假如中斷是用戶所產(chǎn)生的且如164所示,所請求的活動是系統(tǒng)從屬,例如一用戶請求普通的系統(tǒng)幫助、系統(tǒng)特征(鼠標、監(jiān)控分辨率等等)重配置,控制代理,如166所示,將基于用戶響應(yīng)更新硬件程序概要數(shù)據(jù)或其他系統(tǒng)相關(guān)數(shù)據(jù)??刂拼砣缓髮V播(直接),每162,一中斷終止消息從而發(fā)出代理能繼續(xù)執(zhí)行它們各自處理的信號。
參照168,假如用戶初始中斷基于用戶想詢問一域從屬代理的問題,或響應(yīng)一用戶行為通過一域從屬代理產(chǎn)生中斷,那么,如172所示,控制代理選擇適當?shù)挠驈膶俅硪蕴幚碛脩繇憫?yīng)特定代理消息152。步驟142、144和146所收集的信息使得控制代理能正確選擇域從屬代理。在步驟172,在控制代理監(jiān)視處理下,域從屬代理響應(yīng)用戶所問的問題產(chǎn)生回答。然后在174控制代理廣播(直接)一中斷終止消息從而向代理發(fā)出繼續(xù)執(zhí)行他們各自處理的信號。
參照圖3的182,假如中斷(無論它是用戶初始化或系統(tǒng)所產(chǎn)生的)為一系統(tǒng)關(guān)機(或終止)請求,控制代理,在步驟184期間,(直接)向所有代理廣播關(guān)機請求,只為指導(dǎo)代理緩存懸而未決的消息從而允許完成處理其所有信息??刂拼硐蛴脩麸@示一終止屏幕且在186終止自身。
2)黑板代理每個代理與一單個專用黑板(圖1的42相關(guān))相關(guān),此黑板為系統(tǒng)存儲器中用于屬于特殊代理的信息消息的保留區(qū)域。所有消息具有一預(yù)定格式且以編年或優(yōu)先權(quán)順序發(fā)送到黑板上。
當具有令牌時,所有代理無需黑板代理輔助,向它們的黑板發(fā)送消息并從它們的黑板讀取消息。所有來自或從其他代理發(fā)至一代理的通信(消息)被通過黑板代理(圖1和2的38)轉(zhuǎn)移到代理專用黑板。也就是說,黑板代理將消息放置在代理的黑板上,這樣代理可瀏覽消息(當其具有令牌時)而且一代理在黑板上公告一消息(當其具有令牌時),這樣黑板代理可獲知消息。同樣地,黑板代理響應(yīng)傳送至且來自代理黑板,并且因此,傳送至且來自代理的同步消息。每個代理,只有當它具有令牌時,無需黑板代理輔助,可從其黑板上讀取消息或?qū)⑾懙胶诎迳稀?br>
發(fā)送每個在代理黑板上發(fā)布的消息的標識符。有兩種標識符一黑板代理標識符和一普通標識符。當代理發(fā)送一消息且需要黑板代理將其轉(zhuǎn)移到另一代理的黑板上時,設(shè)置黑板代理標識符。普通標識符表示消息本身需要一些其黑板上公告消息的代理的行動。當一代理接收令牌時,它讀取在黑板上具有普通標識符設(shè)置的任何消息。
黑板代理所執(zhí)行的處理如圖12所述,首先,在190黑板代理檢查看是否具有令牌。假如黑板代理不具有令牌,不執(zhí)行任何操作(“無操作”),如191所示。如192所示,當黑板代理從控制代理獲得令牌時,它訪問一包含所服務(wù)的代理順序的優(yōu)先列表。對于列表中的每個代理,在步驟196和198,黑板代理檢查看代理黑板上是否有一具有黑板代理標識符設(shè)置的消息。假如無代理黑板上具有黑板代理標識符設(shè)置,黑板代理放棄令牌,如202所示。
假如在一代理的黑板上有任何消息包括黑板代理標識符設(shè)置,黑板代理對每個204依據(jù)優(yōu)先權(quán)瀏覽每一個并對每個206執(zhí)行以下行為。假如包括黑板標識符的消息不優(yōu)先或都有相同優(yōu)先級,黑板代理依次處置/處理消息,如208所示。
在步驟206之后,黑板代理所執(zhí)行的處理依賴所標識(黑板代理標識)的消息是“讀”請求或是“寫”請求。假如它從另一代理或一數(shù)據(jù)庫搜索信息,一代理發(fā)送一“讀”請求消息。假如消息為一讀請求210,黑板代理,在212,瀏覽來自消息的源代理信息、所請求的信息和源代理(信息源)黑板協(xié)議。黑板代理然后組成和格式化一消息,如下所述,將被放于源代理的黑板上。
如214所示,假如源代理已經(jīng)作為令牌環(huán)部分被黑板代理服務(wù)或“看見”,也就是說,在令牌所擁有的當前周期,那么,如216、218和222所示,黑板代理將重排優(yōu)先列表以當它仍然具有令牌時再次服務(wù)或“看見”源代理。
步驟212中被源代理格式化的消息在步驟220優(yōu)先。消息的優(yōu)先級為用于代理請求信息(發(fā)布讀請求的代理)的優(yōu)先級和所請求的信息優(yōu)先級的組合。在全局優(yōu)先列表中作為域從屬和域獨立代理全局列表的列可發(fā)現(xiàn)代理的優(yōu)先級。然后在步驟222,消息被發(fā)送到源代理黑板。對具有黑板代理標識的請求代理黑板上的下一消息處理如步驟224、226和228所示。假如不再有此標識消息,如步驟230和232所示黑板代理釋放令牌。
當代理想發(fā)送消息到另一代理或數(shù)據(jù)庫,一代理將一“寫”請求消息發(fā)布在其黑板上。如234所示,寫請求可通過數(shù)據(jù)庫代理(236)發(fā)布在數(shù)據(jù)庫代理黑板上或通過響應(yīng)代理(238)發(fā)布在其余代理黑板上。
當數(shù)據(jù)庫代理發(fā)布寫請求方面,如236所示,黑板代理獲取將被發(fā)布的數(shù)據(jù)庫鏈接或?qū)嶋H數(shù)據(jù)(鏈接為對圖形或多媒體文件等的處理)。然后黑板獲取目的代理信息及其黑板消息協(xié)議。黑板代理也瀏覽目的代理的數(shù)據(jù)格式(假如消息包含數(shù)據(jù)而不是鏈接則此格式將接受數(shù)據(jù))。黑板代理然后公式化來自數(shù)據(jù)庫代理的新消息用于發(fā)布到目的代理的黑板上。
假如寫請求來自一非數(shù)據(jù)庫代理的代理,那么,如238所示,黑板代理依據(jù)目的代理的黑板協(xié)議重格式化寫請求。
如240、242和244所示,一旦消息被正確公式化,它以一來自消息源代理的優(yōu)先級和消息優(yōu)先級發(fā)布在目的代理的黑板上。
如246所示,黑板代理然后繼續(xù)下一具有用于代理的4黑板代理標識的消息。如248和252所示,在已排序一特殊代理的消息之后,黑板代理然后選出優(yōu)先級列表中的下一代理并重復(fù)以上處理。如254和256所示,當黑板代理已處理在其優(yōu)先級列表中的所有代理,它釋放令牌至控制代理。
3)數(shù)據(jù)庫代理數(shù)據(jù)庫代理,如圖1和2的34,用于與數(shù)據(jù)庫進行信息通信。此代理用作數(shù)據(jù)庫黑板(數(shù)據(jù)庫代理黑板)和單個數(shù)據(jù)庫之間的主接口。數(shù)據(jù)庫代理以優(yōu)先級順序處理發(fā)布在數(shù)據(jù)庫黑板上的所有請求。兩個主系統(tǒng)數(shù)據(jù)庫為訓(xùn)練/測試數(shù)據(jù)儲存庫和學(xué)生數(shù)據(jù)庫,分別如圖1的44和46。前者存儲用于訓(xùn)練、測試和角色扮演環(huán)境的靜態(tài)數(shù)據(jù)且典型地包括與用于指導(dǎo)、角色扮演和測試的多媒體和抽樣信息有關(guān)的域(領(lǐng)域或?qū)ο髢?nèi)容)特定信息。也可有應(yīng)用在訓(xùn)練和測試域的(關(guān)于域從屬代理共同特性)所有程序信息。學(xué)生數(shù)據(jù)庫存儲學(xué)生信息(或概要)數(shù)據(jù)。
數(shù)據(jù)庫代理所執(zhí)行的處理如圖13所示。在步驟260和262,數(shù)據(jù)庫代理檢查令牌和標識消息,與所有代理一樣,數(shù)據(jù)庫代理可處理的兩種基本請求是如264所示讀請求以及來自學(xué)生數(shù)據(jù)庫(圖1的46)其他代理的寫請求,其中此讀請求來自用于訓(xùn)練、角色扮演和測試的訓(xùn)練/測試數(shù)據(jù)儲存庫(圖1的46)的其他代理請求信息。
在用于來自數(shù)據(jù)儲存庫信息的讀請求的情況,如266所示,數(shù)據(jù)庫代理將確定在數(shù)據(jù)庫代理黑板上公布的消息的請求或源代理(代理請求信息)。而且,數(shù)據(jù)庫代理將讀取信息表,此信息表為一腳本文件,列出了所有不同的數(shù)據(jù)類型以及它們?nèi)绾伪惶幚?。?shù)據(jù)庫代理也訪問代理全局列表并利用請求/源代理的名字來確定它是本地或遠程的,后者將在以下與多計算機有關(guān)的單元進行討論。
然后,如268所示,數(shù)據(jù)庫代理將確定所請求的數(shù)據(jù)是文本或圖形形式。假如是后者,如272所示,所請求數(shù)據(jù)將被(帶有黑板代理標識符設(shè)置)發(fā)布在數(shù)據(jù)庫代理黑板上。圖形或其他多媒體格式信息的請求,如274、276、278和282所示,將導(dǎo)致一來自用于處理所請求的信息路徑的數(shù)據(jù)庫代理的響應(yīng)消息。假如讀請求導(dǎo)致多種處理,數(shù)據(jù)庫代理將返回一包含一帶有特定覆蓋信息(278)的主要數(shù)據(jù)路徑的消息。
假如在數(shù)據(jù)庫代理黑板上發(fā)布一寫請求,數(shù)據(jù)庫代理將利用學(xué)生注冊信息訪問學(xué)生數(shù)據(jù)庫中的學(xué)生概要,如284所示。在學(xué)生數(shù)據(jù)庫中創(chuàng)建一用于學(xué)生的每個指導(dǎo)對話的會話表格。如286所示,數(shù)據(jù)庫代理訪問會話表格,然后寫入信息/數(shù)據(jù),如288所示。
4)指導(dǎo)代理指導(dǎo)代理,如圖1和2的40,響應(yīng)學(xué)生在利用指導(dǎo)系統(tǒng)學(xué)習、角色扮演和測試的成果,同時也追蹤他們的進步。此代理也記錄在學(xué)生數(shù)據(jù)庫指導(dǎo)或測試會話過程中涉及將被檢查的特定課程計劃的所有學(xué)生行為。在用戶通過測試估算的過程中,用戶/學(xué)生的學(xué)生數(shù)據(jù)庫入口可用來加強或減弱。例如,學(xué)生所作的測試包括在先前指導(dǎo)會話和測試過程中學(xué)生實踐難度的主題的問題。
除了如圖7所述的所有代理普通的初始化處理,指導(dǎo)系統(tǒng)的任務(wù)還有在啟動軟件時初始化指導(dǎo)、角色扮演或測試會話。當控制代理發(fā)送會話初始化請求,如圖9的步驟112,指導(dǎo)代理執(zhí)行以下行為,如圖14所示。
首先,指導(dǎo)代理(直接)請求用戶接口代理顯示作為用戶與系統(tǒng)交互的第一屏幕的注冊屏幕292。如294所示,用戶可采用一現(xiàn)有注冊ID和密碼登陸或創(chuàng)建一新概要296。如298所示,一新概要的創(chuàng)建觸發(fā)了一標準模板調(diào)用,此調(diào)用可創(chuàng)建一帶有ID的空學(xué)生概要和在學(xué)生數(shù)據(jù)庫的注冊和一空組表示學(xué)生之前從未使用系統(tǒng)的書簽。
假如已記錄此注冊,指導(dǎo)系統(tǒng)將瀏覽學(xué)生的概要和書簽?;诖诵畔?,指導(dǎo)代理將公式化一組可能的用戶想為此會話做的任務(wù)或會話項目。在302向用戶顯示會話項目。在304學(xué)生然后選擇會話項目。
假如學(xué)生選擇一學(xué)習會話306,那么,如308所示,指導(dǎo)代理將存儲在訓(xùn)練/測試數(shù)據(jù)儲存庫的會話模板下載到計算機操作系統(tǒng)中。模板,實際上是一型板,包括依據(jù)用戶/學(xué)生所作選擇來自訓(xùn)練/測試數(shù)據(jù)儲存庫的會話數(shù)據(jù)。假如學(xué)生希望從其上次會話離開處繼續(xù),或希望重做課程計劃,系統(tǒng)將為那些課程下載帶有書簽和適當會話數(shù)據(jù)的上次已知模板。指導(dǎo)代理然后將發(fā)送會話信息給控制代理和其余系統(tǒng)代理的黑板。
假如用戶選擇測試310,指導(dǎo)系統(tǒng),如312所示,將安裝一用于測試的通用模板。指導(dǎo)代理也將瀏覽所有存儲在關(guān)于學(xué)生將被測試的特殊領(lǐng)域的學(xué)生數(shù)據(jù)庫的歷史數(shù)據(jù)。指導(dǎo)代理然后將在其他代理的黑板上發(fā)布兩個消息。一個通知所有代理將有一測試會話且第二個則向所有代理請求測試信息。
假如學(xué)生請求一角色扮演會話314,指導(dǎo)代理將首先確定會話是單選手或是多選手,如316所示。假如是一多選手請求,如318所示,指導(dǎo)代理將詢問用戶附加機器地址以及不同用戶或?qū)W生的角色。指導(dǎo)系統(tǒng)然后將建立一帶有附加機器的通信通道(TCP/IP)并向所有機器的控制代理發(fā)送一消息,使得請求或主要機器或計算機的域獨立和域從屬代理的請求同步。之后,所有相連機器的所有指導(dǎo)環(huán)境將反映請求/主要機器的行為。以下將描述多機器配置的附加信息。
如320所示,指導(dǎo)代理然后將下載角色扮演模板和會話數(shù)據(jù)。指導(dǎo)代理然后將角色扮演信息發(fā)送到控制代理并在所選域從屬代理上公告角色扮演標識符以反映所選對象內(nèi)容或主題。
308、312和320的處理結(jié)束后,指導(dǎo)代理將釋放對控制代理的控制。
在通常系統(tǒng)操作期間,當令牌從控制代理傳遞到指導(dǎo)代理時,指導(dǎo)代理將執(zhí)行一例程書面保持操作,如圖15所述。在指導(dǎo)代理在322檢查到它具有令牌且在324檢查標識消息,它將收集和編譯自從上次它接收令牌以來的所有學(xué)生登陸信息并將其存儲在學(xué)生數(shù)據(jù)庫的學(xué)生概要中(步驟326和328)。此書面保持將包括學(xué)生概要的域獨立和域從屬學(xué)習。
域獨立信息將包括鼠標時間、所問問題、所重復(fù)的問題和課程計劃的模板基本信息。模板基板信息包含重要問題的標志,例如將產(chǎn)生一將被記錄在學(xué)生概要中的事件。
域從屬信息將包括用于特殊課程計劃的腳本(即什么是關(guān)鍵概念、教學(xué)點,等等),以及課程特定指南,例如學(xué)生學(xué)習課題的時間量、在特殊課題練習所需時間量以及從一用于測試的特殊課題中所選問題的時間量。
此學(xué)生概要信息被記錄在學(xué)生數(shù)據(jù)庫中的一組表格上,此表格包含與課程計劃、用戶產(chǎn)生中斷、用戶所問問題、向用戶提出的問題、用戶對問題的回答、各種答案、鼠標時間、用戶提交的圖形時間等等相關(guān)的信息。所有事件將有一代表編年順序和所花時間量的時間戳。最后值得注意的是,此處理將在系統(tǒng)關(guān)機之前完成(步驟184,圖3)。
5)用戶接口代理此代理控制所有向用戶顯示的信息。它用來配置圖形前端,圖1和2的48,從而以用戶最形象化格式顯示相關(guān)信息。此代理也捕獲所有用戶輸入(包括中斷)。用戶接口(UI)代理采用API與圖形前端通信從而允許以任何語言寫入前端且此前端獨立于代理控制。
系統(tǒng)用戶接口初始化如圖16所示且如332所示,首先讀取一包含系統(tǒng)輸入輸出設(shè)備(I/O設(shè)備)及其設(shè)置信息的腳本文件。在系統(tǒng)安裝期間產(chǎn)生此腳本且此腳本包含關(guān)于屏幕分辨率、聲卡存在、鼠標、鍵盤以及其他輸入設(shè)備配置的信息。屏幕分辨率然后被設(shè)置且在步驟334初始化I/O設(shè)備。在UI初始化的下一步驟,336和338,控制代理使得UI代理繪出根顯示窗口或主顯示窗口,其中將發(fā)生指導(dǎo)/角色扮演/測試。以上與根窗口布局有關(guān)的信息為所有想向用戶顯示信息的代理設(shè)置并相關(guān)的全局變量,也就是說,此信息不能物理地顯示在此窗口外。
圖17標識UI代理的操作。當控制令牌被傳遞到用戶接口代理,342,在344,UI代理檢查其黑板上是否有任何標識事件(或未被看見的事件)。在無此事件的情況下,如346所示,UI代理在其黑板上發(fā)布一消息用于傳遞到指導(dǎo)代理黑板上,此消息與自從上次它(UI代理)收到控制令牌以來的學(xué)生行為(鼠標、文本等等)有關(guān)。
在標識消息或事件348的情況下,事件基本上可分為兩種一用戶輸入請求事件352和一顯示信息請求事件354。當系統(tǒng)請求用戶提供系統(tǒng)輸入時發(fā)生一用戶輸入請求事件352。當向用戶顯示信息時發(fā)生一顯示信息請求事件354。
在一用戶輸入請求事件情況下,信息基本上可再分為兩種用于用戶文本輸入的請求256或用于用戶圖形輸入的請求358。在用戶輸入文本信息請求的情況下,如362所示,從黑板上發(fā)布的消息中,UI代理識別用戶應(yīng)輸入哪個窗口、在窗口上應(yīng)顯示的文本以及請求輸入的選擇或格式。然后高亮度窗口且在其中顯示適當?shù)男畔?,?64所示。用戶然后提供他或她的文本輸入,此輸入將作為一事件在UI代理的黑板上公布以用來傳遞到請求用戶輸入的代理黑板上,如366所示。最后,事務(wù)被發(fā)布在指導(dǎo)代理黑板上,如368所示。UI代理然后進行黑板上下一標識消息(普通標識符)處理。
所請求的信息可選地為圖形,358,例如請求用戶選擇一特殊圖形區(qū)域、高亮度、填充或繪出一特殊圖形,等等。如372所示,必須下載一包括適當圖形及其他請求信息的窗口,例如一文本提示。而且,必須下載覆蓋信息(用于用戶通過現(xiàn)有圖形輸入顯示的一層)和一組圖形工具(選擇工具、繪圖工具等等)。之后,在步驟374,高亮度窗口,并顯示帶有圖形和文本提示的窗口、覆蓋圖形和圖形工具。一旦用戶已在覆蓋層輸入信息,此層被記錄且對此層的處理被傳送到請求代理,如376所示。最后,事務(wù)被發(fā)布在指導(dǎo)代理黑板上,如378所示。UI代理然后進行在其黑板上下一標識消息(普通標識符)的處理。
本發(fā)明簡單顯示354的發(fā)布在UI黑板上的信息也可按特性分成文本382或圖形384。如386和388所示,無論新屏幕內(nèi)容是文本或圖形,必須利用來自發(fā)布在UI代理黑板上消息的信息,從訓(xùn)練/測試數(shù)據(jù)儲存庫中檢索其中顯示新屏幕內(nèi)容和新屏幕內(nèi)容模式的父窗口。然后顯示文本(392)或圖形(394)。在任一情況下,假如新屏幕內(nèi)容是模態(tài),那么新窗口(具有新屏幕內(nèi)容)受其父窗口限制,用戶不能將帶有新信息的窗口拖出父窗口的邊界。假如信息為非模態(tài)的,那么用戶可將窗口拖到屏幕上的任何位置。
從發(fā)布到代理黑板上的消息中獲得的信息附加項是將被顯示的新內(nèi)容的信息標記。在文本信息情況下,這些標記(在386的文本鏈接)將包括多段用戶問問題文本(例如為什么、為什么不、假如……則什么等等)信息。此信息來自將消息傳送到UI代理的域從屬代理。在圖形的情況下,圖形鏈接(388)為覆蓋文件形式,其中假如在某區(qū)域用戶移動鼠標,將顯示信息(例如高亮度特定區(qū)域)其中用戶可詢問類似問題。
如前相關(guān)于控制代理和圖11所述,發(fā)生兩種中斷,一用戶啟動中斷且一系統(tǒng)產(chǎn)生中斷。如圖18所示,當用戶中斷系統(tǒng)402時,UI代理通知控制代理404此中斷??刂拼砣缓笕鐖D11所述處理中斷并且控制代理決定哪些信息將發(fā)布在用戶顯示器或接口上。當此中斷由系統(tǒng)產(chǎn)生,UI代理將接收需要發(fā)布的中斷信息和中斷廣播,如406所示。然后顯示中斷信息,如408所示。
一旦相關(guān)信息被發(fā)布,UI代理等待用戶響應(yīng)412且然后將響應(yīng)414傳送到控制代理處理。如416、418、422和424所示,UI代理然后進入中斷所產(chǎn)生的清除窗口和更新窗口后信息的標準處理。然后在繼續(xù)執(zhí)行操作之前,UI代理等待(426和428)來自控制代理的中斷終止順序的廣播。
消息協(xié)議由于信息傳遞簡單,所有代理(域從屬或獨立)無需選擇使用任何消息協(xié)議。然而,有一些指南每個代理最好服從。每個消息最好包含至少以下信息a)一“發(fā)至”域,規(guī)定消息預(yù)定接收者。它必須為在初始化處理中控制代理所登記的域從屬或域獨立代理的全局列表的有效入口。
b)一“發(fā)自”域,規(guī)定在初始化處理中所登記的代理屬主名字。
c)一ID域,由源代理內(nèi)部產(chǎn)生能索引消息。
d)在域獨立代理情況下控制代理請求所獲得的一時間戳,或是域從屬代理同步模塊內(nèi)部產(chǎn)生的時間戳。
e)一優(yōu)先級域,域從屬代理內(nèi)部產(chǎn)生或由域獨立代理基于一些帶有優(yōu)先級的消息反映。
f)一信息域,此域包含消息所包含的信息??梢允菙?shù)據(jù)、數(shù)據(jù)處理、控制代碼、中斷代碼或任何需要中繼的信息。
g)標識符域,此域為消息已發(fā)布且不被“看見”時所設(shè)置的標識符。
由于這些協(xié)議獨立于系統(tǒng),需要一翻譯機制使得代理間的協(xié)議不會錯誤翻譯。為了確保以上情況,包含與以上域無關(guān)信息的每個代理協(xié)議需要在初始化過程中向黑板代理登記從而當黑板代理與目的代理(圖12)通信所發(fā)布的消息時,它指導(dǎo)如何重組此消息。
域從屬代理隨著本發(fā)明體系結(jié)構(gòu)應(yīng)用的改變,圖1中的域從屬代理22、24、26、28和30將改變。這些代理捕獲問題解決中的實際處理并代表交互的不同知識源。每個域從屬代理是模塊化且自給自足且在指導(dǎo)過程中是主動或被動的,這使得它能與角色扮演的人交換。與模態(tài)無關(guān),域特定代理的普通體系結(jié)構(gòu)可如圖19構(gòu)建。值得注意的是本發(fā)明體系結(jié)構(gòu)除了如圖19所述結(jié)構(gòu)還可選用域從屬代理體系結(jié)構(gòu)。
在每個代理中的感知和通信模塊,分別為圖19的500和502,處理系統(tǒng)其余部分的通信方法。因此,感知和通信模塊是域從屬代理與系統(tǒng)其余部分聯(lián)系的唯一方法。如前所述,每個域從屬代理具有與感知和通行模塊通信的專用黑板,如箭頭504和506所示。
每個域從屬代理具有三個不同模塊或它們所屬環(huán)境的狀態(tài)表示。全局模型508表示代理所認為的全局(系統(tǒng))當前狀態(tài)。這基于各種代理行為而變化。此模型并不真正代表全局而是代表代理所認為的。當進行指導(dǎo)處理(或問題解決)時,此模型將成為反映所有代理(和用戶)的信息和行為。為更新全局/系統(tǒng)的表示,全局模型與代理的感知和通信模塊通信。
域模型510為在域中代理應(yīng)該如何執(zhí)行的行為模型。也就是它希望數(shù)據(jù)來自誰、它的發(fā)現(xiàn)與誰相關(guān)、它應(yīng)該如何發(fā)布/讀取信息、圖像/數(shù)據(jù)變換協(xié)定等等。此模型也反映了屬于角色扮演或測試模式的信息。
最后的模塊是代理內(nèi)部狀態(tài)且模塊化為本地模型512。此模型表示特殊代理已處理的所有信息以及它所考慮的當前行為。此狀態(tài)可被認為是隔離,也就是,與其他代理無交互的特殊代理的整體工作。然而,模型反映了代理接收的所有輸入。
除了與黑板的通信,域從屬代理已有一管理決定代理所執(zhí)行的接口是否是應(yīng)該通信(發(fā)布到一黑板上)的“行為”模塊514。因此,行為模塊在這方面作為域從屬代理的“發(fā)動機”或“大腦”。
因此,一代理發(fā)布到黑板上每個消息必須仔細配置,與黑板上其他消息同步且與類似其他代理按緊急程度確定優(yōu)先級。一些消息為例程且以常規(guī)間隔時間尋址且一些在執(zhí)行一些其它步驟之前(或經(jīng)過一段時間)具有不能被忽略的緊急程度。一些消息立即需要注意從而具有一更高的優(yōu)先級。預(yù)備模塊516、優(yōu)先級模塊518和同步模塊520處理所有消息控制。這些模塊的基本組成最好與每個域從屬代理相同。
任何代理的核心是其所具有的知識。代理特定知識庫522包括此信息。此信息指導(dǎo)代理當前狀態(tài)且然后選擇最適合的類型。知識可為一組規(guī)則(輔助解釋)的形式或是一神經(jīng)網(wǎng)絡(luò)(已被訓(xùn)練的)。此知識體捕獲SME(對象內(nèi)容專家)要素并允許代理在其能力和權(quán)限水平執(zhí)行。知識庫工作獨立于代理的其他模塊且只依賴它們所提供的信息。
多計算機系統(tǒng)如前所述,本發(fā)明的體系結(jié)構(gòu)采用一多于一臺計算機的用于問題解決或指導(dǎo)用戶的系統(tǒng)中。此配置使得不同地理位置用戶在指導(dǎo)會話或訓(xùn)練腳本中能同步參與或角色扮演。在一多計算機系統(tǒng)中,如圖1所示的所有系統(tǒng)結(jié)構(gòu)組件均被下載到每個計算機上。在一多計算機系統(tǒng)中的域從屬和域獨立代理處理以下例外如上所述進行操作。
只有產(chǎn)生指導(dǎo)會話的計算機(“主要”計算機)的控制代理進行操作且只有主要計算機的令牌被使用。而且,其余“第二”計算機的域獨立和域從屬代理與主要計算機的其余域獨立和從屬代理同步。因此,第二計算機域從屬與域獨立代理的行為映射那些主要計算機域從屬和域獨立代理為它們在主要計算機控制代理的控制下操作。因此,多計算機系統(tǒng)為經(jīng)由主要計算機中心控制。
在一角色扮演訓(xùn)練或指導(dǎo)腳本中,用戶已被代替成域從屬代理設(shè)置的“角色扮演”標識符為。當一域從屬代理具有一“角色扮演”標識符設(shè)置,它知道保持安靜且不做什么,因此對應(yīng)的用戶可執(zhí)行他的或她的角色。
域從屬和域獨立代理全局列表只保持在主要計算機中且機器名和用戶已被代替的域從屬代理端口被下載到后者。
結(jié)論如可見的,本發(fā)明的體系結(jié)構(gòu)可應(yīng)用在任何需要多知識源和在問題解決處理中使它們不交互的環(huán)境中。此技術(shù)可用于多種指導(dǎo)和鑒定域且被轉(zhuǎn)移到問題解決處理本身。此體系結(jié)構(gòu)提供了一用戶中心模式,教導(dǎo)指導(dǎo)系統(tǒng)區(qū)分各用戶的特定需求而不僅僅是一內(nèi)容儲存庫。
域從屬代理及其專用黑板的感知和通信模塊使得域從屬代理與系統(tǒng)間的交互簡單化。因此,體系結(jié)構(gòu)提供了模塊化實現(xiàn)的重要優(yōu)點。例如,系統(tǒng)可初始實現(xiàn)為一獨立于操作系統(tǒng)單元或“智能盒”,其中所有代理在其中編碼為軟件。當用戶更相信技術(shù)時,技術(shù)可結(jié)合到機器硬件中,例如醫(yī)學(xué)圖像機器。也就是說,由于類模塊化結(jié)構(gòu),一些域從屬代理機器專用黑板可作為機器硬件而其他仍然編碼為智能盒中的軟件。因此,可采用實現(xiàn)此體系結(jié)構(gòu)的系統(tǒng)的相位實現(xiàn)。此體系結(jié)構(gòu)的關(guān)鍵是模塊無需對系統(tǒng)其他部分進行任何改變便可移動或更新。
而且,域從屬代理及其專用黑板的類模塊化結(jié)構(gòu)在指導(dǎo)應(yīng)用中具有許多優(yōu)點。例如,人類用戶可替換為系統(tǒng)中不同域從屬代理。因此,用戶可在系統(tǒng)中角色扮演。多用戶可在相同指導(dǎo)系統(tǒng)中假定不同角色并與軟件/硬件代理無縫交互。由于可能的分布式(TCP/IP)域從屬代理的中心外殼,這是一關(guān)鍵功能。
本發(fā)明的此體系結(jié)構(gòu)可用于指導(dǎo)、問題解決、鑒定或僅僅是提供具有系統(tǒng)可提議并解釋的有效第二建議的對象內(nèi)容專家。
本發(fā)明的優(yōu)選實施例已述,很明顯本領(lǐng)域普通技術(shù)人員可以對其進行改變和修改而未脫離本發(fā)明精神。
權(quán)利要求
1.一用于計算機系統(tǒng)的體系結(jié)構(gòu),包括a)多個域從屬代理,每個所述域從屬代理包括一知識庫;b)多個域從屬代理黑板,每個所述多個域從屬代理黑板之一被每個所述多個域從屬代理專用;c)一黑板代理,所述黑板代理傳輸消息至所述多個域從屬代理黑板,并自所述多個域從屬代理黑板傳輸消息;其中所述多個域從屬代理可通過發(fā)布消息到專用黑板且從專用黑板上讀取消息與另一域從屬代理通信。
2.如權(quán)利要求1所述的體系結(jié)構(gòu),還包括一控制代理和一令牌,所述控制代理可在所述多個域從屬代理和所述黑板代理之間選擇傳遞令牌,從而只有當它們具有令牌時每個所述多個域從屬代理和所述黑板代理起作用。
3.如權(quán)利要求1所述的體系結(jié)構(gòu),其中計算機系統(tǒng)用于指導(dǎo)且還包括一指導(dǎo)代理和一專用指導(dǎo)代理黑板,所述指導(dǎo)代理通過專用指導(dǎo)代理黑板和多個域從屬代理黑板與域從屬代理通信并使計算機系統(tǒng)用戶能在用于一指導(dǎo)會話的域從屬代理之間選擇。
4.如權(quán)利要求3所述的體系結(jié)構(gòu),還包括一數(shù)據(jù)庫代理、一專用數(shù)據(jù)庫代理黑板和一數(shù)據(jù)庫,通過專用數(shù)據(jù)庫代理和專用指導(dǎo)代理黑板,所述數(shù)據(jù)庫代理從所述數(shù)據(jù)庫向所述指導(dǎo)代理提供數(shù)據(jù),通過專用指導(dǎo)代理和用于發(fā)布所述數(shù)據(jù)庫的專用數(shù)據(jù)庫代理黑板,所述數(shù)據(jù)庫代理從所述指導(dǎo)代理接收數(shù)據(jù)。
5.如權(quán)利要求4所述的體系結(jié)構(gòu),其中數(shù)據(jù)庫是一學(xué)生數(shù)據(jù)庫從而在指導(dǎo)會話期間用戶行為可被記錄在學(xué)生數(shù)據(jù)庫上。
6.如權(quán)利要求1所述的體系結(jié)構(gòu),還包括一用戶顯示器、一圖形前端、一用戶接口代理和一專用用戶接口代理黑板,所述用戶接口代理通過多個域從屬代理黑板、專用用戶接口代理黑板和圖形前端顯示來自域從屬代理知識庫的信息。
7.如權(quán)利要求6所述的體系結(jié)構(gòu),其中所述用戶接口代理也接收用戶輸入并通過專用用戶接口代理黑板和多個域從屬代理黑板將它們導(dǎo)向適當域從屬代理。
8.如權(quán)利要求1所述的體系結(jié)構(gòu),其中多個域從屬代理每個通過傳輸控制協(xié)議/網(wǎng)際協(xié)議鏈接與它們專用黑板通信。
9.如權(quán)利要求1所述的體系結(jié)構(gòu),其中每個域從屬代理具有一全局模型,指示整個計算機系統(tǒng)的狀態(tài),一域模型,對應(yīng)于計算機系統(tǒng)代理應(yīng)如何執(zhí)行,和一本地模型,指示代理的一內(nèi)部狀態(tài)。
10.一用于一計算機系統(tǒng)的體系結(jié)構(gòu),包括a)多個域從屬代理,每個所述域從屬代理包括一知識庫;b)多個域獨立代理;c)多個黑板,每個所述多個黑板之一被每個所述域從屬代理和域獨立代理之一專用;以及c)用于在所屬多個黑板之間傳輸消息的裝置;其中所述多個域從屬和域獨立代理可通過發(fā)布消息到專用黑板且從專用黑板上讀取消息與另一代理通信。
11.如權(quán)利要求10所述的體系結(jié)構(gòu),其中用于傳輸消息的裝置是一黑板代理。
12.如權(quán)利要求10所述的體系結(jié)構(gòu),還包括一令牌且其中所述域獨立代理包括一控制代理,所述控制代理可選地在所述多個域從屬和域獨立代理之間傳遞令牌從而使得只有當它具有令牌時每個所述多個域從屬和域獨立代理起作用。
13.如權(quán)利要求10所述的體系結(jié)構(gòu),其中計算機系統(tǒng)用于指導(dǎo)且多個域獨立代理包括一指導(dǎo)代理,并且多個黑板包括一專用指導(dǎo)代理黑板,所述指導(dǎo)代理通過專用指導(dǎo)代理黑板和多個黑板與域從屬和域獨立代理通信并使計算機系統(tǒng)用戶能在用于一指導(dǎo)會話的域從屬代理之間選擇。
14.如權(quán)利要求13所述的體系結(jié)構(gòu),還包括一數(shù)據(jù)庫且其中多個域獨立代理包括一數(shù)據(jù)庫代理,且多個黑板包括一專用數(shù)據(jù)庫代理黑板,所述數(shù)據(jù)庫代理通過專用數(shù)據(jù)庫代理黑板和其余多個黑板從所述數(shù)據(jù)庫向所述域從屬和域獨立代理提供數(shù)據(jù),且所述數(shù)據(jù)庫代理通過專用指導(dǎo)代理黑板和用于發(fā)布在所述數(shù)據(jù)庫上的其余多個黑板從所述域從屬和域獨立代理接收數(shù)據(jù)。
15.如權(quán)利要求14所述的體系結(jié)構(gòu),其中數(shù)據(jù)庫是一學(xué)生數(shù)據(jù)庫從而在指導(dǎo)會話期間用戶行為可被記錄在學(xué)生數(shù)據(jù)庫上。
16.如權(quán)利要求10所述的體系結(jié)構(gòu),還包括一用戶顯示器和一圖形前端,且其中所述多個域獨立代理包括一用戶接口代理,且多個黑板包括一專用用戶接口代理黑板,所述用戶接口代理通過專用用戶接口代理黑板、其余多個黑板和圖形前端顯示來自域從屬代理知識庫的信息。
17.如權(quán)利要求16所述的體系結(jié)構(gòu),其中所述用戶接口代理也接收用戶輸入并通過專用用戶接口代理黑板和其余多個黑板將它們導(dǎo)向適當域從屬和域獨立代理。
18.如權(quán)利要求10所述的體系結(jié)構(gòu),其中多個域從屬代理和域獨立代理通過傳輸控制協(xié)議/網(wǎng)際協(xié)議鏈接與它們專用黑板通信。
19.計算機體系結(jié)構(gòu)中第一和第二代理之間通信的方法,包括步驟a)提供一具有一專用第一代理黑板的第一代理;b)提供一具有一專用第二代理黑板的第二代理;c)提供一黑板代理;d)第一代理在專用第一代理黑板上發(fā)布消息;e)利用黑板代理將來自專用第一代理黑板的消息移動到專用第二代理黑板;以及f)第二代理從專用第二代理黑板讀取消息。
20.如權(quán)利要求19所述的方法,包括步驟g)提供一控制代理和一令牌;h)利用控制代理將令牌傳遞到第一代理;i)當?shù)谝淮砭哂辛钆茣r執(zhí)行步驟d);j)利用控制代理將令牌從第一代理傳遞到黑板代理;k)當黑板代理具有令牌時執(zhí)行步驟e);l)利用控制代理將令牌從黑板代理傳遞到第二代理;以及m)當?shù)诙砭哂辛钆茣r執(zhí)行步驟f)。
全文摘要
一用于計算機系統(tǒng)問題解決和指導(dǎo)的體系結(jié)構(gòu)包括每個具有一知識庫的多域從屬代理(22-30)、多域獨立代理和屬于每個代理的專用黑板(圖2)。代理通過一傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)鏈接(43a-43j)與其專用黑板通信且在黑板之間通過黑板代理(38)移動消息。域獨立代理包括一在代理之間傳遞令牌的控制代理(36)。只有當一代理具有令牌時才起作用。域獨立代理也包括一用戶接口代理(32)、一數(shù)據(jù)庫代理(34)和一指導(dǎo)代理(40)。也存在訓(xùn)練/測試數(shù)據(jù)儲存庫(44)和學(xué)生數(shù)據(jù)庫(46)。后者存儲測試或指導(dǎo)會話期間與學(xué)生行為有關(guān)的信息。此體系結(jié)構(gòu)可使用多機器以允許不同地理位置用戶同時角色扮演。
文檔編號G09B5/08GK1500258SQ01822436
公開日2004年5月26日 申請日期2001年12月21日 優(yōu)先權(quán)日2000年12月22日
發(fā)明者S·拉馬參專, A·坎車拉保利, S 拉馬參專, 道 @ 申請人:艾登泰迪基體醫(yī)學(xué)公司