人機(jī)交互 第6章 人機(jī)交互界面表示模型1_第1頁
人機(jī)交互 第6章 人機(jī)交互界面表示模型1_第2頁
人機(jī)交互 第6章 人機(jī)交互界面表示模型1_第3頁
人機(jī)交互 第6章 人機(jī)交互界面表示模型1_第4頁
人機(jī)交互 第6章 人機(jī)交互界面表示模型1_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

人機(jī)交互技術(shù)編寫組1第6章人機(jī)交互界面的表示模型

人機(jī)交互技術(shù)編寫組2目的在界面設(shè)計(jì)的早期階段,研究建立一種用戶界面表示模型利用形式化的設(shè)計(jì)語言來分析和表達(dá)用戶任務(wù)以及用戶和系統(tǒng)之間的交互情況;使界面表示模型能方便地映射到實(shí)際的設(shè)計(jì)實(shí)現(xiàn)。

人機(jī)交互技術(shù)編寫組3界面模型分類任務(wù)分解和分析能力模型(competencemodel)預(yù)測和描述用戶合法的交互行為序列行為模型(performancemodel)預(yù)測和描述用戶合法的交互行為序列描述用戶的目的結(jié)構(gòu)模型constructionalmodel系統(tǒng)組成模型人機(jī)交互技術(shù)編寫組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)模型。人機(jī)交互技術(shù)編寫組5參考材料1)ThePsychologyofHuman-ComputerInteractionbyS.K.Cardetal.2)Human-ComputerInteraction(2ndEdition)byAlanJ.Dix,etal.3)董士海等:《人機(jī)交互和多通道用戶界面》.科學(xué)出版社,1999.2.4)AComparisonofApproachesforSpecifyingMulti-ModalInteractiveSystems,byJoelleCoutazetal.人機(jī)交互技術(shù)編寫組66.1行為模型分析人員獲取用戶需求后,結(jié)合領(lǐng)域?qū)<业囊庖姾椭笇?dǎo),獲取系統(tǒng)中需要完成的任務(wù),對任務(wù)的主要因素進(jìn)行詳細(xì)地分析,如任務(wù)的層次、發(fā)生條件、完成的方法以及它們之間的關(guān)系等等。所有這些內(nèi)容,都是在行為模型中所要研究的。

人機(jī)交互技術(shù)編寫組76.1.1GOMS1983年由Card,Morgan和Newell提出的。通過目標(biāo)

(Goal)、操作

(Operator)、方法

(Method)以及選擇規(guī)則

(Selection)四個元素來描述用戶的行為。GOMS是在交互系統(tǒng)中用來分析建立用戶行為的模型。它采用“分而治之”的思想,將一個任務(wù)進(jìn)行多層次的細(xì)化。人機(jī)交互技術(shù)編寫組86.1.1GOMS1.目標(biāo)Goals

目標(biāo)就是用戶執(zhí)行任務(wù)最終想要得到的結(jié)果,它可以在不同的層次中進(jìn)行定義。

2.

操作Operators

操作是任務(wù)分析到最低層時(shí)的行為,是用戶為了完成任務(wù)所必須執(zhí)行的基本動作。

人機(jī)交互技術(shù)編寫組96.1.1GOMS3.方法Methods

方法是描述如何完成目標(biāo)的過程。一個方法本質(zhì)上來說是內(nèi)部的算法,用來確定子目標(biāo)序列及完成目標(biāo)所需要的操作。GOAL:ICONSIZE-WINDOW.[selectGOAL:USE-CLOSE-METHOD..MOVE-MOUSE-TO-WINDOW-HEADER..POP-UP-MENU..CLICK-OVER-CLOSE-OPTION.GOAL:USE-L7-METHOD..PRESS-L7-KEY]人機(jī)交互技術(shù)編寫組106.1.1GOMS4.選擇Selection選擇是用戶要遵守的判定規(guī)則,以確定在特定環(huán)境下所要使用的方法。當(dāng)有多個方法可供選擇時(shí),GOMS中并不認(rèn)為這是一個隨機(jī)的選擇,而是盡量來預(yù)測會使用哪個方法,這需要根據(jù)特定用戶、系統(tǒng)的狀態(tài)、目標(biāo)的細(xì)節(jié)來預(yù)測要選擇哪種方法。用戶Sam:Rule1:UsetheCLOSE-METHODunlessanotherruleappliesRule2:IftheapplicationisGAME,useL7-METHOD人機(jī)交互技術(shù)編寫組11GOMS實(shí)例Task:EditingGOAL:EDIT-MANUSCRIPTGOAL:EDIT-UNIT-TaskrepeatuntilnomoreunittasksGOAL:ACQUIRE-UNIT-TASKGET-NEXTifatendofmanuscriptGET-NEXT-TASKGOAL:EXECUTE-UNIT-TASKGOAL:LOCATE-LINE[select:USE-QS-METHEDUSE-LF-METHOD]GOAL:MODIFY-TEXT[select:USE-S-METHODUSE-M-METHOD]VERIFY-EDIT

人機(jī)交互技術(shù)編寫組12GOMS應(yīng)用作為一種人機(jī)交互界面表示的理論模型,GOMS是人機(jī)交互研究領(lǐng)域內(nèi)少有的幾個廣為人知的模型之一,并被稱為最成熟的工程典范,該模型在計(jì)算機(jī)系統(tǒng)的評估方面也有廣泛的應(yīng)用。GOMScansavemoney!美國電話公司NYNEX利用GOMS分析一套即將被采用的新的計(jì)算機(jī)系統(tǒng)的應(yīng)用效果,結(jié)果發(fā)現(xiàn)效果不理想,放棄了使用新系統(tǒng),為公司節(jié)約了數(shù)百萬的資金。人機(jī)交互技術(shù)編寫組13GOMS的局限性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)知過程。

人機(jī)交互技術(shù)編寫組146.1.2LOTOSLOTOS-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)的行為模型。人機(jī)交互技術(shù)編寫組15LOTOS基本思想系統(tǒng)的外部可見行為可以看作是由一個有時(shí)序關(guān)系的交互序列組成。系統(tǒng)由一系列進(jìn)程組成,進(jìn)程同環(huán)境之間通過稱為“關(guān)口”(gates)的交互點(diǎn)進(jìn)行交互。兩個以上的進(jìn)程在執(zhí)行同一個外部可見的行為時(shí)會發(fā)生交互操作,進(jìn)行數(shù)據(jù)交換、信息傳遞、協(xié)調(diào)同步等操作。進(jìn)程行為用“行為表達(dá)式”來描述,復(fù)雜的行為由簡單的行為表達(dá)式通過表示時(shí)序關(guān)系的LOTOS算符組合而成。在將LOTOS思想用于人機(jī)交互的行為模型時(shí),用進(jìn)程之間的約束關(guān)系來描述交互子任務(wù)之間的關(guān)系。

人機(jī)交互技術(shù)編寫組16LOTOS算符T1|||T2(交替Interleaving)T1和T2兩個任務(wù)相互獨(dú)立執(zhí)行,可按任意順序執(zhí)行,但永遠(yuǎn)不會同步。

T1[]T2(選擇Choice)需要在T1,T2中選擇一個執(zhí)行,一旦選擇某一個后,必須執(zhí)行它直到結(jié)束,在這中間另一個再無執(zhí)行機(jī)會。

T1|[a1,...,an]|T2(同步Synchronization)任務(wù)T1,T2必須在動作(a1,……,an)處保持同步

T1[>T2(禁止Deactivation)一旦T2任務(wù)被執(zhí)行,T1便無效(不活動)

T1>>T2(允許Enabling)當(dāng)T1成功結(jié)束后才允許T2執(zhí)行

人機(jī)交互技術(shù)編寫組17LOTOS實(shí)例人機(jī)交互技術(shù)編寫組18中國象棋的LOTOS任務(wù)分解實(shí)例人機(jī)交互技術(shù)編寫組19LOTOS與GOMS的結(jié)合LOTOS模型很好的描述了任務(wù)之間的時(shí)序約束關(guān)系,這些時(shí)序約束關(guān)系能更好的描述GOMS中子目標(biāo)之間的關(guān)系。用GOMS模型描述任務(wù)的分解過程,而用LOTOS給出子任務(wù)之間的約束關(guān)系,這樣就可以增加兩種表示模型的表示能力。

人機(jī)交互技術(shù)編寫組20結(jié)合GOMS和LOTOS的中國象棋程序的行為描述GOAL:中國象棋

[>:GOAL:運(yùn)行

|||:*GOAL:走棋

ACTION:自動記錄棋譜

>>:GOAL:當(dāng)前方走

>>:OPRATOR:拾取棋子

OPRATOR:放置棋子

GOAL:對弈方走>>OPRATOR:拾取棋子

OPRATOR:放置棋子*GOAL:打譜

[]:OPRATOR:加速

OPRATOR:減速

OPRATOR:暫停

OPRATOR:恢復(fù)

GOAL:退出人機(jī)交互技術(shù)編寫組21LOTOS總結(jié)LOTOS與GOMS結(jié)合,可以清楚地了解整個目標(biāo)層次及各目標(biāo)之間的約束關(guān)系。但與GOMS同樣存在無法描述目標(biāo)異常結(jié)束的缺陷,同時(shí)當(dāng)任務(wù)進(jìn)行選擇時(shí)用什么規(guī)則進(jìn)行選擇并為涉及。LOTOS最大的優(yōu)越性在于可以構(gòu)造一套現(xiàn)成的自動化工具,利用這些工具,可自動進(jìn)行錯誤檢測,但它過于形式化的記法比較晦澀難懂。GOMS和LOTOS的結(jié)合可以很好地描述人機(jī)交互的較高級的任務(wù),對于原子任務(wù)的形式化描述,上述模型并沒有給出一個比較清晰的描述,下面討論的UAN模型主要用于原子目標(biāo)的描述。

人機(jī)交互技術(shù)編寫組226.1.3UAN

UANUserActionNotationUAN是一種簡單的符號語言,主要描述用戶的行為序列以及在執(zhí)行任務(wù)時(shí)所用的界面物理對象。

盡管UAN屬于一種行為模型,但作為一種任務(wù)描述語言,它又涉及一定程度的系統(tǒng)行為的描述,因而它兼有行為模型和結(jié)構(gòu)模型的一些特點(diǎn)。人機(jī)交互技術(shù)編寫組23UAN模型的基本思想預(yù)定義一些標(biāo)志符:用戶動作標(biāo)志符條件標(biāo)志符采用一種表格結(jié)構(gòu)來表示任務(wù)界面被分解成一些類似層次結(jié)構(gòu)的異步任務(wù),每個任務(wù)的實(shí)現(xiàn)都用表格來描述,用戶動作的關(guān)聯(lián)性和時(shí)序關(guān)系由表格的行列對齊關(guān)系和從上到下、從左到右的閱讀順序來確定。任務(wù)(task):任務(wù)名稱(thenameoftask)用戶行為界面反饋界面狀態(tài)人機(jī)交互技術(shù)編寫組24UAN預(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,取消顯示對象。人機(jī)交互技術(shù)編寫組25UAN預(yù)定義的條件標(biāo)志符(部分)while(condition)TASK當(dāng)條件condition為真時(shí),循環(huán)執(zhí)行任務(wù)TASK;if(condition)thenTASK如果條件condition滿足,則執(zhí)行任務(wù)TASK;iterationA*orA+表示迭代操作;waiting表示等待,可以等待一個條件滿足,也可以等待任務(wù)中的一個操作執(zhí)行。人機(jī)交互技術(shù)編寫組26UAN實(shí)例-單通道交互任務(wù):draganddropafiletotherecyclebin用戶行為界面反饋界面狀態(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)人機(jī)交互技術(shù)編寫組27UAN實(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人機(jī)交互技術(shù)編寫組28UAN總結(jié)UAN模型更接近于實(shí)現(xiàn),界面狀態(tài)和界面反饋用一般的程序語言描述,實(shí)現(xiàn)起來比較方便,當(dāng)然這種描述由于接近于程序語言,因此設(shè)計(jì)時(shí)需要一定的編程基礎(chǔ)UAN模型在精確刻畫各成分之間的各種平行和串行的時(shí)序關(guān)系方面尚顯不足,任務(wù)之間的時(shí)序關(guān)系沒有明確表示出來,當(dāng)所描述的界面使用多種輸入設(shè)備和有若干可選交互路徑時(shí),比較繁瑣。

人機(jī)交互技術(shù)編寫組29層次化的界面描述方法人機(jī)交互技術(shù)編寫組30G-U-L模型可以考慮將GOMS、UAN、LOTOS中模型結(jié)合為一個預(yù)測行為模型:G-U-L模型。G-U-L運(yùn)用GOMS原理為基礎(chǔ)進(jìn)行任務(wù)分解,建立基本的行為模型,原子操作由UAN模型描述,在此基礎(chǔ)上,運(yùn)用LOTOS算符來表示任務(wù)目標(biāo)之間的時(shí)序關(guān)系。在G-U-L模型中沒有加入規(guī)則,在表示目標(biāo)之間的關(guān)系中也未考慮同步。這主要考慮到規(guī)則的轉(zhuǎn)換要涉及到推理、建立知識庫等問題,而同步的問題的描述和轉(zhuǎn)換也非常的復(fù)雜,這會在工作的初期造成非常大的困難。人機(jī)交互技術(shù)編寫組316.2結(jié)構(gòu)模型

產(chǎn)生式規(guī)則-ProductionRule形式化語言的描述,這種結(jié)構(gòu)的方法從理論上可以引導(dǎo)界面設(shè)計(jì)者及界面工具的設(shè)計(jì)者進(jìn)行有效的設(shè)計(jì)。

狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)-StateTransitNetwork用結(jié)構(gòu)化的方法來描述人機(jī)交互的一般過程,是一種圖示化的結(jié)構(gòu)人機(jī)交互技術(shù)編寫組326.2.1產(chǎn)生式規(guī)則

又稱為上下文無關(guān)文法,將人機(jī)交互對話看作是一種語言,運(yùn)用基于語法的方法來描述交互對話。產(chǎn)生式規(guī)則是一種形式化語言,這些規(guī)則可用于描述人機(jī)交互界面。產(chǎn)生式規(guī)則的一般形式是:ifconditionthenaction這些規(guī)則可以表示為不同的形式,如condition→

actioncondition:action人機(jī)交互技術(shù)編寫組33產(chǎn)生式規(guī)則所有的規(guī)則都是有效的,并且系統(tǒng)不斷用它來檢測用戶的輸入是否與這些條件相匹配。若匹配則激活相應(yīng)的動作,這些動作可以是執(zhí)行應(yīng)用程序的一個過程,也可以是直接改變某些系統(tǒng)狀態(tài)的值。一般來說,組成界面描述的產(chǎn)生式規(guī)則很多,規(guī)則定義的順序并不重要,只要與規(guī)則中的條件相匹配,就可以激活相應(yīng)的動作。產(chǎn)生式規(guī)則系統(tǒng)可以是事件引導(dǎo)的,也可以是狀態(tài)引導(dǎo)的,或者兩者都有。

人機(jī)交互技術(shù)編寫組341.事件引導(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>產(chǎn)生式集合,實(shí)現(xiàn)用戶在屏幕上繪直線

人機(jī)交互技術(shù)編寫組35事件引導(dǎo)的系統(tǒng)保存內(nèi)部事件序列構(gòu)造一個對話控制器,主要負(fù)責(zé)事件的產(chǎn)生和規(guī)則的匹配規(guī)則的匹配算法影響系統(tǒng)的性能人機(jī)交互技術(shù)編寫組36事件的主要類型

用戶事件(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)閉。

人機(jī)交互技術(shù)編寫組37產(chǎn)生式規(guī)則的解釋在上面的產(chǎn)生式規(guī)則中,第一條規(guī)則表示選擇畫線命令后,系統(tǒng)狀態(tài)進(jìn)入了開始畫線狀態(tài),接著把'line'菜單項(xiàng)高亮度顯示;第二條規(guī)則表示,用戶在開始畫線狀態(tài)時(shí),在繪圖區(qū)域單擊鼠標(biāo)則系統(tǒng)表示已定義了一個點(diǎn),此時(shí)橡皮筋繪圖方式打開;第三條規(guī)則表示在定義了一個(或多個)點(diǎn)后,用戶單擊鼠標(biāo)可以連續(xù)地定義點(diǎn);第四條規(guī)則表示雙擊鼠標(biāo)則結(jié)束畫線的交互過程。

人機(jī)交互技術(shù)編寫組38對話控制對話控制主要負(fù)責(zé)事件的產(chǎn)生和規(guī)則的匹配,可以看到在每一時(shí)刻系統(tǒng)內(nèi)存中會保存一些內(nèi)部事件,當(dāng)產(chǎn)生一個事件時(shí),可能是用戶事件(如單擊鼠標(biāo)),也可能是內(nèi)部事件(如時(shí)鐘事件等)。對話控制就要將所有的產(chǎn)生式規(guī)則與事件集合進(jìn)行匹配,這個過程是復(fù)雜的而且是耗時(shí)的,當(dāng)產(chǎn)生式很多并且產(chǎn)生式規(guī)則的條件復(fù)雜時(shí),匹配算法的效率就顯的更為重要,因此需要設(shè)計(jì)好的數(shù)據(jù)結(jié)構(gòu)和匹配算法來提高匹配規(guī)則的效率??梢詫⒁?guī)則和事件進(jìn)行分組和分層。

人機(jī)交互技術(shù)編寫組392.狀態(tài)引導(dǎo)的系統(tǒng)

狀態(tài)引導(dǎo)的系統(tǒng)在系統(tǒng)內(nèi)存保存的不再是動態(tài)的隨時(shí)進(jìn)出的事件,而是一些表示系統(tǒng)的當(dāng)前狀態(tài)的屬性,這些屬性在不同的時(shí)刻有不同的值。人機(jī)交互技術(shù)編寫組40畫線操作在系統(tǒng)中的五個屬性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﹜人機(jī)交互技術(shù)編寫組41對象的狀態(tài)Mouse有4個不同的狀態(tài)mouse--null(鼠標(biāo)空閑),select-line(選擇線命令),click-point(單擊鼠標(biāo)),double-click(雙擊鼠標(biāo)),當(dāng)用戶對鼠標(biāo)進(jìn)行操作時(shí)Mouse自動設(shè)置成相應(yīng)的狀態(tài);Line-state用于保持當(dāng)前會話的狀態(tài)分別是menu(可選命令狀態(tài)),start-line(開始繪制線),rest-line(已經(jīng)定義點(diǎn));后三個屬性用于控制系統(tǒng)響應(yīng)其中Rubber-band表示橡皮筋繪制的開和關(guān)狀態(tài),Menu表示任何項(xiàng)也沒有選中(highlight-null)、選中繪直線命令(highlight-line)或選中繪圓命令(highlight-circle),Draw表示什么也不畫狀態(tài)(draw-nothing)或畫直線狀態(tài)(draw-line),顯示控制器根據(jù)上面的狀態(tài)做出相應(yīng)的顯示控制。人機(jī)交互技術(shù)編寫組42狀態(tài)引導(dǎo)的產(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人機(jī)交互技術(shù)編寫組43狀態(tài)引導(dǎo)的產(chǎn)生式規(guī)則的特點(diǎn)當(dāng)產(chǎn)生式規(guī)則的條件和狀態(tài)匹配時(shí)將激活該產(chǎn)生式規(guī)則,對于某一特定的屬性,如果前面的狀態(tài)需要改變成新的狀態(tài)時(shí)才需要在產(chǎn)生規(guī)則的后面標(biāo)注,例如,在第二條規(guī)則中,規(guī)則指定

"Line-state"屬性應(yīng)設(shè)置成"rest-line",因?yàn)樵瓉淼?start-line"值將丟失,而在第三條規(guī)則中,沒有提及"rest-line"值,因?yàn)樗涯J(rèn),"Line-state"屬性的值繼續(xù)保留為

"rest-line"。

人機(jī)交互技術(shù)編寫組44狀態(tài)引導(dǎo)的產(chǎn)生式規(guī)則的特點(diǎn)屬性的永久特性有時(shí)會引起一些奇怪的錯誤,因此在上述的規(guī)則集中,每一條產(chǎn)生式規(guī)則都要求將鼠標(biāo)的狀態(tài)設(shè)置為

"mouse-null",

否則,當(dāng)用戶單擊了鼠標(biāo),激活了第二條規(guī)則,如果不立即將鼠標(biāo)的屬性設(shè)置為"mouse-null",則會立即激活第三條規(guī)則,此時(shí)系統(tǒng)的狀態(tài)和第三條規(guī)則的條件是匹配的,并且會反復(fù)的一直執(zhí)行下去。人機(jī)交互技術(shù)編寫組453.混合引導(dǎo)系統(tǒng)

有的對話過程比較適合于事件引導(dǎo)方式,有的對話過程適合于狀態(tài)引導(dǎo)方式,當(dāng)然也可以將兩者結(jié)合起來,例如采用下面的形式:

event:condition→action來描述一個產(chǎn)生式規(guī)則,事件用來計(jì)劃產(chǎn)生式規(guī)則,如果條件不滿足,即當(dāng)前系統(tǒng)內(nèi)存中的狀態(tài)和產(chǎn)生式的規(guī)則不匹配,則無法激活規(guī)則,另外當(dāng)狀態(tài)改變時(shí),產(chǎn)生式規(guī)則中的action本身也可以產(chǎn)生新的事件,從而可以激活另一條規(guī)則。

人機(jī)交互技術(shù)編寫組46混合的事件/狀態(tài)產(chǎn)生式系統(tǒng)

Bold:﹛off,on﹜

Italic:﹛off,on﹜Underline:﹛off,on﹜

圖6-2粗體/斜體/下劃線對話框

文本樣式

根據(jù)用戶點(diǎn)擊鼠標(biāo)的位置不同,可能產(chǎn)生三個事件:select-bold,select-italic,select-under,該對話過程有下面六個產(chǎn)生式規(guī)則定義。

人機(jī)交互技術(shù)編寫組47混合的事件/狀態(tài)產(chǎn)生式系統(tǒng)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人機(jī)交互技術(shù)編寫組48產(chǎn)生式規(guī)則總結(jié)描述操作時(shí)序能力強(qiáng),并發(fā)順序均可無法描述誤操作界面復(fù)雜時(shí),狀態(tài)、事件復(fù)雜,產(chǎn)生式過多,要求產(chǎn)生式匹配算法性能高人機(jī)交互技術(shù)編寫組496.2.2狀態(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ò)展

人機(jī)交互技術(shù)編寫組501.傳統(tǒng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)當(dāng)發(fā)生一個外部或內(nèi)部事件時(shí),系統(tǒng)就會從一個狀態(tài)轉(zhuǎn)換到另外一個狀態(tài),這稱為狀態(tài)轉(zhuǎn)換。外部事件主要由用戶操作外部輸入設(shè)備來產(chǎn)生,內(nèi)部事件可以是系統(tǒng)產(chǎn)生的事件,如時(shí)鐘事件,也可以是為了改變系統(tǒng)的狀態(tài)和行為而產(chǎn)生的事件,如當(dāng)一個任務(wù)完成后可以激活另一個任務(wù)等。源狀態(tài)目標(biāo)狀態(tài)轉(zhuǎn)換一個狀態(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)個。人機(jī)交互技術(shù)編寫組51帶條件的狀態(tài)轉(zhuǎn)換源狀態(tài)目標(biāo)狀態(tài)條件動作人機(jī)交互技術(shù)編寫組52帶條件的狀態(tài)轉(zhuǎn)換

T2[C2]T1[C1]SE1E2S+C1S+C2E1E2T1T2人機(jī)交互技術(shù)編寫組53帶條件的狀態(tài)轉(zhuǎn)換實(shí)例(基于鼠標(biāo)的畫圖工具)drawcircle單擊在圓周上rubberband單擊在中心點(diǎn)highlight‘circle’選擇‘circle’Circle1MenuFinishCircle2drawline雙擊rubberband單擊在第一點(diǎn)highlight‘line’選擇‘line’Line1FinishLine2人機(jī)交互技術(shù)編寫組54帶條件的狀態(tài)轉(zhuǎn)換實(shí)例(基于鼠標(biāo)的畫圖工具)圖6-8中是一個基于鼠標(biāo)畫圖工具,圖中涉及到了狀態(tài)、轉(zhuǎn)換、條件、動作等元素。它有一個菜單(有兩個選項(xiàng)“circle”和“l(fā)ine”)和一個繪圖平面。若選擇“circle”則要求你確定兩個點(diǎn):第一個點(diǎn)是圓心,第二個點(diǎn)表示圓周上的任意一點(diǎn)。第一個點(diǎn)確定后,系統(tǒng)就在圓心和當(dāng)前鼠標(biāo)位置之間畫一條“橡皮圈”線,第二個點(diǎn)確定后就畫出了一個圓。人機(jī)交互技術(shù)編寫組55傳統(tǒng)狀態(tài)轉(zhuǎn)換模型狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)比相應(yīng)的文本解決方案更易于設(shè)計(jì)、理解、修改和文檔化,它給出了對行為的精確的、甚至是格式化的定義。存在著一定的局限性,一個最大的缺陷是需要定義出系統(tǒng)的所有狀態(tài),這對于小型的系統(tǒng)是沒有問題的,但是在一個較大的系統(tǒng)中,系統(tǒng)會很快崩潰,狀態(tài)的數(shù)目是呈指數(shù)級增長的,同時(shí)狀態(tài)的增長直接導(dǎo)致了狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)過于復(fù)雜、無法實(shí)際應(yīng)用。

人機(jī)交互技術(shù)編寫組562.擴(kuò)展的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)彈出graphics子菜單選擇‘graphics’主菜單graphics子菜單彈出text子菜單選擇‘text’text子菜單彈出paint子菜單選擇‘paintpaint子菜單

人機(jī)交互技術(shù)編寫組57帶有取消功能的狀態(tài)轉(zhuǎn)換圖彈出graphics子菜單選擇‘graphics’主菜單graphics子菜單彈出text子菜單選擇‘text’text子菜單彈出paint子菜單選擇‘paintpaint子菜單

ESC正常完成正常完成正常完成ESCESC人機(jī)交互技術(shù)編寫組58帶有幫助功能的狀態(tài)轉(zhuǎn)換按下HELP按鈕按下HELP按鈕從菜單出發(fā)drawcircle單擊在圓周上rubberband單擊在中心點(diǎn)Circle1FinishCircle2幫助子系統(tǒng)幫助子系統(tǒng)描述并發(fā)任務(wù)?人機(jī)交互技術(shù)編寫組59狀態(tài)轉(zhuǎn)換模型狀態(tài)的爆發(fā)式增長問題具有良好的描述串行和順序行為的能力,并發(fā)及其他行為的描述能力差雖然是一個結(jié)構(gòu)模型,但難以實(shí)現(xiàn)人機(jī)交互技術(shù)編寫組60人機(jī)交互的界面的基本原則對話的獨(dú)立性對話的獨(dú)立性指界面和系統(tǒng)的邏輯業(yè)務(wù)或數(shù)據(jù)模型不互相影響,彼此獨(dú)立,當(dāng)交互完成后,再去調(diào)用業(yè)務(wù)模型的方法進(jìn)行相應(yīng)的業(yè)務(wù)處理。語義的反饋性語義反饋是指在人機(jī)交互過程中要實(shí)時(shí)反饋界面的狀態(tài)和用戶操作的細(xì)節(jié),以便用戶能比較清晰的了解當(dāng)前操作的過程,“所見即所得”就是強(qiáng)調(diào)在操作過程中所看到的就是將來系統(tǒng)處理的結(jié)果,這是一種典型的語義反饋。

人機(jī)交互技術(shù)編寫組61軟件的四層體系結(jié)構(gòu)表示層邏輯對象層服務(wù)對象層存儲層人機(jī)交互技術(shù)編寫組62

6.3事件-對象(E-O)模型

事件-對象(Event-Object)模型,將人機(jī)交互活動歸結(jié)為事件與對象的相互作用。事件是人機(jī)交互活動中傳遞的信息,對象是交互活動中的對象;事件引發(fā)交互活動,對象是交互活動的承受者。這種模型同時(shí)強(qiáng)調(diào)事件和對象在人機(jī)交互中的重要性,模型以事件為驅(qū)動,以對象為核心,具有面向?qū)ο蟮娘L(fēng)格。兼顧了對話獨(dú)立性原則和語義反饋的要求。人機(jī)交互技術(shù)編寫組63表示層對象1表示層對象2表示層對象n…控制者邏輯對象1邏輯對象2邏輯對象n…事件1事件2事件n事件1事件2事件nE-O模型系統(tǒng)結(jié)構(gòu)

人機(jī)交互技術(shù)編寫組641.事件的類型事件根據(jù)不同的來源可以分為兩種基本類型:實(shí)事件和虛事件。實(shí)事件是用戶通過各類交互輸入設(shè)備輸入而產(chǎn)生。根據(jù)現(xiàn)有交互設(shè)備,可以將實(shí)事件分為:鍵碼事件,由按鍵設(shè)備產(chǎn)生;定位事件,由指點(diǎn)設(shè)備產(chǎn)生;字符串事件,由鍵盤或語音識別器等產(chǎn)生。人機(jī)交互技術(shù)編寫組65事件的類型虛事件由用戶界面系統(tǒng)或應(yīng)用程序產(chǎn)生并限于系統(tǒng)內(nèi)部流動的各類事件,其作用主要是協(xié)調(diào)系統(tǒng)的運(yùn)行,虛事件可以分為:定時(shí)器事件,由系統(tǒng)按一定的時(shí)間間隔產(chǎn)生的事件、郵件事件,當(dāng)有新的郵件收到時(shí)產(chǎn)生的事件,一般的異步事件也可以作為郵件事件來處理。空閑事件,也是一種內(nèi)部事件,表示系統(tǒng)空閑或再等待用戶輸入,空閑事件發(fā)生時(shí),系統(tǒng)可以做一些屏幕更新等處理。人機(jī)交互技術(shù)編寫組662.事件的結(jié)構(gòu)

事件名(Name)類型(Type)來源(From)去向(To)產(chǎn)生時(shí)刻(Time)數(shù)據(jù)(Data)人機(jī)交互技術(shù)編寫組673.對象的類型根據(jù)交互任務(wù)類型的不同一般可歸納為三種基本對象類型:①抽象(概念)交互對象,如磁盤、文件等抽象的對象;②空間交互對象,表示空間中的物體的對象等,如三維場景和物體;③時(shí)間交互對象,表示與時(shí)間相關(guān)的對象,如視頻、音頻等對象。人機(jī)交互技術(shù)編寫組68對象的類型對象按功能分類,可分為:①通用對象,在不同的應(yīng)用中共有的一些對象;②工具對象(WidgetObject),用作用戶界面中的各種交互技術(shù)(如按鈕等);③二維對象,用于二維用戶界面;④三維對象,用于三維用戶界面;⑤時(shí)變對象,適用于隨時(shí)間變化的動態(tài)對象,如在多媒體用戶界面中實(shí)現(xiàn)音頻、視頻等媒體的管理。人機(jī)交互技術(shù)編寫組69對象應(yīng)該具有的特征①對象應(yīng)以顯式的方式接受事件并對此做出響應(yīng);②能直接利用數(shù)據(jù)和方法封裝的思想實(shí)現(xiàn)對象的獨(dú)立;③一個對象可以發(fā)送消息給其他對象,對象之間的通信通過消息發(fā)送和接收來完成,對象的實(shí)現(xiàn)方法可采用結(jié)構(gòu)化方法和面向?qū)ο蟮姆椒ā?/p>

人機(jī)交互技術(shù)編寫組704.對象的結(jié)構(gòu)主要包括三部分:屬性集,包括對象ID、類型、風(fēng)格(style)、位置(對于二維、三維情況)、顏色等;方法集:初始化方法:對象屬性的初始化;表現(xiàn)方法:提供常規(guī)的界面反饋和更新對象的外觀;響應(yīng)方法:響應(yīng)方法對用戶的終結(jié)控制動作(如選中菜單項(xiàng))調(diào)用相應(yīng)的應(yīng)用語義函數(shù)(包括自身語義和連接語義)以做出響應(yīng),當(dāng)對象之間存在關(guān)聯(lián)語義時(shí),相應(yīng)方法還負(fù)責(zé)和其他對象進(jìn)行交互。消息集:包括一組可被對象識別的并激活其相應(yīng)行為方法的消息,這些消息分流到上述三個方法中。人機(jī)交互技術(shù)編寫組715.對象的組織對象之間有不同的關(guān)系,可采用四種典型結(jié)構(gòu)來組織對象:集合,對象之間無約束關(guān)系;線性結(jié)構(gòu),對象之間有明確的順序關(guān)系,如各輸入字段、列表項(xiàng)等;層次結(jié)構(gòu),對象之間有層次關(guān)系,對象包含數(shù)個子對象,如菜單和菜單項(xiàng);網(wǎng)狀結(jié)構(gòu),適用于比較復(fù)雜的CAD系統(tǒng),如CAD布線,現(xiàn)在Web中的導(dǎo)航菜單對象的組織也有采用網(wǎng)絡(luò)結(jié)構(gòu)。人機(jī)交互技術(shù)編寫組726.E-O模型總結(jié)E-O模型具有徹底的面向?qū)ο筇匦?,其中對象具有直接的面向?qū)ο蟮奶卣?,而包括事件、設(shè)備的在內(nèi)的各種元素也被直接地映射為對象;同時(shí),事件對象模型內(nèi)在的事件驅(qū)動機(jī)制也非常符合交互式軟件的需要。事件對象模型中事件結(jié)構(gòu)和對象結(jié)構(gòu)的通用性和開放性,可以支持從簡單得到復(fù)雜的各類用戶界面的實(shí)現(xiàn),有能力支持包括多媒體、多通道用戶界面和虛擬現(xiàn)實(shí)等新型人機(jī)交互技術(shù)的實(shí)現(xiàn),在下一章將給出E-O模型的軟件結(jié)構(gòu)和實(shí)現(xiàn)支持。人機(jī)交互技術(shù)編寫組73課堂練習(xí)1.寫出事件引導(dǎo)的畫線的產(chǎn)生式規(guī)則2.寫出狀態(tài)引導(dǎo)的畫線的產(chǎn)生式規(guī)則3.畫出基于菜單的畫圖工具的狀態(tài)轉(zhuǎn)換圖人機(jī)交互技術(shù)編寫組746.4行為模型和結(jié)構(gòu)模型的轉(zhuǎn)換

一般來說行為模型主要對設(shè)計(jì)起指導(dǎo)作用,在此基礎(chǔ)上,設(shè)計(jì)人員再進(jìn)行結(jié)構(gòu)模型(如狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)等)的創(chuàng)建,這個過程很大程度上取決于設(shè)計(jì)人員的經(jīng)驗(yàn)和對行為模型的理解.本節(jié)主要介紹一種從行為模型到結(jié)構(gòu)模型的一種轉(zhuǎn)換思想和算法,以實(shí)現(xiàn)兩種模型間的自動的轉(zhuǎn)化工作。

人機(jī)交互技術(shù)編寫組756.4.1基本的模型轉(zhuǎn)換整體框架

轉(zhuǎn)換算法

行為模型(G-U-L)

結(jié)構(gòu)模型StateChartsGOMSUANLOTOS約束規(guī)則用戶DomainExpertDesigner圖6-17模型轉(zhuǎn)換整體框架人機(jī)交互技術(shù)編寫組76模型轉(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ì)者使用。

人機(jī)交互技術(shù)編寫組776.4.2轉(zhuǎn)換算法

1.基本思想

2.基本步驟

3.實(shí)例應(yīng)用

人機(jī)交互技術(shù)編寫組781.基本思想

采用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ò)中。

人機(jī)交互技術(shù)編寫組791.基本思想在產(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é)束時(shí)產(chǎn)生的事件。在進(jìn)行從G-U-L到狀態(tài)的轉(zhuǎn)換時(shí),這些事件只是形式上的一個定義,沒有具體的實(shí)現(xiàn)過程,如要在某一層出現(xiàn)的第i個外部事件用“外部事件i”來代替,而由某個目標(biāo)Ti執(zhí)行時(shí)產(chǎn)生的內(nèi)部事件也僅僅用類似于“Ti正常結(jié)束事件”來表示,而具體的事件還需要由狀態(tài)網(wǎng)絡(luò)進(jìn)行,系統(tǒng)實(shí)現(xiàn)時(shí)通過專門的事件管理器來定義和管理。

對G-U-L中的行為在轉(zhuǎn)換后就成為對應(yīng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中的一個行為。

人機(jī)交互技術(shù)編寫組80圖6-18事件產(chǎn)生過程G產(chǎn)生“G正常結(jié)束”事件S0……F圖6-18中描述了一個目標(biāo)層次中產(chǎn)生事件的過程。人機(jī)交互技術(shù)編寫組812.基本步驟對轉(zhuǎn)換后的數(shù)據(jù),存儲的是狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中表示轉(zhuǎn)換的弧,如下圖6-19所示:圖6-19狀態(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)行為人機(jī)交互技術(shù)編寫組822.基本步驟轉(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ù)}人機(jī)交互技術(shù)編寫組83(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);} 人機(jī)交互技術(shù)編寫組84(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人機(jī)交互技術(shù)編寫組85G-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人機(jī)交互技術(shù)編寫組86在狀態(tài)S1下,等待“G0正常結(jié)束事件”發(fā)生后被激活轉(zhuǎn)到S0,或在S2下,等待“G1正常結(jié)束事件”發(fā)生后被激活轉(zhuǎn)到S0也回到S狀態(tài),這兩條弧在返回S0后都將執(zhí)行動作“產(chǎn)生G正常結(jié)束事件”,并記錄下這兩條轉(zhuǎn)換的弧。每次重新回到S0都認(rèn)為完成了目標(biāo)G的一次執(zhí)行。

在圖6-21b中考慮了存在目標(biāo)循環(huán)的情況,即[](*G0,G1),需要記錄的弧也在圖中進(jìn)行了反映,在后面介紹的關(guān)系中所涉及到的循環(huán)情況與此類似。選擇關(guān)系允許在一個層次下有多個目標(biāo)同時(shí)存在,如[](G0,G1,……,Gn)。

人機(jī)交互技術(shù)編寫組87選擇”關(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é)束事件人機(jī)交互技術(shù)編寫組88選擇”關(guān)系狀態(tài)網(wǎng)絡(luò)-考慮了存在目標(biāo)循環(huán)的情況

圖6-21b帶循環(huán)的“選擇”關(guān)系狀態(tài)圖產(chǎn)生G正常結(jié)束事件G0正

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論