计算机工程
Computer Engineering
1999年　第25卷　第9期　Vol.25 No.9  1999



基于MultiAgent和CSCW的多媒体教学模型
余春艳　朱晓芸　王申康
　　摘　要：基于MultiAgent和CSCW的观点，提出一个多媒体教学模型，探讨了该模型的结构以及模型中Agent的表示、通信等关键技术．
　　关键词：计算机支持协同工作；智能体；协同
A Model of Multimedia Instruction Based on Multiagent and CSCW
Yu Chunyan Zhu Xiaoyun Wang Shenkang
(Artification Intelligent Institute, Zhejiang University, hangzhou 310027)
　　Abstract　This paper proposes a multimedia instruction model based on Multiagent and CSCW. Then this paper discusses the structure of the model and some important technologies, such as description of Agent and communication.
　　Key words　Computer supported cooperative work; Agent; Cooperation
　　传统的计算机辅助教学 (Computer-Aided Instruction) 系统的主要研究方向是实现或加强个别化的教学模式，而从教育学和学习论的观点来看，教育是一种社会活动，具有群体性、分布性、交互性和协作性的特点。产生于80年代中期的CSCW技术与教育的特点不谋而合。将 CSCW 技术与CAI相结合，就产生了协同式学习，即老师和多个学生能对某一问题进行分析、讨论、交流等协作活动，从而深化对问题的理解，获得高级的认知能力。 
　　CSCW系统须采用符合群体工作方式特点的技术，多Agent系统适用于CSCW系统。Agent是指在一定环境下自主运行，包含了信念、承诺、义务、意图等精神状态的实体。其特点是：学习性、知识性、自主性和相互合作性。在多Agent系统的学习中，Agent是平等协作的，以协同操作来共同完成给定的学习任务，其学习特性与现代教育相吻合。此外，Agent的智能性更好地体现了个体在协同工作中的重要作用。所以，多Agent系统能很好地实现CSCW系统，为CSCW系统提供良好的系统解决方案，结合使用Agent技术已成为协同CAI领域的一个重要趋势。 
1　MA&C 模型结构
　　基于 MultiAgent 和 CSCW 的观点，以现代的网络技术、超媒体技术为基础，采用面向对象的设计方法，提出了一个具有客户 / 服务器模式的多媒体教学模型--MA&C模型。介绍MA&C模型之前，先介绍该模型中Agent和CSCW的应用情况。
1.1　Agent 类型的确定
　　MultiAgent 系统是由一组彼此间进行协作或竞争的主体组成的系统。在涉及到Agent的系统中，首先要根据问题确定系统中所需关注的智能主体。角色机制是一个协同系统正常运作所不可缺少的，角色是一组提供给协同教学的权利和责任的属性。在本协同教学模型中显然有两种角色：学生和教师。根据这两种角色可相应确定两类Agent：用以辅助教师对教学进行某些管理和控制的教师Agent和用以辅助学生进行学习的学生Agent。在MA&C系统中，为了更好地协调位于server端的教师Agent与位于client端的学生Agent之间的协作活动，每类Agent包括若干个具有特定功能的应用子模块。学生Agent包括两部分应用子模块：一部分用于支持学生的学习活动，另一部分用于支持学生对当前的学习状况进行自我评测，主要是通过与评测库的交互来确定学生的知识水平和错误所在。教师Agent包括4部分应用子模块：第一部分用于监控学生的学习进度、当前学习状态，以确定对该生应用何种导航策略，并监控共享资源的使用情况；第二部分通过与协同规则库的交互来解释显式定义的协同协议处理协同要求；第三部分利用监控得到的信息和评测库对全体学生的总体学习状况加以评测，以改进教学方法，改善教学效果；第四部分用于对学生进行指导，进行交流、探讨。 
1.2　协作教学的类型 
　　CSCW系统的目的就是在计算机环境下提供对人们群体工作的支持。一般的协同系统中，按照交互合作方式和协同者的地域分布而从时间和空间的概念来界定，大致有以下4种协同方式：同步模式、分布式同步模式、异步模式、分布式异步模式。
　　MA&C系统作为一个协作教学系统，扩充了原有CAI的教学模式，主要在于支持协同工作。MA&C系统支持3种协同工作：个别辅导、群体指导和自由讨论。个别辅导是由学生通过学生Agent向教师Agent发出请求，请求到达教师Agent 请求队列 (该队列采用先来先服务的策略) 后，等待调度，一旦该请求调度成功，则学生和教师之间进行一对一的交流。与此不同的是，当教师Agent发现个别辅导请求队列中有许多请求相近，或者当教师Agent启动监控功能发现知识库中某一知识点多次被确定为错误所在，教师Agent就撤消所有同类的个别辅导的请求，改为一个群体指导的请求。群体指导的优先权高于个体辅导，一旦群体指导调度成功，教师与学生之间进行一对多的交流。自由讨论则是由教师Agent自己将请求加入到协同请求队列中等待调度，以对某些教师认为值得讨论的问题进行自由讨论。
1.3　MA&C模型
　　综合考虑确定的Agent类型和协作类型，提出MA&C系统的设计模型如图1所示。该模型构造了一个合适的多媒体教学网络的体系结构，建立了师生协同教学的模型，将传统的CAI教学推进到一个以超媒体为基础，地理分布协同工作的网络教学层面。

图1　MA&C 系统设计模型图 
2　MA&C系统部分的关键技术
2.1　Agent 的具体表示
　　MA&C系统共有5类Agent。从形式化的角度来看，Agent 可以用一个六元组来描述： 
　　A_Depiction＝＜Aid ，F，S，T，R，C>，其中Aid是Agent的标识符，F是Agent的外部征，S　是Agent的状态集，T是 Agent的事务处理集，R是Agent的资源集，C是定义在T和R上的约束。结合面向对象技术，Agent可以用封装特殊内部结构的类来表示。因此，MA&C 系统中的Agent对象是一个五元组A_Object＝＜Aid，A，M，C，I>，其中，Aid 是 A_Object 的唯一标识符，与A_Depiction 中的Aid 相对应；A是A_Object 具有一定数据结构的私有存储区域，为属性集，与 A_Depiction中的F、S和R相对应，如Agent对象类型；M是 A_Object 的操作集合，定义了该类对象为完成其任务而必须具有的自主行为特性；C是A_Object 的协作操作集，定义了当条件符合时，该类A_Object触发协同请求时或该类A_Object被请求协同工作时的操作；I是A_Object与网络和其它A_Object 的接口操作。这3个部分共同组成A_Depiction中的T事务处理集。
2.2　MA&C系统Agent的通信
　　由于MA&C是一个基于MultiAgent和CSCW的多媒体教学系统，而一个协同系统中，通信是基础，合作是形式，协调是关键。与此相对应的是：从功能的角度来看，Agent的表达结构可分为 3 层：通信层、自定义层和管理层。其中通信层包括网络接口和通信接口，负责完成Agent实体之间的交互和通信，与2.1中A_Object的I部分相对应。自定义层定义了Agent的类型、内部结构及其承担的任务，对应于A_Object中的Aid，A，M3 部分。管理层则定义了协作协议，并且通过通信层传递过来的消息以启动Agent中相应的应用子模块，主要由A_Object中的C 部分来实现。在多Agent 系统中，Agent的协作是通过Agent之间的交互来实现的。任何一种交互方式的具体实现都是通过通信层实现的。所以通信层的实现是多Agent系统中的一个关键问题。Agent之间的通信一般有4种方式：第一种是 - 私线 -(private-line) 方式，即Agent之间进行保密性良好的直接通信；第二种方式是 - 黑板-(blackboard) 方式，即把信息放在广泛可取的 - 黑板 - 上，实现广播通信；第三种方式是 - 预定点 - 方式，通信的Agent将信息放在一个约定好的位置，实现间接通信；第四种方式介于二和三之间，Agent进行分组，每个组都有相关的黑板。在 MA&C系统中，Agent之间的通信方式有多种：个别辅导时采用 - 私线 - 方式，而群体指导以及自由讨论时采用 - 黑板 - 方式。考虑到KQML(Knowledge Query and Manipulate Language) 现已成为定义Agent之间通信语法和语义规范的主体通信语言的事实标准，设计了与 KQML 语言兼容，并且适合C++ Builder 编程环境下使用的特定Agent通信语言，该语言可形式化地表示成为一个四元组：{动作，源Agent，目标Agent，内容}。
　　此外，系统采用TCP/IP协议的Client/Server模式。通常TCP/IP协议只提供点到点的服务，这是一种面向服务的协议，系统大量需要教师Agent和学生Agent之间一对多的交互。为了通过网络编程套接字Socket来实现多点传输，系统采用主从方式，通过教师Agent软件模拟多点传输方式，每个参与多点传输的学生Agent以及教师Agent都有一个成员状态栏，且学生Agent只需与教师 Agent进行连接，教师Agent启动监控功能模块检测成员的状态，并动态维护成员状态栏，以此为教师Agent的广播功能提供支持，各学生Agent进行操作时，只需向教师Agent发送数据，教师Agent根据成员状态栏中的信息转发信息包。
2.3 　MA&C系统Agent工作区
　　由于学生和教师这两种角色权利不同，其工作区的人机界面尽管形式上统一，但其操作不尽相同。学生Agent和教师Agent都有以下4个部分工作空间：个人工作区、布告栏、自由讨论区和成员状态栏。显而易见个人工作区只供Agent本身使用，是每个Agent私有的。而布告栏则是用于教师进行群体指导或发布重要通知。因此，教师Agent对布告栏拥有读、写权，而学生Agent就只有浏览权。自由讨论区用于自由讨论，这部分界面需要实现CSCW对界面环境的一个基本要求是：- 你见即我见 -(WYSIWIS：What You See Is What I See) 。所有加入自由讨论区的 Agent 都有使用和浏览的权利，所以这里有一个保证自由讨论区窗口内容一致性的问题。采用发言权控制来解决这一问题，即在任一时刻，至多只有一个Agent拥有发言权，即对自由讨论区拥有使用权。发言权调度采用教师控制加排队机制，排队机制按照先进先出加优先权调度的方式进行，一般先请求发言的Agent拥有高优先权，但教师可以动态地改变每个学生的优先权，而且教师Agent的优先权任何时候都是最高的，且该调度是抢占式的，即一旦出现高优先权请求发言，立即抢占正在发言的 Agent的发言权，发言权的切换由教师Agent启动协同功能模块来调度。而成员状态栏的使用者是教师Agent，学生Agent都只有浏览权，除了权利不同之外，学生Agent只有加入自由讨论区后，才启动其成员状态栏，显示内容为当前发言权拥有者以及参加自由讨论各成员的当前状态，而教师 Agent 一旦启动，其成员状态区随即启动，显示内容为当前登录的所有学生的当前状态、学习进度等信息。
2.4　其它
　　利用Winsock编程，MA&C系统还提供了e-mail等工具以方便师生之间进行交流。Winsock是基于Socket模型和Windows消息驱动机制的Windows扩展函数。Winsock支持两种套接字：流式套接字和数据包式套接字。本模型对通信服务的可靠性要求较高，因而采用流式套接字。 
　　协同教学中的课件库必须具有功能强大、结构合理的信息模型。由于超媒体容纳了多种成份 (节点、链)，因此系统的课件库等采用基于超媒体文档的结构，以满足协同访问、表达出教学知识的内在联系的要求。
3　结束语
　　基于MutiAgent和CSCW的多媒体教学系统支持教师和学生之间以及学生之间的协同工作和信息交流过程，不但为学生提供了一个生动活泼、社会化和个人化并存的学习环境，而且大大地提高了学生和教师在完成教学工作任务过程中相互合作和信息交换的质量，适应了信息化社会对教育的需要。今后，还需要在超媒体文档的导航策略、多媒体的实时同步通信(包括反馈和馈通的快速响应、媒体间的连续同步以及媒体信息到达各Agent的同步) 以及Agent智能性的提高等方
面加以改进。
*基金项目：国家自然科学基金、浙江大学曹光彪高科技基金
作者简介：余春艳(1976～)，女，研究生，主要研究方向为CSCW、MultiAgent、智能CAI
作者单位：浙江大学人工智能研究所，杭州　310027
参考文献
1Koch M.The Collaborative Multi-user Editor Project　　Iris.TUM Info XI,1995-08 
2林守勋,林宗楷,郭玉钗等.多Agent协同工作环境MACE.计算机学报,1998,21(2)：188-192
3齐英剑,赵志勇,齐英辉.计算机支持的协同工作及系统模型研究.第一次全国 CSCW 学术会议论文集,北京:电子工业出版社,15-19 
收稿日期：1998-12-24
