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