收藏 分销(赏)

人机交互界面表示模型PPT.ppt

上传人:w****g 文档编号:11421832 上传时间:2025-07-23 格式:PPT 页数:101 大小:1.23MB 下载积分:20 金币
下载 相关 举报
人机交互界面表示模型PPT.ppt_第1页
第1页 / 共101页
人机交互界面表示模型PPT.ppt_第2页
第2页 / 共101页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1,实验一:交互式绘图程序设计,参照所讲的例子,使用,.net,设计一个交互式绘图程序,框架,。设计内容至少应包括例子中的内容,并尽可能给出一个具体的程序实现。,实验报告要求:,以电子版的形式,详细描述框架的全部内容。对各个交互组件的设计,给出必要的说明。,对完成的设计,写出自己的主要问题和心得体会。,1,2,第,6,章,人机界面的表示模型,目的,在界面设计的早期阶段,建立一种用户界面表示模型,用形式化的设计语言来分析和表达用户任务以及用户和系统之间的交互情况;,使界面表示模型能方便地映射到实际的设计实现。,3,人机交互技术编写组,4,主要内容,行为模型,从,用户,和,任务,的角度考虑,描述人机交互界面,介绍,GOMS,,,UAN,及,LOTOS,模型。,结构模型,主要从系统的角度来表示人机交互界面。,状态转换网络,(STN-State Transition Network),产生式规则,(Production Rule),。,事件,-,对象模型,面向对象的表示模型,它将人机交互活动归结为,事件,与,对象,的相互作用。,如何由,界面的行为表示模型,转换到,系统的结构模型,。,5,6.1,行为模型,行为模型的研究内容,获取用户需求,后,结合,领域专家,的意见和指导,获取系统中需要完成的,任务,,对任务的,主要因素,进行详细地分析,如任务的层次、发生条件、完成的方法以及它们之间的关系等等。,6,6.1.1 GOMS,模型的四个要素,GOMS,模型,用来,分析和建立,用户行为的模型。,用,“,分而治之,”,思想,将一个用户任务进行层次细化。,7,6.1.1 GOMS,模型的四个要素,GOMS,模型的四个要素,目标,(,G,oal),操作,(,O,perator),方法,(,M,ethod),选择规则,(,S,election),8,6.1.1 GOMS,模型的四个要素,1,目标,Goals,目标,就是用户执行任务最终想要得到的结果,它可以在不同的层次中进行定义。,2,操作,Operators,操作是任务分析到最低层时的行为,是用户为了完成任务所必须执行的,基本动作,。,9,6.1.1 GOMS,模型的四个要素,3,方法,Methods,方法是,描述如何完成任务目标的过程,。,是用来确定,子目标序列,及完成这些目标所需要的,操作,。,10,6.1.1 GOMS,模型的四个要素,3,方法,Methods,GOAL:ICONSIZE-WINDOW,.select,.GOAL:USE-CLOSE-METHOD,.MOVE-MOUSE-TO-WINDOW-HEADER,.POP-UP-MENU,.CLICK-OVER-CLOSE-OPTION,.GOAL:USE-L7-METHOD,.PRESS-L7-KEY,11,6.1.1 GOMS,模型的四个要素,4,选择,Selection,是用户要遵守的,规则,,用来确定在特定环境下所要使用的方法。,当有多个方法可供选择时,,GOMS,需要根据用户、系统的状态、目标的细节来预测要选择哪种方法。,选择(用户状态、系统状态、目标细节),用户,Sam:,Rule 1:Use the CLOSE-METHOD unless another rule applies,Rule 2:If the application is GAME,use L7-METHOD,GOMS,模型的四个要素之间的关系,目标,(,G,oal),:层次结构,操作,(,O,perator),:基本动作,方法,(,M,ethod),:由目标和完成目标的基本操作复合而成。,选择规则,(,S,election),:由用户、系统状态和目标决定的。,12,人机交互技术编写组,13,人机交互技术编写组,14,GOMS,的局限性,GOMS,没有描述,错误处理,的过程,它假设用户按正确的方式进行人机交互,只针对专家用户。,任务间只有顺序和选择关系。选择关系通过非形式化的附加规则描述,实现起来也比较困难。,任务是面向目标的,忽略了任务的问题本质及用户的个体差异。,15,6.1.2 LOTOS,LOTOS-Language Of Temporal Ordering Specification,是一种标准形式描述语言,适于描述具有,并发,、,交互,、,反馈,和,不确定性,等特点的并发系统中的行为。,16,LOTOS,基本思想,把系统的外部行为看作有时序关系的,交互序列,组成。,认为系统由一系列,进程,组成,进程同环境之间通过称为,关口,(gates),的交互点进行交互。,认为两个以上进程在执行同一个外部可见的行为时会发生,交互操作,,进行数据交换、信息传递、协调同步等操作。,进程行为用,行为表达式,来描述,复杂行为由行为表达式通过,LOTOS,算符组合而成。,将,LOTOS,思想用于人机交互行为模型时,用进程之间的约束关系来描述交互子任务之间的关系。,LOTOS,模型的基本算符,(,交替,Interleaving,),T1,|,T2,T1,和,T2,两个任务相互独立,可按任意顺序执行,永远不会同步。,(,选择,Choice,),T1,T2,需要在,T1,,,T2,中选择一个执行,一旦选择某一个后,必须执行它直到结束,在这中间另一个再无执行机会。,(,同步,Synchronization,),T1,|,a1,.,an,|,T2,任务,T1,,,T2,必须在动作,(,a1,,,an,),处保持同步,(,禁止,Deactivation,),T1,T2,一旦,T2,任务被执行,,,T1,便无效,(,不活动,),(,允许,Enabling,),T1,T2,当,T1,成功结束后才允许,T2,执行,17,人机交互技术编写组,LOTOS,实例,18,人机交互技术编写组,中国象棋的,LOTOS,任务分解实例,19,人机交互技术编写组,打谱,所谓打谱,就是看棋谱。,初学阶段,学习一些基础知识,如各兵种的特点。,残局基本功训练,名家对局,掌握各种布局的特点,20,21,LOTOS,与,GOMS,的结合,LOTOS,模型描述了任务间的时序关系,这些时序约束关系能更好的描述,GOMS,中子目标之间的关系。,用,GOMS,模型描述任务的分解过程,而用,LOTOS,给出子任务之间的约束关系,这样就可以增加两种表示模型的表示能力。,中国象棋程序的,GOMS,和,LOTOS,行为模型描述,GOAL:,中国象棋,:/,Deactivation,GOAL:,运行,|:,*GOAL:,走棋,ACTION:,自动记录棋谱,:/,Enabling,GOAL:,当前方走,:/,Enabling,OPRATOR:,拾取棋子,OPRATOR:,放置棋子,GOAL:,对弈方走,:/Enabling,OPRATOR:,拾取棋子,OPRATOR:,放置棋子,*,GOAL:,打谱,:/Choice,OPRATOR:,加速,OPRATOR:,减速,OPRATOR:,暂停,OPRATOR:,恢复,GOAL:,退出,22,人机交互技术编写组,23,LOTOS,总结,LOTOS,与,GOMS,结合,可以清楚地描述任务的目标层次及各目标之间的,约束关系,。,依然无法描述目标异常结束,未涉及任务选择规则。,可以构造自动化工具,自动进行错误检测,但它过于形式化的记法比较晦涩难懂。,GOMS,模型和,LOTOS,模型结合可以描述较高级的人机交互任务。,对于原子任务,上述模型并没有给出一个比较清晰的描述。,下面讨论的,UAN,模型主要用于原子目标的描述。,24,6.1.3 UAN,UAN-,用户行为符号(,User Action Notation,),UAN,是一种符号语言,主要描述用户的行为序列以及在执行任务时所使用的,界面对象。,虽然,UAN,是,一种行为模型,但它又在一定程度上描述了系统行为,因而它兼有行为模型和结构模型的一些特点。,25,UAN,模型的基本思想,标志符,:,用户动作标志符,条件标志符,任务,的表格表示,界面被分解成一些类似层次结构的异步任务,每个任务的实现都用表格来描述,用户动作的关联性和时序关系由表格的行列对齐关系和从上到下、从左到右的阅读顺序来确定。,任务,(,task,),:任务名称,(,the name of task,),用户行为,界面反馈,界面状态,UAN,预定义的,动作标志符,用户动作标志符:,move_mouse(x,y),移动鼠标至,(x,y),release_button(x,y),在,(x,y),位置释放鼠标按钮;,highlight(icon),使,icon,高亮显示;,de_highlight(icon),取消,icon,的高亮显示,。,用户动作标志符:,x,y,,,在某个图形对象上移动鼠标;,按下鼠标;,释放鼠标;,!,使对象高亮显示;,-,!,取消对象的高亮显示,Display,显示图形对象;,Erase,取消显示对象。,26,人机交互技术编写组,UAN,预定义的,条件标志符,while(condition)TASK,当条件,condition,为真时,循环执行任务,TASK,;,if(condition)then TASK,如果条件,condition,满足,则执行任务,TASK,;,iteration,A*or A+,表示迭代操作;,waiting,表示等待,可以等待一个条件满足,也可以等待任务中的一个操作执行。,27,人机交互技术编写组,UAN,实例,-,单通道交互,任务:,drag and drop a file to the recycle bin,用户行为,界面反馈,界面状态,mouse_down(x,y),drag_icon(x,y),mouse_up(x,y),then highlight(icon),show_outline(icon),then highlight(bin),then hide(icon),show_bin_full,(),if intersect(icon,x,y),icon=selected,if intersect(bin,x,y),if intersect(bin,x,y),28,人机交互技术编写组,29,UAN,实例,-,多通道交互,任务:,drag and drop a file to the recycle bin,用户行为,界面反馈,界面状态,2D,鼠标,语音,then highlight(icon),show_outline(icon),then highlight(bin),then hide(icon),show_bin_full(),if intersect(icon,x,y),icon=selected,if intersect(bin,x,y),if intersect(bin,x2,y2),mouse_down(x,y),drag_icon(x,y),mouse_up(x,y),Pronounce,Move_to_,recycle_bin,30,UAN,总结,UAN,模型更接近于实现,界面状态和界面反馈用一般的程序语言描述,实现起来比较方便,当然这种描述由于接近于程序语言,因此设计时需要一定的编程基础,UAN,模型在精确刻画各成分之间的各种平行和串行的时序关系方面尚显不足,任务之间的时序关系没有明确表示出来,当所描述的界面使用多种输入设备和有若干可选交互路径时,比较繁琐。,G-U-L,模型,G-U-L,模型。,运用,GOMS,原理为基础进行任务分解,建立基本的行为模型。,原子操作由,UAN,模型描述,运用,LOTOS,算符来表示任务目标之间的时序关系。,31,人机交互技术编写组,中国象棋的,G-U-L,模型描述,思考题,中国象棋的,G-U-L,模型描述,任务分解,建立基本的行为模型,用,LOTOS,算符表示的时序关系,由,UAN,模型描述的原子操作,32,人机交互技术编写组,6.2,结构模型,33,6.2,结构模型,状态转换网络,-State Transit Network,用结构化的方法来描述人机交互的一般过程,是一种图示化的结构,产生式规则,-Production Rule,形式化语言的描述,这种结构的方法从理论上可以引导界面设计者及界面工具的设计者进行有效的设计。,34,人机交互技术编写组,6.2.1,产生式规则,产生式规则,又称为,上下文无关文法,,将人机交互对话看作是一种语言,运用基于语法的方法来描述交互对话。,产生式规则是一种形式化语言,这些规则可用于描述人机交互界面。,产生式规则的一般形式,:,if,condition,then,action,这些规则可以表示为不同的形式,如,condition,action,condition,:,action,35,人机交互技术编写组,36,1.,事件引导的系统,Sel-line,start-line,C-point start-line,rest-line,C-point rest-line,rest-line,D-point rest-line,事件引导的系统,产生式的,条件,和,动作,均以事件的方式表示。,实现用户在屏幕上绘直线的产生式集合,人机交互技术编写组,事件的主要类型,用户事件,(,user event,),Sel-line,表示从菜单中选择,line,命令,,C-point,和,D-point,表示用户在绘图平面上单击和双击鼠标,内部事件,用于,保持对话状态,,如,start-line,表示开始画线后的状态,,rest-line,表示选择了第一个点之后的状态。,系统响应事件,以尖括号表示可见或可听的系统响应,如,,把菜单项,line,高亮度显示,,表示在屏幕上显示直线,,表示橡皮筋绘制方式打开,,表示橡皮筋绘制方式关闭。,37,人机交互技术编写组,产生式规则的解释,在上面的产生式规则中,第一条规则表示选择画线命令后,系统状态进入了开始画线状态,接着把,line,菜单项高亮度显示;,第二条规则表示,用户在开始画线状态时,在绘图区域单击鼠标则系统表示已定义了一个点,此时橡皮筋绘图方式打开;,第三条规则表示在定义了一个,(,或多个,),点后,用户单击鼠标可以连续地定义点;,第四条规则表示双击鼠标则结束画线的交互过程。,38,人机交互技术编写组,39,对话控制,对话控制,主要负责,事件的产生,和,规则的匹配,,在每一时刻系统内存中会保存一些内部事件,当产生一个事件时,可能是用户事件,也可能是内部事件。,对话控制就是要将产生式规则与事件集合进行匹配,这个过程是复杂的而且耗时,当产生式很多并且产生式规则的条件复杂时,匹配算法的效率就显的更为重要,因此需要设计好的数据结构和匹配算法来提高匹配规则的效率。,可以将规则和事件进行分组和分层。,40,2.,状态引导的系统,状态引导的系统,在系统内存保存的不再是动态的事件,而是一些表示系统的当前状态的属性,这些属性在不同的时刻有不同的值。,画线操作在系统中的五个属性,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,41,人机交互技术编写组,对象的状态,Mouse,的,4,个状态,Mouse-null,(,鼠标空闲,),,,select-line,(,选线,),,,click-point,(,单击,),,,double-click,(,双击,),Line-state,当前会话状态,menu,(,可选命令状态,),,,start-line,(,开始绘线,),,,rest-line,(,已经定义点,),;,控制系统响应状态,Rubber-band,橡皮筋绘制开关状态,Menu,表示任何项也没有选中,(,highlight-null,),选中绘直线命令,(,highlight-line,),选中绘圆命令,(,highlight-circle,),Draw,表示什么也不画状态,(,draw-nothing,),画直线状态,(,draw-line,),显示控制器根据上面的状态做出相应的显示控制。,42,人机交互技术编写组,状态引导的产生式规则,(,画直线,),Select-line,mouse-null start-line highlight-line,Click-point start-line,mouse-null rest-line rubber-band-on,Click-point rest-line,mouse-null draw-line,Double-click rest-line,mouse-null menu draw-line rubber-band-off,43,人机交互技术编写组,44,状态引导的产生式规则的特点,当产生式规则的条件和状态匹配时将激活该产生式规则,对于某一特定的属性,如果前面的状态需要改变成新的状态时才需要在产生规则的后面标注,.,45,状态引导的产生式规则的特点,属性的,永久特性,有时会引起一些奇怪的错误,因此在上述的规则集中,每一条产生式规则都要求将鼠标的状态设置为,mouse-null,,,否则,当用户单击了鼠标,激活了第二条规则,如果不立即将鼠标的属性设置为,mouse-null,,则会立即激活第三条规则,此时系统的状态和第三条规则的条件是匹配的,并且会反复的一直执行下去。,3.,混合引导系统,事件引导方式与状态引导方式结合,如下面产生式规则:,event:condition,action,如果条件不满足,即当前系统内存中的状态和产生式的规则不匹配,则无法激活规则,另外当状态改变时,产生式规则中的,action,本身也可以产生新的事件,从而可以激活另一条规则。,46,人机交互技术编写组,47,混合的事件,/,状态产生式系统,Bold:,off,on,Italic:,off,on,Underline:,off,on,图,6-2,粗体,/,斜体,/,下划线对话框,文本样式,根据用户点击鼠标的位置不同,可能产生三个事件:,select-bold,select-italic,select-under,,该对话过程有下面六个产生式规则定义。,混合的事件,/,状态产生式系统,select-bold:,Bold=off,Bold=on,select-bold:,Bold=,on,Bold=off,select-italic:,Italic=off,Italic=on,select-italic:,Italic=on,Italic=off,select-under:,Underline=off,Underline=on,select-under:,Underline=on,Underline=off,48,人机交互技术编写组,产生式规则总结,描述操作时序能力强,并发顺序均可,无法描述误操作,界面复杂时,状态、事件复杂,产生式过多,要求产生式匹配算法性能高,49,人机交互技术编写组,6.2.2,状态转换网络,状态转换网络,(STN),的基本思想是定义一个具有一定数量状态的转换机,称之为有限状态机,-Finite State Machine(FSM),FSM,从外部世界中接收到事件,并能使,FSM,从一个状态转换到另一个状态。,两种最基本的状态转换网络,状态转换网络,(,State Diagrams,),扩展状态转换网络,(State Charts),50,人机交互技术编写组,1.,传统的状态转换网络,状态转换,当发生一个事件时,系统从一个状态转换到另外一个状态。,外部事件,由用户操作外部输入设备来产生,内部事件,系统产生的事件,改变了系统的状态和行为而产生的事件,如当一个任务完成后可以激活另一个任务等。,51,人机交互技术编写组,带条件的状态转换,源状态,目标状态,条件,动作,源状态,目标状态,转换,52,人机交互技术编写组,带条件的状态转换,T2C2,T1C1,S,E1,E2,S+C1,S+C2,E1,E2,T1,T2,53,人机交互技术编写组,带条件的状态转换实例,draw circle,单击在圆周上,rubber band,单击在中心点,highlight circle,选择,circle,Circle1,Menu,Finish,Circle2,draw line,双击,rubber band,单击在第一点,highlight line,选择,line,Line1,Finish,Line2,54,人机交互技术编写组,55,传统状态转换模型,状态转换网络,比,文本解决方案,更易于设计、理解、修改和文档化,它给出了对行为的精确的、甚至是格式化的定义。,传统状态转换模型,的局限性,需要定义出系统的所有状态,这对于小型的系统是没有问题的,但是在一个较大的系统中,系统会很快崩溃,状态的数目是呈指数级增长的,同时状态的增长直接导致了状态转换网络过于复杂、无法实际应用。,2.,扩展的状态转换网络,弹出,graphics,子菜单,选择,graphics,主菜单,graphics,子菜单,弹出,text,子菜单,选择,text,text,子菜单,弹出,paint,子菜单,选择,paint,paint,子菜单,(1),层次状态转换网络,56,人机交互技术编写组,带有取消功能的状态转换图,弹出,graphics,子菜单,选择,graphics,主菜单,graphics,子菜单,弹出,text,子菜单,选择,text,text,子菜单,弹出,paint,子菜单,选择,paint,paint,子菜单,ESC,正常完成,正常完成,正常完成,ESC,ESC,57,人机交互技术编写组,58,带有帮助功能的状态转换,按下,HELP,按钮,按下,HELP,按钮,从菜单出发,draw circle,单击在圆周上,rubber band,单击在中心点,Circle1,Finish,Circle2,帮助子系统,帮助子系统,描述并发任务?,人机交互技术编写组,状态转换模型,状态的爆发式增长问题,具有良好的描述串行和顺序行为的能力,,并发及其他行为的描述能力差,虽然是一个结构模型,但难以实现,59,人机交互技术编写组,60,6.3,事件,-,对象模型,(,Event-Object,),61,6.3.1,对话独立性和语义反馈性,对话的独立性,指,界面和系统的逻辑业务或数据模型互相独立,交互完成后,再去调用业务模型的方法进行相应的业务处理。,语义的反馈性,指在人机交互过程中要实时反馈界面的状态和用户操作的细节,以便用户能比较清晰的了解当前操作的过程,.,“,所见即所得,”,就是一种典型的语义反馈。,人机交互技术编写组,软件体系结构,软件的四层体系结构,表示层,逻辑对象层,服务对象层,存储层,62,人机交互技术编写组,6.3.2 E-O,模型系统结构,事件,-,对象模型,将人机交互活动归结为,事件与对象的相互作用。,事件,是人机交互活动中传递的信息。,对象,是交互活动中的对象;,事件引发交互活动,对象是交互活动的承受者。,模型强调事件和对象在人机交互中的重要性,以事件为驱动,以对象为核心,具有面向对象的风格。,兼顾了对话独立性原则和语义反馈的要求。,63,人机交互技术编写组,64,表示层对象,1,表示层对象,2,表示层对象,n,控制者,逻辑对象,1,逻辑对象,2,逻辑对象,n,事件,1,事件,2,事件,n,事件,1,事件,2,事件,n,6.3.2 E-O,模型系统结构,65,1.,事件的类型,事件的两种基本类型:,实事件,是用户通过输入设备输入而产生。可分为:,键码事件;定位事件;字符串事件。,虚事件,用户界面系统或应用程序产生并限于系统内部流动的事件,主要是协调系统的运行,可以分为:,定时器事件;邮件事件;空闲事件,66,2.,事件的结构,事件名,(Name),类 型,(Type),来 源,(From),去 向,(To),产生时刻,(Time),数 据,(Data),67,3.,对象的类型,根据交互任务类型的不同一般可归纳为三种基本对象类型:,抽象交互对象,如磁盘、文件等抽象的对象;,空间交互对象,表示空间中的物体的对象等,如三维场景和物体;,时间交互对象,表示与时间相关的对象,如视频、音频等对象。,68,对象的类型,对象按功能分类,可分为:,通用对象,,在不同的应用中共有的一些对象;,工具对象,,用作用户界面中的各种交互技术,(,如按钮等,),;,二维对象,,用于二维用户界面;,三维对象,,用于三维用户界面;,时变对象,,适用于随时间变化的动态对象,如在多媒体用户界面中实现音频、视频等媒体的管理。,69,对象应该具有的特征,对象应以显式的方式接受事件并对此做出响应;,能直接利用数据和方法封装的思想实现对象的独立;,一个对象可以发送消息给其他对象,对象之间的通信通过消息发送和接收来完成,对象的实现方法可采用结构化方法和面向对象的方法。,70,4.,对象的结构,主要包括三部分:,属性集,,包括对象,ID,、类型、风格、位置、颜色等;,方法集,:,初始化方法,:对象属性的初始化;,表现方法,:常规的界面反馈和更新对象的外观;,响应方法,:响应方法对用户的终结控制动作调用相应的应用语义函数以做出响应,当对象之间存在关联语义时,相应方法还负责和其他对象进行交互。,消息集,:包括一组可被对象识别的并激活其相应行为方法的消息,这些消息分流到上述三个方法中。,71,5.,对象的组织,对象之间有不同的关系,可采用四种典型结构来组织对象:,集合,,对象之间无约束关系;,线性结构,,对象之间有明确的顺序关系,如各输入字段、列表项等;,层次结构,,对象之间有层次关系,对象包含数个子对象,如菜单和菜单项;,网状结构,,适用于比较复杂的,CAD,系统,如,CAD,布线,现在,Web,中的导航菜单对象的组织也有采用网络结构。,6.E-O,模型总结,E-O,模型具有面向对象特性,其中对象具有直接的面向对象的特征,而包括事件、设备的在内的各种元素也被直接地映射为对象;同时,事件对象模型内在的事件驱动机制也非常符合交互式软件的需要。,事件对象模型中事件结构和对象结构的通用性和开放性,可以支持从简单得到复杂的各类用户界面的实现,有能力支持包括多媒体、多通道用户界面和虚拟现实等新型人机交互技术的实现,在下一章将给出,E-O,模型的软件结构和实现支持。,72,人机交互技术编写组,73,作业,1.,写出事件引导的画线的产生式规则,2.,写出状态引导的画线的产生式规则,3.,画出基于菜单的画图工具的状态转换图,6.4,行为模型和结构模型的转换,74,75,6.4,行为模型和结构模型的转换,行为模型主要对设计起指导作用,在此基础上,设计人员再进行结构模型,(,如状态转换网络等,),的创建,这个过程很大程度上取决于设计人员的经验和对行为模型的理解,.,本节主要介绍一种从行为模型到结构模型的一种转换思想和算法,以实现两种模型间的自动的转化工作。,76,6.4.1,基本的模型转换整体框架,转换算法,行为模型,(G-U-L),结构模型,State Charts,GOMS,UAN,LOTOS,约束规则,用户,Domain Expert,Designer,图,6-17,模型转换整体框架,人机交互技术编写组,模型转换整体框架,整个框架分为三个部分:,行为模型,使用,G-U-L,模型,在这一层将产生一个基本的预测性的行为模型。,结构模型,采用层次状态转换网络,它涉及到的元素有状态、转换、事件、层次结构。不考虑状态转换网络在转换中条件和同步,可以简化转换工作。,用户,包含两种用户,领域专家和设计者。,G-U-L,模型的创建主要是由领域专家和设计者合作来完成的,然后通过模型转换算法转换成为结构模型,最后提供给设计者使用。,77,人机交互技术编写组,78,6.4.2,转换算法,1.,基本思想,2.,基本步骤,3.,实例应用,79,1.,基本思想,采用,G-U-L,以层次化结构对任务进行建模,包括目标,(,包括循环属性,),、行为、关系。,状态转换网络表示的是状态之间的转换,也采用层次化表示,涉及到的主要是状态、转换、事件、行为。,在,G-U-L,中体现的层次关系转换到状态转换网络中也体现出层次的关系,,G-U-L,中的每个目标都对应一个状态转换网络。,如果一个目标下层有子目标,对子目标来说,它所对应的状态网络应该嵌套在上层目标对应的状态网络中。,1.,基本思想,在产生的状态转换网络中,有两类事件起作用:,一类是外部由用户激活的事件,如“按下鼠标”,事件、“点击键盘”,事件等;,另一类是内部由目标产生的内部事件,这里只定义了“目标正常结束”,表示目标正常结束时产生的事件。,在进行从,G-U-L,到状态的转换时,这些事件只是形式上的一个定义,没有具体的实现过程,如要在某一层出现的第,i,个外部事件用“外部事件,i”,来代替,而由某个目标,Ti,执行时产生的内部事件也仅仅用类似于“,Ti,正常结束事件”来表示,,而具体的事件还需要由状态网络进行,系统实现时通过专门的事件管理器来定义和管理。,对,G-U-L,中的行为在转换后就成为对应的状态转换网络中的一个行为。,80,人机交互技术编写组,81,图,6-18,事件产生过程,G,产生“,G,正常结束”事件,S0,F,图,6-18,中描述了一个目标层次中产生事件的过程。,82,2.,基本步骤,对转换后的数据,存储的是状态转换网络中表示转换的弧,如下图,6-19,所示:,图,6-19,状态转换网络中弧的表示结构,其中的触发事件就是触发从出发状态到目的状态转换的事件;,父状态表示的是当前弧所在状态网络的上层状态,可以是一个抽象出来的状态名;,出发状态,目的状态,触发事件,父状态,行为,83,2.,基本步骤,转换基本步骤,(1),读取存储,G-U-L,模型的数据文件,进行解析,定义一个数组,stn,用于存储状态网络中的弧。获取,G-U-L,模型中的最高目标,设为,G0,,然后调用,(2),中的,Translate,函数,在,Translate,执行完毕后,,stn,中便存储了转换后的状态网络的数据。函数示意如下:,(2),对当前的目标进行处理,如果是原子目标,参考原子目标的,UAN,模型,创建其状态转换网络。否则,获得目标层次下的数据,包括行为、关系算符及子目标名。通过关系符号来调用,(3),中相应的关系转换函数,对所有的子目标进行递归调用。函数示意假如下:,main(),定义一个存储弧的数组,stn,读取,G-U-L,文件,GOAL G0”:,允许关系处理,case “|”:,交替关系处理,case “”:,禁止关系处理,/,对所有的子目标进行递归调用,for(int I;I,(,允许,Enabling,),:,设目标,G,下的子目标关系为,(G0,G1),,在这种关系中完成目标,G,的路径只有一条,当,G0,成功结束后才允许,G1,执行,这是一个顺序执行的过程。,在转换成状态转换网络后如图,6-22,所示。,图,6-22,允许,”,关系状态网络,G1,正常结束事件,G0,正常结束事件,外部事件,S1,S2,S0,产生,G,正常结束事件,从状态,S0,在外部事件激发转换至,S1,,在,S1,状态等待“,G0,正常结束事件”发生后转换至,S2,;然后在,S2,处等待“,G1,正常结束事件”转换至,S0,,这样表示目标,G,执行完毕,同时发生动作“产生,G,正常结束事件”,处理转换过程中存储所有的弧。这种约束关系允许同一层次下有多个目标存在,如,(G0,G1,Gn),,这些目标都是顺序执行。,92,人机交互技术编写组,|,(,交替,Interleaving,),:,设目标,G,下的子目标关系为,|(G0,G1),,表示两个目标之间一种任意的组合来执行完成。在转换到状态网络后,如图,6-23,所示,有,S0-S1-S4-S0,和,S0-S2-S3-S0,两条途径可以完成目标,G,的一次执行。,图,6-23“,交替”关系状态网络,G0,正常结束事件,S2,G1,正常结束事件,G0,正常结束事件,外部事件,0,S0,S3,S4,S1,产生,G,正常结束事件,产生,G,正常结束事件,G01,常结束事件,外部事件,1,93,人机交互技术编写组,94,从,S0,状态,如果产生“外部事件,0,”,,依次等待“,G0,正常结束事件”、“,G1,正常结束事件”并最终回到,S0,状态,同理,若产生“外部事件,1,”,,则会沿着另一条路径回到,S0,。记录下所有状态转换的弧。在有交替关系的层次中最多只允许有两个状态存在。,(,禁止,Deactivation,),:,设目标,G,下的子目标关系为,(G0,G1),,,一旦,G1,任务被执行,,,G0,便无效,(,不活动,),。这个关系在转换到状态网络以后与前面不同的是,在状态,S2,被“,G1,正常结束事件”激活以后,不会再回到,S0,而是转到了一个新的状态,F,。在有禁止关系的层次中最多只允许有两个目标状态存在。一个典型的例子是,G0=,”,运行”,,G1=,”,退出”。在执行退出以后整个程序结束,也就无法再回到运行状态了。,G0,正常结束事件,产生,G,正常结束事件,G1,正常结束事件,外部事件,0,外部事件,1,S2,S0,F,图,6-24“,禁止”关系状态网络,产生,G,正常结束事件,S1,95,人机交互技术编写组,96,3.,实例应用,根据上面的转换算法,在图,6-24a-c,中给出了中国象棋的最高层目标、运行、走棋三个目标的状态转换网络,它们之间通过事件的产生和激活完成其层次间的通信。其他目标的状态网络表示与这三个图类似,在这里没有列出,.,97,运行正常结束事件,外部事件,1,外部事件,0,退出正常结束事件,S0,S1,S2,F,图,6-24a,最高层目标状态转换网络,最高层目标,运行,运行,产生运行正常结束事件,产生运行正常结束事件,打谱正常结束事件,打谱正常结束事件,S02,外部事件,1,打谱正常结束事件,走棋正常结束事件,外部事件,0,S00,S03,S04,S01,图,6-24b“,运行”目标状态转换网络,98,人机交互技术编写组,99,走棋,图,6-24c“,走棋”目标状态转换网络,走棋,对弈方走正常结束事件,产生走棋正常结束事件,当前方走正常结束事件,外部事件,S001,S002,S000,100,习题,6.2,对,6.1,题中的,GOMS,模型中的原子目标,创建,UAN,模型,从而进一步了解,UAN,模型的在行为模型中的地位和作用。结合,LOTOS,算符,用前面介绍的,G-U-L,进一步完善任务的描述。,6.3,在,6.2.1,中用产生式规则描述了“屏幕上绘直线”的模型,请试着用状态网络来进行描述,并比较一下两者之间的异同。,101,课堂练习,1,把中国象棋的,G-U-L,模型转换到状态网络模型,最高目标,运行,走棋,2,画出窗口系统中,事件注册方式处理流程图,人机交互技术编写组,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服