版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第六章人機(jī)交互界面
的表示模型與實(shí)現(xiàn)山東大學(xué)計(jì)算機(jī)學(xué)院第六章人機(jī)交互界面
的表示模型與實(shí)現(xiàn)山東大學(xué)計(jì)算機(jī)學(xué)院山東大學(xué)計(jì)算機(jī)學(xué)院2目的在界面設(shè)計(jì)的早期階段,研究建立一種用戶界面表示模型利用形式化的設(shè)計(jì)語言來分析和表達(dá)用戶任務(wù)以及用戶和系統(tǒng)之間的交互情況;使界面表示模型能方便地映射到實(shí)際的設(shè)計(jì)實(shí)現(xiàn)。
山東大學(xué)計(jì)算機(jī)學(xué)院2目的在界面設(shè)計(jì)的早期階段,研究建立一種用山東大學(xué)計(jì)算機(jī)學(xué)院3界面模型分類任務(wù)分解和分析能力模型(competencemodel)描述用戶的目的行為模型(performancemodel)預(yù)測和描述用戶合法的交互行為序列結(jié)構(gòu)模型constructionalmodel系統(tǒng)組成模型山東大學(xué)計(jì)算機(jī)學(xué)院3界面模型分類任務(wù)分解和分析山東大學(xué)計(jì)算機(jī)學(xué)院4本章主要內(nèi)容掌握三種模型:行為模型主要從用戶和任務(wù)的角度考慮如何來描述人機(jī)交互界面,將詳細(xì)介紹GOMS,UAN及LOTOS模型。結(jié)構(gòu)模型主要從系統(tǒng)的角度來表示人機(jī)交互界面。重點(diǎn)介紹狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)(STN-StateTransitionNetwork)和產(chǎn)生式規(guī)則(ProductionRule)。事件-對象模型是一種面向?qū)ο蟮谋硎灸P?,它將人機(jī)交互活動歸結(jié)為事件與對象的相互作用。掌握如何由界面的行為表示模型轉(zhuǎn)換到系統(tǒng)的結(jié)構(gòu)模型。山東大學(xué)計(jì)算機(jī)學(xué)院4本章主要內(nèi)容掌握三種模型:人機(jī)交互界面表示模型——
行為模型人機(jī)交互界面表示模型——
行為模型山東大學(xué)計(jì)算機(jī)學(xué)院6GOMS簡介1983年由Card,Morgan和Newell提出的。通過目標(biāo)
(Goal)、操作
(Operator)、方法
(Method)以及選擇規(guī)則
(Selection)四個元素來描述用戶的行為。GOMS是在交互系統(tǒng)中用來分析建立用戶行為的模型。它采用“分而治之”的思想,將一個任務(wù)進(jìn)行多層次的細(xì)化。山東大學(xué)計(jì)算機(jī)學(xué)院6GOMS簡介1983年由Card,Mo山東大學(xué)計(jì)算機(jī)學(xué)院7GOMS1.目標(biāo)Goals
目標(biāo)就是用戶執(zhí)行任務(wù)最終想要得到的結(jié)果,它可以在不同的層次中進(jìn)行定義。eg:“編輯一篇文章”-“編輯文章”(高層);
“刪除字符”(低層)
2.
操作Operators
操作是任務(wù)分析到最低層時的行為,是用戶為了完成任務(wù)所必須執(zhí)行的基本動作。操作不能被分解,在GOMS模型中是原子動作。山東大學(xué)計(jì)算機(jī)學(xué)院7GOMS1.目標(biāo)Goals山東大學(xué)計(jì)算機(jī)學(xué)院8GOMS3.方法Methods
方法是描述如何完成目標(biāo)的過程。一個方法本質(zhì)上來說是內(nèi)部的算法,用來確定子目標(biāo)序列及完成目標(biāo)所需要的操作。關(guān)閉(最小化)窗口GOAL:ICONSIZE-WINDOW[selectGOAL:USE-CLOSE-METHODMOVE-MOUSE-TO-WINDOW-HEADERPOP-UP-MENUCLICK-OVER-CLOSE-OPTIONGOAL:USE-L7-METHODPRESS-L7-KEY]山東大學(xué)計(jì)算機(jī)學(xué)院8GOMS3.方法Methods山東大學(xué)計(jì)算機(jī)學(xué)院9GOMS4.選擇Selection選擇是用戶要遵守的判定規(guī)則,以確定在特定環(huán)境下所要使用的方法。當(dāng)有多個方法可供選擇時,GOMS中并不認(rèn)為這是一個隨機(jī)的選擇,而是盡量來預(yù)測會使用哪個方法,這需要根據(jù)特定用戶、系統(tǒng)的狀態(tài)、目標(biāo)的細(xì)節(jié)來預(yù)測要選擇哪種方法。用戶Sam:Rule1:UsetheCLOSE-METHODunlessanotherruleappliesRule2:IftheapplicationisGAME,useL7-METHOD山東大學(xué)計(jì)算機(jī)學(xué)院9GOMS4.選擇Selection山東大學(xué)計(jì)算機(jī)學(xué)院10任務(wù)Editing的GOMS描述實(shí)例Task:EditingGOAL:EDIT-MANUSCRIPTGOAL:EDIT-UNIT-Taskrepeatuntilnomoreunittasks
GOAL:ACQUIRE-UNIT-TASKGET-NEXTifatendofmanuscriptGET-NEXT-TASK
GOAL:EXECUTE-UNIT-TASK
GOAL:LOCATE-LINE[select:USE-QS-METHEDUSE-LF-METHOD]
GOAL:MODIFY-TEXT[select:USE-S-METHODUSE-M-METHOD]VERIFY-EDIT
子目標(biāo)間關(guān)系:順序關(guān)系,選擇關(guān)系山東大學(xué)計(jì)算機(jī)學(xué)院10任務(wù)Editing的GOMS描述實(shí)例T山東大學(xué)計(jì)算機(jī)學(xué)院11GOMS應(yīng)用GOMS是一種人機(jī)交互界面表示的理論模型,被稱為最成熟的工程典范,該模型在計(jì)算機(jī)系統(tǒng)的評估方面也有廣泛的應(yīng)用。GOMScansavemoney!美國電話公司NYNEX利用GOMS分析一套即將被采用的新的計(jì)算機(jī)系統(tǒng)的應(yīng)用效果,結(jié)果發(fā)現(xiàn)效果不理想,放棄了使用新系統(tǒng),為公司節(jié)約了數(shù)百萬的資金。山東大學(xué)計(jì)算機(jī)學(xué)院11GOMS應(yīng)用GOMS是一種人機(jī)交互界面山東大學(xué)計(jì)算機(jī)學(xué)院12GOMS的局限性GOMS沒有清楚的描述錯誤處理的過程,假設(shè)用戶完全按一種正確的方式進(jìn)行人機(jī)交互,因此只針對那些不犯任何錯誤的專家用戶。GOMS對于任務(wù)之間的關(guān)系描述過于簡單,只有順序和選擇.事實(shí)上任務(wù)之間的關(guān)系還有很多種(具體參見6.1.2節(jié)中LOTOS的介紹),另外選擇關(guān)系通過非形式化的附加規(guī)則描述,實(shí)現(xiàn)起來也比較困難。GOMS把所有的任務(wù)都看作是面向操作目標(biāo)的,而忽略了一些任務(wù)所要解決的問題本質(zhì)以及用戶間的個體差異,它的建立不是基于現(xiàn)有的認(rèn)知心理學(xué),無法代表真正的認(rèn)知過程。
山東大學(xué)計(jì)算機(jī)學(xué)院12GOMS的局限性GOMS沒有清楚的描述山東大學(xué)計(jì)算機(jī)學(xué)院13LOTOS簡介LOTOS-LanguageOfTemporalOrderingSpecification,T.Bolognesi,H.Brinskma,"IntroductiontotheISOSpecificationLanguageLOTOS”,1987.國際標(biāo)準(zhǔn)形式描述語言,無二義性,適于描述具有并發(fā)、交互、反饋和不確定性等特點(diǎn)的并發(fā)(concurrent)系統(tǒng)中的行為。開始作為一種描述網(wǎng)絡(luò)協(xié)議的語言,由于交互系統(tǒng)、特別是多通道交互系統(tǒng)有并發(fā)系統(tǒng)的特點(diǎn),因此成為用來描述交互系統(tǒng)的行為模型。山東大學(xué)計(jì)算機(jī)學(xué)院13LOTOS簡介LOTOS-Lang山東大學(xué)計(jì)算機(jī)學(xué)院14LOTOS基本思想系統(tǒng)的外部可見行為可以看作是由一個有時序關(guān)系的交互序列組成。系統(tǒng)由一系列進(jìn)程組成,進(jìn)程同環(huán)境之間通過稱為“關(guān)口”(gates)的交互點(diǎn)進(jìn)行交互。兩個以上的進(jìn)程在執(zhí)行同一個外部可見的行為時會發(fā)生交互操作,進(jìn)行數(shù)據(jù)交換、信息傳遞、協(xié)調(diào)同步等操作。進(jìn)程行為用“行為表達(dá)式”來描述,復(fù)雜的行為由簡單的行為表達(dá)式通過表示時序關(guān)系的LOTOS算符組合而成。在將LOTOS思想用于人機(jī)交互的行為模型時,用進(jìn)程之間的約束關(guān)系來描述交互子任務(wù)之間的關(guān)系。
山東大學(xué)計(jì)算機(jī)學(xué)院14LOTOS基本思想系統(tǒng)的外部可見行為可山東大學(xué)計(jì)算機(jī)學(xué)院15LOTOS算符LOTOS算符主要有以下幾種:
T1|||T2(交替Interleaving) T1[]T2(選擇Choice) T1|[a1,...,an]|T2(同步Synchronization) T1[>T2(禁止Deactivation) T1>>T2(允許Enabling)山東大學(xué)計(jì)算機(jī)學(xué)院15LOTOS算符LOTOS算符主要有以下山東大學(xué)計(jì)算機(jī)學(xué)院16LOTOS實(shí)例山東大學(xué)計(jì)算機(jī)學(xué)院16LOTOS實(shí)例山東大學(xué)計(jì)算機(jī)學(xué)院17中國象棋的LOTOS任務(wù)分解實(shí)例山東大學(xué)計(jì)算機(jī)學(xué)院17中國象棋的LOTOS任務(wù)分解實(shí)例山東大學(xué)計(jì)算機(jī)學(xué)院18LOTOS與GOMS的結(jié)合LOTOS模型很好的描述了任務(wù)之間的時序約束關(guān)系,這些時序約束關(guān)系能更好的描述GOMS中子目標(biāo)之間的關(guān)系。用GOMS模型描述任務(wù)的分解過程,而用LOTOS給出子任務(wù)之間的約束關(guān)系,這樣就可以增加兩種表示模型的表示能力。
山東大學(xué)計(jì)算機(jī)學(xué)院18LOTOS與GOMS的結(jié)合LOTOS模山東大學(xué)計(jì)算機(jī)學(xué)院19結(jié)合GOMS和LOTOS的中國象棋程序的行為描述GOAL:中國象棋
[>:GOAL:運(yùn)行
|||:
*GOAL:走棋
ACTION:自動記錄棋譜
>>:GOAL:當(dāng)前方走
>>:OPRATOR:拾取棋子
OPRATOR:放置棋子
GOAL:對弈方走>>OPRATOR:拾取棋子
OPRATOR:放置棋子
*GOAL:打譜
[]:OPRATOR:加速
OPRATOR:減速
OPRATOR:暫停
OPRATOR:恢復(fù)
GOAL:退出山東大學(xué)計(jì)算機(jī)學(xué)院19結(jié)合GOMS和LOTOS的中國象棋程序山東大學(xué)計(jì)算機(jī)學(xué)院20總結(jié)LOTOS與GOMS結(jié)合,可以清楚地了解整個目標(biāo)層次及各目標(biāo)之間的約束關(guān)系。但與GOMS同樣存在無法描述目標(biāo)異常結(jié)束的缺陷,同時當(dāng)任務(wù)進(jìn)行選擇時用什么規(guī)則進(jìn)行選擇并未涉及。LOTOS最大的優(yōu)越性在于可以構(gòu)造一套現(xiàn)成的自動化工具,利用這些工具,可自動進(jìn)行錯誤檢測,但它過于形式化的記法比較晦澀難懂。GOMS和LOTOS的結(jié)合可以很好地描述人機(jī)交互的較高級的任務(wù),對于原子任務(wù)的形式化描述,上述模型并沒有給出一個比較清晰的描述,下面討論的UAN模型主要用于原子目標(biāo)的描述。
山東大學(xué)計(jì)算機(jī)學(xué)院20總結(jié)LOTOS與GOMS結(jié)合,可以清楚山東大學(xué)計(jì)算機(jī)學(xué)院21UAN模型UANUserActionNotation,Hartsonetal1990.UAN是一種簡單的符號語言,主要描述用戶的行為序列以及在執(zhí)行任務(wù)時所用的界面物理對象。
盡管UAN屬于一種行為模型,但作為一種任務(wù)描述語言,它又涉及一定程度的系統(tǒng)行為的描述,因而它兼有行為模型和結(jié)構(gòu)模型的一些特點(diǎn)。山東大學(xué)計(jì)算機(jī)學(xué)院21UAN模型UANUserAct山東大學(xué)計(jì)算機(jī)學(xué)院22UAN模型的基本思想預(yù)定義一些標(biāo)志符:用戶動作標(biāo)志符條件標(biāo)志符采用一種表格結(jié)構(gòu)來表示任務(wù)界面被分解成一些類似層次結(jié)構(gòu)的異步任務(wù),每個任務(wù)的實(shí)現(xiàn)都用表格來描述,用戶動作的關(guān)聯(lián)性和時序關(guān)系由表格的行列對齊關(guān)系和從上到下、從左到右的閱讀順序來確定。任務(wù)(task):任務(wù)名稱(thenameoftask)用戶行為界面反饋界面狀態(tài)山東大學(xué)計(jì)算機(jī)學(xué)院22UAN模型的基本思想預(yù)定義一些標(biāo)志符:山東大學(xué)計(jì)算機(jī)學(xué)院23UAN預(yù)定義的動作標(biāo)志符(部分)用戶動作標(biāo)志符:move_mouse(x,y)移動鼠標(biāo)至(x,y)release_button(x,y)在(x,y)位置釋放鼠標(biāo)按鈕;highlight(icon)使icon高亮顯示;de_highlight(icon)取消icon的高亮顯示。用戶動作標(biāo)志符:~[X],在某個圖形對象上移動鼠標(biāo);£,按下鼠標(biāo);¢,釋放鼠標(biāo);!,使對象高亮顯示;-!,取消對象的高亮顯示Display,顯示圖形對象;Erase,取消顯示對象。山東大學(xué)計(jì)算機(jī)學(xué)院23UAN預(yù)定義的動作標(biāo)志符(部分)用戶動山東大學(xué)計(jì)算機(jī)學(xué)院24UAN預(yù)定義的條件標(biāo)志符(部分)while(condition)TASK當(dāng)條件condition為真時,循環(huán)執(zhí)行任務(wù)TASK;if(condition)thenTASK如果條件condition滿足,則執(zhí)行任務(wù)TASK;iterationA*orA+表示迭代操作;waiting表示等待,可以等待一個條件滿足,也可以等待任務(wù)中的一個操作執(zhí)行。山東大學(xué)計(jì)算機(jī)學(xué)院24UAN預(yù)定義的條件標(biāo)志符(部分)whi山東大學(xué)計(jì)算機(jī)學(xué)院25UAN實(shí)例-單通道交互任務(wù):把文件拖入垃圾箱用戶行為界面反饋界面狀態(tài)mouse_down(x,y)
drag_icon(x,y)
mouse_up(x,y)
thenhighlight(icon)show_outline(icon)thenhighlight(bin)
thenhide(icon)show_bin_full()ifintersect(icon,x,y)icon=selected
ifintersect(bin,x,y)
ifintersect(bin,x,y)山東大學(xué)計(jì)算機(jī)學(xué)院25UAN實(shí)例-單通道交互任務(wù):把文件拖入山東大學(xué)計(jì)算機(jī)學(xué)院26UAN實(shí)例-多通道任務(wù):draganddropafiletotherecyclebin用戶行為界面反饋界面狀態(tài)2D鼠標(biāo)語音thenhighlight(icon)
show_outline(icon)thenhighlight(bin)
thenhide(icon)show_bin_full()ifintersect(icon,x,y)icon=selected
ifintersect(bin,x,y)
ifintersect(bin,x2,y2)mouse_down(x,y)drag_icon(x,y)mouse_up(x,y)PronounceMove_to+recycle_bin山東大學(xué)計(jì)算機(jī)學(xué)院26UAN實(shí)例-多通道任務(wù):dragan山東大學(xué)計(jì)算機(jī)學(xué)院27UAN實(shí)例-多通道任務(wù):在桌面上把文件A拖入文件B用戶行為界面反饋界面狀態(tài)2D鼠標(biāo)語音thenhighlight(iconA)
show_outline(iconA)thenhighlight(folderB)
thenhide(iconA)ifintersect(iconA,x,y)iconA=selected
ifintersect(folderB,x,y)
ifintersect(folderB,x2,y2)mouse_down(x,y)drag_icon(x,y)mouse_up(x,y)PronounceMove_to+B山東大學(xué)計(jì)算機(jī)學(xué)院27UAN實(shí)例-多通道任務(wù):在桌面上把文件山東大學(xué)計(jì)算機(jī)學(xué)院28UAN總結(jié)UAN模型更接近于實(shí)現(xiàn),界面狀態(tài)和界面反饋用一般的程序語言描述,實(shí)現(xiàn)起來比較方便,當(dāng)然這種描述由于接近于程序語言,因此設(shè)計(jì)時需要一定的編程基礎(chǔ)UAN模型在精確刻畫各成分之間的各種平行和串行的時序關(guān)系方面尚顯不足,任務(wù)之間的時序關(guān)系沒有明確表示出來,當(dāng)所描述的界面使用多種輸入設(shè)備和有若干可選交互路徑時,比較繁瑣。
山東大學(xué)計(jì)算機(jī)學(xué)院28UAN總結(jié)UAN模型更接近于實(shí)現(xiàn),界面山東大學(xué)計(jì)算機(jī)學(xué)院29層次化的界面描述方法山東大學(xué)計(jì)算機(jī)學(xué)院29層次化的界面描述方法人機(jī)交互界面表示模型——
結(jié)構(gòu)模型人機(jī)交互界面表示模型——
結(jié)構(gòu)模型界面表示的行為模型和結(jié)構(gòu)模型行為模型行為模型是從用戶任務(wù)和完成目標(biāo)角度描述界面模型描述任務(wù)或目標(biāo)為了完成任務(wù)或達(dá)到目標(biāo)所進(jìn)行的行為序列結(jié)構(gòu)模型結(jié)構(gòu)模型從系統(tǒng)組成角度,描述如何通過交互序列完成交互任務(wù)。著重描述系統(tǒng)的反應(yīng)和行為。從用戶角度看,行為模型強(qiáng)調(diào)做什么,結(jié)構(gòu)模型強(qiáng)調(diào)怎么做界面表示的行為模型和結(jié)構(gòu)模型行為模型結(jié)構(gòu)模型產(chǎn)生式規(guī)則-ProductionRule狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)-StateTransitionNetwork結(jié)構(gòu)模型產(chǎn)生式規(guī)則-ProductionRule產(chǎn)生式規(guī)則
又稱為上下文無關(guān)文法,將人機(jī)交互對話看作是一種語言,運(yùn)用基于語法的方法來描述交互對話。產(chǎn)生式集合定義了用戶與計(jì)算機(jī)交互所運(yùn)用的語言。產(chǎn)生式規(guī)則的一般形式是:ifconditionthenaction這些規(guī)則可以表示為不同的形式,如condition→
actioncondition:action
產(chǎn)生式規(guī)則又稱為上下文無關(guān)文法,將人機(jī)交互對話看作是一種語產(chǎn)生式規(guī)則系統(tǒng)不斷用產(chǎn)生式規(guī)則來檢測用戶的輸入是否與這些條件相匹配。若匹配則激活相應(yīng)的動作,這些動作可以是執(zhí)行應(yīng)用程序的一個過程,也可以是直接改變某些系統(tǒng)狀態(tài)的值。一般來說,組成界面描述的產(chǎn)生式規(guī)則很多,所有的規(guī)則都是有效的,規(guī)則定義的順序并不重要,只要與規(guī)則中的條件相匹配,就可以激活相應(yīng)的動作。產(chǎn)生式規(guī)則系統(tǒng)可以是事件引導(dǎo);狀態(tài)引導(dǎo);混合引導(dǎo)產(chǎn)生式規(guī)則事件引導(dǎo)的系統(tǒng)用戶在屏幕上繪制直線Sel-line→start-line<highlight'line'>C-pointstart-line→rest-line<rubberbandon>C-pointrest-line→rest-line<drawline>D-pointrest-line→<drawline><rubberbandoff>事件引導(dǎo)的系統(tǒng)用戶在屏幕上繪制直線事件引導(dǎo)的系統(tǒng)產(chǎn)生式規(guī)則的條件和動作部分都以事件的方式進(jìn)行表示。事件主要有三種類型:用戶事件(userevent),Sel-line表示從菜單中選擇line命令,C-point和D-point表示用戶在繪圖平面上單擊和雙擊鼠標(biāo)。內(nèi)部事件,用于保持對話狀態(tài),如start-line表示開始畫線后的狀態(tài),rest-line表示選擇了第一個點(diǎn)之后的狀態(tài)。系統(tǒng)響應(yīng)事件,以尖括號表示可見或可聽的系統(tǒng)響應(yīng),如<highlight'line'>,把菜單項(xiàng)'line'高亮度顯示,<drawline>表示在屏幕上顯示直線,<rubberbandon>表示橡皮筋繪制方式打開,<rubberbandoff>表示橡皮筋繪制方式關(guān)閉。事件引導(dǎo)的系統(tǒng)產(chǎn)生式規(guī)則的條件和動作部分都以事件的方式進(jìn)行表事件引導(dǎo)實(shí)現(xiàn)方法保存內(nèi)部事件序列構(gòu)造一個對話控制器,主要負(fù)責(zé)事件的產(chǎn)生和規(guī)則的匹配規(guī)則的匹配算法影響系統(tǒng)的性能事件引導(dǎo)實(shí)現(xiàn)方法保存內(nèi)部事件序列狀態(tài)引導(dǎo)的系統(tǒng)事件引導(dǎo)的系統(tǒng)中的內(nèi)部事件,是事件還是狀態(tài)?在系統(tǒng)內(nèi)存保存的不再是動態(tài)的隨時進(jìn)出的事件,而是一些表示系統(tǒng)的當(dāng)前狀態(tài)的屬性,這些屬性在不同的時刻有不同的值。狀態(tài)引導(dǎo)的系統(tǒng)事件引導(dǎo)的系統(tǒng)中的內(nèi)部事件,是事件還是狀態(tài)?狀態(tài)定義Mouse:﹛mouse-null,select-line,click-point,double-click﹜Line-state:﹛menu,start-line,rest-line﹜Rubber-band:﹛rubber-band-on,rubber-band-off﹜Menu:﹛highlight-null,highlight-line,highlight-circle﹜Draw:﹛draw-nothing,draw-line﹜狀態(tài)定義Mouse:﹛mouse-null,select-產(chǎn)生式規(guī)則Select-line→mouse-nullstart-linehighlight-lineClick-pointstart-line→mouse-nullrest-linerubber-band-onClick-pointrest-line→mouse-nulldraw-lineDouble-clickrest-line→mouse-nullmenudraw-linerubber-band-off產(chǎn)生式規(guī)則Select-line→mouse-nulls混合引導(dǎo)的系統(tǒng)可以將兩者結(jié)合起來,采用下面的形式:event:condition→action
來描述一個產(chǎn)生式規(guī)則。事件用來激活產(chǎn)生式規(guī)則,如果條件不滿足,即當(dāng)前系統(tǒng)內(nèi)存中的狀態(tài)和產(chǎn)生式的規(guī)則不匹配,則無法激活規(guī)則。當(dāng)狀態(tài)改變時,產(chǎn)生式規(guī)則中的action本身也可以產(chǎn)生新的事件,從而可以激活另一條規(guī)則。混合引導(dǎo)的系統(tǒng)可以將兩者結(jié)合起來,采用下面的形式:混合引導(dǎo)的系統(tǒng)系統(tǒng)有三個屬性:Bold: ﹛off,on﹜Italic: ﹛off,on﹜Underline: ﹛off,on﹜混合引導(dǎo)的系統(tǒng)系統(tǒng)有三個屬性:混合引導(dǎo)系統(tǒng)的產(chǎn)生式select-bold:Bold=off→Bold=onselect-bold:Bold=on →Bold=offselect-italic:Italic=off→Italic=onselect-italic:Italic=on →Italic=offselect-under:Underline=off →Underline=onselect-under:Underline=on →Underline=off混合引導(dǎo)系統(tǒng)的產(chǎn)生式select-bold:Bold=產(chǎn)生式規(guī)則總結(jié)描述操作時序能力強(qiáng),并發(fā)順序均可無法描述誤操作界面復(fù)雜時,狀態(tài)、事件復(fù)雜,產(chǎn)生式過多,要求產(chǎn)生式匹配算法性能高產(chǎn)生式規(guī)則總結(jié)描述操作時序能力強(qiáng),并發(fā)順序均可狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)(STN)的基本思想是定義一個具有一定數(shù)量狀態(tài)的轉(zhuǎn)換機(jī),稱之為有限狀態(tài)機(jī)-FiniteStateMachine(FSM)。FSM從外部世界中接收到事件,并能使FSM從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)。這里介紹兩種最基本的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò),狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)(StateDiagrams)和擴(kuò)展?fàn)顟B(tài)轉(zhuǎn)換網(wǎng)絡(luò)(StateCharts),后者是前者的一個擴(kuò)展。狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)(STN)的基本思想是定義一個具有一傳統(tǒng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)當(dāng)發(fā)生一個外部或內(nèi)部事件時,系統(tǒng)就會從一個狀態(tài)轉(zhuǎn)換到另外一個狀態(tài),這稱為狀態(tài)轉(zhuǎn)換。外部事件主要由用戶操作外部輸入設(shè)備來產(chǎn)生。內(nèi)部事件可以是系統(tǒng)產(chǎn)生的事件,如時鐘事件,也可以是為了改變系統(tǒng)的狀態(tài)和行為而產(chǎn)生的事件,如當(dāng)一個任務(wù)完成后可以激活另一個任務(wù)等。一個狀態(tài)轉(zhuǎn)換與一對狀態(tài)相關(guān)聯(lián)。一般的系統(tǒng)具有很多個狀態(tài),假設(shè)系統(tǒng)由n個狀態(tài)組成,狀態(tài)之間的轉(zhuǎn)換最多可能有n*(n-1)個。傳統(tǒng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)當(dāng)發(fā)生一個外部或內(nèi)部事件時,系統(tǒng)就會從一個簡單的三狀態(tài)FSM最多可能有6個狀態(tài)轉(zhuǎn)換簡單的三狀態(tài)FSM帶條件和動作的狀態(tài)轉(zhuǎn)換選項(xiàng)條件(conditions),表示導(dǎo)致狀態(tài)的改變的條件;選項(xiàng)動作(actions),表示系統(tǒng)在改變狀態(tài)時將執(zhí)行什么動作。帶條件和動作的狀態(tài)轉(zhuǎn)換選項(xiàng)條件(conditions),表示帶條件的狀態(tài)轉(zhuǎn)換實(shí)例帶條件的狀態(tài)轉(zhuǎn)換實(shí)例帶條件的狀態(tài)轉(zhuǎn)換實(shí)例基于鼠標(biāo)的畫圖工具drawcircle單擊在圓周上rubberband單擊在中心點(diǎn)highlight‘circle’選擇‘circle’Circle1MenuFinishCircle2drawline雙擊rubberband單擊在第一點(diǎn)highlight‘line’選擇‘line’Line1FinishLine2帶條件的狀態(tài)轉(zhuǎn)換實(shí)例基于鼠標(biāo)的畫圖工具drawcircle傳統(tǒng)狀態(tài)轉(zhuǎn)換模型的優(yōu)缺點(diǎn)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)的優(yōu)點(diǎn)比相應(yīng)的文本解決方案更易于設(shè)計(jì)、理解、修改和文檔化它給出了對行為的精確的、甚至是格式化的定義。存在著一定的局限性最大的缺陷是需要定義出系統(tǒng)的所有狀態(tài),這對于小型的系統(tǒng)是沒有問題的,但是在一個較大的系統(tǒng)中,系統(tǒng)會很快崩潰狀態(tài)的數(shù)目是呈指數(shù)級增長的,同時狀態(tài)的增長直接導(dǎo)致了狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)過于復(fù)雜、無法實(shí)際應(yīng)用。
傳統(tǒng)狀態(tài)轉(zhuǎn)換模型的優(yōu)缺點(diǎn)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)的優(yōu)點(diǎn)擴(kuò)展?fàn)顟B(tài)轉(zhuǎn)換網(wǎng)絡(luò)彈出graphics子菜單選擇‘graphics’主菜單graphics子菜單彈出text子菜單選擇‘text’text子菜單彈出paint子菜單選擇‘paintpaint子菜單
擴(kuò)展?fàn)顟B(tài)轉(zhuǎn)換網(wǎng)絡(luò)彈出graphics子菜單選擇‘grap山東大學(xué)計(jì)算機(jī)學(xué)院53帶有取消功能的狀態(tài)轉(zhuǎn)換圖彈出graphics子菜單選擇‘graphics’主菜單graphics子菜單彈出text子菜單選擇‘text’text子菜單彈出paint子菜單選擇‘paintpaint子菜單
ESC正常完成正常完成正常完成ESCESC山東大學(xué)計(jì)算機(jī)學(xué)院53帶有取消功能的狀態(tài)轉(zhuǎn)換圖彈出grap山東大學(xué)計(jì)算機(jī)學(xué)院54帶有幫助功能的狀態(tài)轉(zhuǎn)換按下HELP按鈕按下HELP按鈕從菜單出發(fā)drawcircle單擊在圓周上rubberband單擊在中心點(diǎn)Circle1FinishCircle2幫助子系統(tǒng)幫助子系統(tǒng)山東大學(xué)計(jì)算機(jī)學(xué)院54帶有幫助功能的狀態(tài)轉(zhuǎn)換按下HELP按鈕狀態(tài)轉(zhuǎn)換模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)具有良好的描述串行和順序行為的能力比相應(yīng)的文本解決方案更易于設(shè)計(jì)、理解、修改和文檔化它給出了對行為的精確的、甚至是格式化的定義缺點(diǎn)狀態(tài)的爆發(fā)式增長問題并發(fā)及其他行為的描述能力差雖然是一個結(jié)構(gòu)模型,但難以實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)行為模型和結(jié)構(gòu)模型的轉(zhuǎn)換
轉(zhuǎn)換算法
行為模型(G-U-L)
結(jié)構(gòu)模型StateChartsGOMSUANLOTOS約束規(guī)則用戶DomainExpertDesigner模型轉(zhuǎn)換整體框架行為模型和結(jié)構(gòu)模型的轉(zhuǎn)換轉(zhuǎn)換算法山東大學(xué)計(jì)算機(jī)學(xué)院57模型轉(zhuǎn)換整體框架
整個框架分為三個部分:行為模型使用G-U-L模型,在這一層將產(chǎn)生一個基本的預(yù)測性的行為模型。
結(jié)構(gòu)模型采用層次狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò),它涉及到的元素有狀態(tài)、轉(zhuǎn)換、事件、層次結(jié)構(gòu)。不考慮狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)在轉(zhuǎn)換中條件和同步,可以簡化轉(zhuǎn)換工作。
用戶包含兩種用戶,領(lǐng)域?qū)<液驮O(shè)計(jì)者。G-U-L模型的創(chuàng)建主要是由領(lǐng)域?qū)<液驮O(shè)計(jì)者合作來完成的,然后通過模型轉(zhuǎn)換算法轉(zhuǎn)換成為結(jié)構(gòu)模型,最后提供給設(shè)計(jì)者使用。
山東大學(xué)計(jì)算機(jī)學(xué)院57模型轉(zhuǎn)換整體框架整個框架分為三個部分山東大學(xué)計(jì)算機(jī)學(xué)院58轉(zhuǎn)換算法1.基本思想2.基本步驟3.實(shí)例應(yīng)用山東大學(xué)計(jì)算機(jī)學(xué)院58轉(zhuǎn)換算法1.基本思想山東大學(xué)計(jì)算機(jī)學(xué)院591.基本思想采用G-U-L以層次化結(jié)構(gòu)對任務(wù)進(jìn)行建模,包括目標(biāo)(包括循環(huán)屬性)、行為、關(guān)系。狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)表示的是狀態(tài)之間的轉(zhuǎn)換,也采用層次化表示,涉及到的主要是狀態(tài)、轉(zhuǎn)換、事件、行為。在G-U-L中體現(xiàn)的層次關(guān)系轉(zhuǎn)換到狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中也體現(xiàn)出層次的關(guān)系,G-U-L中的每個目標(biāo)都對應(yīng)一個狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)。如果一個目標(biāo)下層有子目標(biāo),對子目標(biāo)來說,它所對應(yīng)的狀態(tài)網(wǎng)絡(luò)應(yīng)該嵌套在上層目標(biāo)對應(yīng)的狀態(tài)網(wǎng)絡(luò)中。
山東大學(xué)計(jì)算機(jī)學(xué)院591.基本思想采用G-U-L以層次化結(jié)山東大學(xué)計(jì)算機(jī)學(xué)院601.基本思想在產(chǎn)生的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中,有兩類事件起作用:一類是外部由用戶激活的事件,如“按下鼠標(biāo)”事件、“點(diǎn)擊鍵盤”事件等;另一類是內(nèi)部由目標(biāo)產(chǎn)生的內(nèi)部事件,這里只定義了“目標(biāo)正常結(jié)束”,表示目標(biāo)正常結(jié)束時產(chǎn)生的事件。在進(jìn)行從G-U-L到狀態(tài)的轉(zhuǎn)換時,這些事件只是形式上的一個定義,沒有具體的實(shí)現(xiàn)過程,如要在某一層出現(xiàn)的第i個外部事件用“外部事件i”來代替,而由某個目標(biāo)Ti執(zhí)行時產(chǎn)生的內(nèi)部事件也僅僅用類似于“Ti正常結(jié)束事件”來表示,而具體的事件還需要由狀態(tài)網(wǎng)絡(luò)進(jìn)行,系統(tǒng)實(shí)現(xiàn)時通過專門的事件管理器來定義和管理。對G-U-L中的行為在轉(zhuǎn)換后就成為對應(yīng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中的一個行為。山東大學(xué)計(jì)算機(jī)學(xué)院601.基本思想在產(chǎn)生的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中,有山東大學(xué)計(jì)算機(jī)學(xué)院61
事件產(chǎn)生過程G產(chǎn)生“G正常結(jié)束”事件S0……F圖
中描述了一個目標(biāo)層次中產(chǎn)生事件的過程。山東大學(xué)計(jì)算機(jī)學(xué)院61事件產(chǎn)生過程G產(chǎn)生“G正常結(jié)束”事件山東大學(xué)計(jì)算機(jī)學(xué)院622.基本步驟對轉(zhuǎn)換后的數(shù)據(jù),存儲的是狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中表示轉(zhuǎn)換的弧,如下圖所示:
狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中弧的表示結(jié)構(gòu)其中的觸發(fā)事件就是觸發(fā)從出發(fā)狀態(tài)到目的狀態(tài)轉(zhuǎn)換的事件;父狀態(tài)表示的是當(dāng)前弧所在狀態(tài)網(wǎng)絡(luò)的上層狀態(tài),可以是一個抽象出來的狀態(tài)名;出發(fā)狀態(tài)目的狀態(tài)觸發(fā)事件父狀態(tài)行為山東大學(xué)計(jì)算機(jī)學(xué)院622.基本步驟對轉(zhuǎn)換后的數(shù)據(jù),存儲的是狀山東大學(xué)計(jì)算機(jī)學(xué)院632.基本步驟轉(zhuǎn)換基本步驟(1)讀取存儲G-U-L模型的數(shù)據(jù)文件,進(jìn)行解析,定義一個數(shù)組stn用于存儲狀態(tài)網(wǎng)絡(luò)中的弧。獲取G-U-L模型中的最高目標(biāo),設(shè)為G0,然后調(diào)用(2)中的Translate函數(shù),在Translate執(zhí)行完畢后,stn中便存儲了轉(zhuǎn)換后的狀態(tài)網(wǎng)絡(luò)的數(shù)據(jù)。函數(shù)示意如下:main(){定義一個存儲弧的數(shù)組stn[]讀取G-U-L文件GOALG0<-GetSubGoal(null);//獲取目標(biāo)Translate(G0,&stn);//調(diào)用轉(zhuǎn)換函數(shù)}山東大學(xué)計(jì)算機(jī)學(xué)院632.基本步驟轉(zhuǎn)換基本步驟山東大學(xué)計(jì)算機(jī)學(xué)院64(2)對當(dāng)前的目標(biāo)進(jìn)行處理,如果是原子目標(biāo),參考原子目標(biāo)的UAN模型,創(chuàng)建其狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)。否則,獲得目標(biāo)層次下的數(shù)據(jù),包括行為、關(guān)系算符及子目標(biāo)名。通過關(guān)系符號來調(diào)用(3)中相應(yīng)的關(guān)系轉(zhuǎn)換函數(shù),對所有的子目標(biāo)進(jìn)行遞歸調(diào)用。函數(shù)示意假如下:Translate(目標(biāo)
G,存儲數(shù)組
stn[]){
獲得目標(biāo)G的子目標(biāo)subG[]switch(關(guān)系){case“[]”:選擇關(guān)系處理
case“>>”:允許關(guān)系處理
case“|||”:交替關(guān)系處理
case“[>”:禁止關(guān)系處理
}//對所有的子目標(biāo)進(jìn)行遞歸調(diào)用
for(intI;I<subG.length;I++)Translate(subG[I],stn);} 山東大學(xué)計(jì)算機(jī)學(xué)院64(2)對當(dāng)前的目標(biāo)進(jìn)行處理,如果是原子山東大學(xué)計(jì)算機(jī)學(xué)院65(3)定義了G-U-L的各種關(guān)系向狀態(tài)網(wǎng)絡(luò)轉(zhuǎn)換的具體的實(shí)現(xiàn)函數(shù),實(shí)際上就是生成狀態(tài)網(wǎng)絡(luò)中的弧,并進(jìn)行存儲。在各狀態(tài)網(wǎng)絡(luò)中都會有一個初始狀態(tài)S。在每個處理函數(shù)中,需要考慮目標(biāo)具有循環(huán)屬性的情況,這在狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中的體現(xiàn)是某個狀態(tài)通過一個事件激活以后能仍然返回到該狀態(tài)。如果要轉(zhuǎn)換到其他狀態(tài),還需要一個外部事件的作用。如對*G,如圖6-20所示。圖6-20帶有循環(huán)屬性的目標(biāo)對應(yīng)的狀態(tài)轉(zhuǎn)換圖G正常結(jié)束事件外部事件SU山東大學(xué)計(jì)算機(jī)學(xué)院65(3)定義了G-U-L的各種關(guān)系向狀態(tài)山東大學(xué)計(jì)算機(jī)學(xué)院66G-U-L中各種約束關(guān)系對應(yīng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)
[](選擇choice):設(shè)目標(biāo)G下的子目標(biāo)關(guān)系為[](G0,G1),表示共有兩條路徑可以完成目標(biāo)G。從初始狀態(tài)S0出發(fā),有兩條弧需要記錄,經(jīng)過“外部事件0”到S1的轉(zhuǎn)換及經(jīng)過“外部事件1”到S2的轉(zhuǎn)換,記錄格式如下:S0S1外部事件0GNullS0S2外部事件1GNull出發(fā)狀態(tài)目的狀態(tài)觸發(fā)事件父狀態(tài)行為山東大學(xué)計(jì)算機(jī)學(xué)院66G-U-L中各種約束關(guān)系對應(yīng)的狀態(tài)轉(zhuǎn)換山東大學(xué)計(jì)算機(jī)學(xué)院67“選擇”關(guān)系狀態(tài)網(wǎng)絡(luò)圖6-21a“選擇”關(guān)系狀態(tài)網(wǎng)絡(luò)G1正常結(jié)束事件G0正常結(jié)束事件外部事件1外部事件0S1S2S0產(chǎn)生G正常結(jié)束事件產(chǎn)生G正常結(jié)束事件山東大學(xué)計(jì)算機(jī)學(xué)院67“選擇”關(guān)系狀態(tài)網(wǎng)絡(luò)圖6-21a“選山東大學(xué)計(jì)算機(jī)學(xué)院68在狀態(tài)S1下,等待“G0正常結(jié)束事件”發(fā)生后被激活轉(zhuǎn)到S0,或在S2下,等待“G1正常結(jié)束事件”發(fā)生后被激活也轉(zhuǎn)回到S0狀態(tài),這兩條弧在返回S0后都將執(zhí)行動作“產(chǎn)生G正常結(jié)束事件”,并記錄下這兩條轉(zhuǎn)換的弧。每次重新回到S0都認(rèn)為完成了目標(biāo)G的一次執(zhí)行。
在圖6-16b中考慮了存在目標(biāo)循環(huán)的情況,即[](*G0,G1),需要記錄的弧也在圖中進(jìn)行了反映,在后面介紹的關(guān)系中所涉及到的循環(huán)情況與此類似。選擇關(guān)系允許在一個層次下有多個目標(biāo)同時存在,如[](G0,G1,……,Gn)。
山東大學(xué)計(jì)算機(jī)學(xué)院68在狀態(tài)S1下,等待“G0正常結(jié)束事件”山東大學(xué)計(jì)算機(jī)學(xué)院69“選擇”關(guān)系狀態(tài)網(wǎng)絡(luò)-考慮了存在目標(biāo)循環(huán)的情況
圖6-16b帶循環(huán)的“選擇”關(guān)系狀態(tài)圖產(chǎn)生G正常結(jié)束事件G0正常結(jié)束事件S0外部事件1外部事件0G1正常結(jié)束事件產(chǎn)生G正常結(jié)束事件S2S1外部事件2山東大學(xué)計(jì)算機(jī)學(xué)院69“選擇”關(guān)系狀態(tài)網(wǎng)絡(luò)-考慮了存在目標(biāo)循山東大學(xué)計(jì)算機(jī)學(xué)院70設(shè)目標(biāo)G下的子目標(biāo)關(guān)系為>>(G0,G1),在這種關(guān)系中完成目標(biāo)G的路徑只有一條,當(dāng)G0成功結(jié)束后才允許G1執(zhí)行,這是一個順序執(zhí)行的過程。在轉(zhuǎn)換成狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)后如圖6-17所示。圖6-17允許”關(guān)系狀態(tài)網(wǎng)絡(luò)G1正常結(jié)束事件G0正常結(jié)束事件外部事件S1S2S0產(chǎn)生G正常結(jié)束事件“允許”關(guān)系狀態(tài)網(wǎng)絡(luò)山東大學(xué)計(jì)算機(jī)學(xué)院70圖6-17允許”關(guān)系狀態(tài)網(wǎng)絡(luò)G1正常G2正常結(jié)束事件G0正常結(jié)束事件外部事件S1S3S0產(chǎn)生G正常結(jié)束事件S2G1正常結(jié)束事件>>(G0,G1,G2)G2正常結(jié)束事件G0正常結(jié)束事件外部事件S1S3S0產(chǎn)生G正山東大學(xué)計(jì)算機(jī)學(xué)院72從狀態(tài)S0在外部事件激發(fā)轉(zhuǎn)換至S1,在S1狀態(tài)等待“G0正常結(jié)束事件”發(fā)生后轉(zhuǎn)換至S2;然后在S2處等待“G1正常結(jié)束事件”轉(zhuǎn)換至S0,這樣表示目標(biāo)G執(zhí)行完畢,同時發(fā)生動作“產(chǎn)生G正常結(jié)束事件”,處理轉(zhuǎn)換過程中存儲所有的弧。這種約束關(guān)系允
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 21120:2025 EN Machinery for forestry - Forestry mulching equipment - Terms,definitions and commercial specifications
- 2024年版房屋買賣合同:購房者與開發(fā)商之間的購房權(quán)益、交付時間等詳細(xì)約定
- 2024年標(biāo)準(zhǔn)油漆施工合作合同版B版
- 2024年科研成果保密合同
- 正裝復(fù)合模裝課程設(shè)計(jì)
- 2024年漳州衛(wèi)生職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 完善財務(wù)報告的透明度要求計(jì)劃
- 商城服務(wù)員工作總結(jié)
- 安防行業(yè)顧問工作總結(jié)
- 分析倉庫工作中的服務(wù)意識計(jì)劃
- 2024高血壓的診斷與治療
- 重度子癇前期產(chǎn)后護(hù)理查房
- 制作課件wps教學(xué)課件
- 北京市海淀區(qū)2023屆高三上學(xué)期期末考試化學(xué)試卷 附解析
- MCN機(jī)構(gòu)簽約合同范本
- 解讀智能問答系統(tǒng)研究
- 2024年滬教版一年級上學(xué)期語文期末復(fù)習(xí)習(xí)題
- 2024廣東省廣州市天河區(qū)中考一模語文試題含答案解析
- 中國移動-AI+智慧城市安全解決方案白皮書2024
- 前臺文員的工作靈活性與適應(yīng)能力計(jì)劃
- 2024版【人教精通版】小學(xué)英語六年級下冊全冊教案
評論
0/150
提交評論