PAC模型在人机智能交互系统中的应用

2016-11-20 07:39孙温稳
河南科技 2016年15期
关键词:用户界面底层应用程序

孙温稳

(郑州师范学院信息科学与技术学院,河南郑州 450044)

PAC模型在人机智能交互系统中的应用

孙温稳

(郑州师范学院信息科学与技术学院,河南郑州450044)

随着电脑技术的发展,以用户为中心的问题越来越受到人们的关注。相应的,以用户界面为基础的人机交互系统也变得越来越复杂,越来越庞大。基于此,介绍多智能体的交互式系统概念模型PAC,同时引入具体的实例来介绍如何使用PAC模型实现人机交互系统。

PAC;人机交互系统;用户界面

目前软件架构的设计已成为一个活跃的研究领域。尽管一次性特别开发的软件可以适用于抛弃型原型,但是现在已经广泛地认识到可以将建筑设计的成功经验引入到软件架构的设计中。如今的人们越来越崇尚自然,这也使得用户界面的开发备受关注和重视。人机交互(HCI)的早期界面的开发源于用户的需求或目标系统提出的要求。对于越来越大型、越来越复杂的系统来说,软件体系结构建模已经成为一个中心问题。随着新技术的出现,结合软件设计中以用户为中心的思想,使得带有一部分用户界面的交互系统越来越庞大和复杂。在这一领域,许多体系结构框架已被规范地引用。

1 人机交互系统现状

新兴交互技术随着科技的发展变得越来越复杂,其主要包括:①群件,即系统允许多个用户实现一个常见的任务,而用户之间传递信息跨越了时间和空间的限制,可以面对面进行交互,也可以异步交互,用户所处的位置可以是远距离的或者相邻近的;②多通道交互,即用户接口,支持多种形式的互动,如语音和手势识别的组合;③虚拟现实系统,指系统使用户陷入一个模拟的世界;④增强或混合现实系统,汇集了真实世界的信息处理;⑤情境交互和上下文感知计算,为用户提供建立在目前的互动背景下的相关信息,如位置和照明条件等;⑥普及高等教育,比如一般人包括残疾人可以在任何地方、任何时间、任何设备(电脑终端、手机等)访问计算机系统进行学习[1]。

目前对于基于场景的软件体系结构分析方法已被用于许多领域,如面向对象以及在人机交互中测试任务模型和用户界面的外部规范。场景的设定必须覆盖所有系统的结构设计以及相应的利益相关者以各自的角度参与设计过程(如终端用户、开发人员、维护人员等)。有了软件架构开发的一般原则的总结研究,我们现在考虑交互式系统的具体情况。我们关注最多的并广泛应用的2个重要模型即Seeheim模型和Arch模型,它们的引入及一系列紧随其后的模型,满足了越来越多的需求。而本文主要讨论的是面向对象的用户界面交互的模型PAC(Pre⁃sentation-Abstraction-Control)模型,也被称之为多智能体的交互式系统概念模型。

2 PAC模型简介

PAC(表示、抽象、控制)体系结构模式以合作agent即代理的层次形式定义了交互软件系统的一种结构。每个agent负责应用程序功能的某一特定方面,并且由表示、抽象和控制3个组件构成。这种细分将agent的人机交互与其功能内核和它与其他agent的通信分隔开来。其中,P(表示)用于定义用户的输入和应用的输出行为;A(抽象)提取对应于功能的语义信息,实现应用要完成的功能;C(控制)负责对话控制并维护表示和抽象的一致性,同时也负责沟通其他代理之间的依赖关系。PAC模型以树状层次结构构建立交互式应用层次。PAC agent共分三层:顶层PAC agent、底层PAC agent和中层PAC agent。顶层agent负责系统的核心功能,即用于实现交互系统中与应用有关的功能。底层agent表达了独立的语义概念,用于实现与终端用户的交互,除了显示数据还可以接收用户输入数据。中层agent则是负责沟通底层和顶层agent。有一点需要注意,中层有可能还可以再划分层次,所以它不一定用于和底层直接通信。

3 PAC模型在实际中的应用

在实际的教学工作中,MAC的运用比较多,尤其在动态的网站设计中,PAC模式涉及较少。为了让学生更容易理解或者更容易使用PAC模式,并且运用到实际的项目中,可以设计相对简单的一些项目,让学生一步步按照要求去做,从而达到逐步了解并应用PAC模式的目的。这个项目的目的主要是让学生手动编程来实现对PAC模式的应用,具体来说,即是在实践项目中如何创建一个PAC的架构,代理之间如何通信,外部的消息如何传递到代理的内部。为了解决以上问题,在这个项目中,将创建一个应用程序用于实现理想气体公式(PV=NRT)。这个应用程序模拟一个密封的1m3体积的玻璃球,即V=1m3,其中有许多摩尔的理想气体,这种气体有一定的温度和压力。应用程序目的是实现当其中的某个值发生变化,则会引起其他这些值发生相应的变化。当然要设计一个界面,用于显示摄氏温度、压强、摩尔数的数值。

为了降低实现的难度,可以一步步来完成这个项目。第一步,先创建第一个代理,可称之为温度代理,它允许用户输入温度,单位是开尔文。界面可以设计的简单一些,只保留一个标签和一个文本框,用来输入单位是开尔文的温度即可,我们现在有一个温度管理代理的概念。接下来将显示的温度更改为摄氏度,那么我们需要提供什么样的变化,如何进一步修改代码呢?第二步,需要添加一个方法能够实现温度单位从摄氏度到开尔文的改变。当输入一个初始的摄氏温度后,在PAC模式中,会发现数值从P开始传递到C,最后从A中得到最后的结果。当然我们需要添加相应的方法来支持这种消息的传递。第三步,设计二个窗口,一个窗口中可输入摄氏温度值,另一个窗口中可输入开尔文温度值,用户可以修改任意一个窗口的温度值,那么另一个窗口的温度值也会发生相应的改变。在这一步中,需要两层代理来实现,如图1所示。

图1 PAC工作原理

我们假定在开尔文的温度窗口中输入新的温度,这个温度由底层开尔文温度代理的P传递到开尔文温度代理的C(Etape.K)再传递到上层代理的C(Etape),再由它将数值传递到摄氏温度代理的C(Etape.C),最后传递到摄氏温度代理的P,最终可在另外一个窗口显示出对应的摄氏温度。对于顶层代理中的A用于保存传递过去的值。如果在显示摄氏温度的窗口中改变温度数值,那么数据传递的方向正好与上述相反。最后一步,构建应用程序管理PV=NRT公式,其中压力表示为Pa,体积为m3,温度为K。这一步骤中除了温度值外,同时还要显示压力值和摩尔数,这就需要建立三层代理来实现具体的操作。顶层为总的代理包括A和C;中层需要添加3个代理,即摄氏开尔文温度代理(上一步中的总代理)、压力的代理和摩尔数的代理;底层代理就是摄氏温度的代理包括P和C,在P中可以输入相应的摄氏温度值,在程序内部将温度转换成开尔文,并且显示出来最终的压力值和摩尔数值。

4 结语

现今的软件设计中,MVC的运用比较广泛,但与之相比,PAC模型有着不可替代的优势。PAC agent将应用功能与输入行为和输出行为都封装在一个对象中,使用一个独立的控制器来保持应用语义和用户界面之间的一致性,这种将控制器独立起来的思想,更符合UIMS的设计思想,可用来实现用户界面不同的功能。PAC模式很容易支持多任务和分布式。各个agent之间的耦合降到很低,所以变化和扩展都很容易。再者,它也不基于任何一种编程的环境,便于广大软件编程人员的使用。

[1]Joëlle Coutaz.Software architecture modeling for user inter⁃faces[M].Wiley:Encyclopedia of Software Engineering,1993.

Application of PAC Model in Human Computer Intelligent Interaction System

Sun Wenwen
(Information Science&Technology College,Zhengzhou Normal University,Zhengzhou Henan 450044)

With the development of computer technology,user-centered problem get the attention of people more and more.The user interface portion of interactive systems is also becoming increasingly complex and large.Based on this,the concept model of multi agent interactive system PAC was introduced,and the concrete examples to introduce how to use the PAC model to realize the human-computer interaction system was introduced.

PAC;interactive system;user interface

TP31

A

1003-5168(2016)08-0029-02

2016-07-23

孙温稳(1974-),女,硕士,助理经济师,研究方向:人工智能。

猜你喜欢
用户界面底层应用程序
航天企业提升采购能力的底层逻辑
基于CiteSpace的国外用户界面体验图谱量化分析
物联网用户界面如何工作
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
UI用户界面色彩设计研究
基于B/S的跨平台用户界面可配置算法研究
回到现实底层与悲悯情怀
中国底层电影研究探略
略论“底层”