第7卷第8期2007年4月 1671—1819(2007)08—1806-04 科学技术与工程 @Vo1.7 No.8 Apr.2007 Science Technology and Engineering 2007 Sci.Tech.Engng. 基于Agent的智能监控系统开发 黄金莲 (天津大学计算机科学与技术学院,天津300072;徐州机电工程学校,徐州221131) 摘要通过对Agent技术的研究,设计了一个基于Agent的计算机串口与感应器的监控系统模型;又设计了利用COMM控 件实现数据的传输与读取,以及实现感应器的控制。结合面向对象的方法和多线程技术,设计出自适应性力强的执行模块 Agent,以及数据实时通信速度快的可扩展通信Agent,提高了系统的自主行为和对环境的自适应性,为系统的实际运行解决了 技术障碍。 关键词Agent 体系结构 串口通信 适应性 中图法分类号33r393.02; 文献标识码B Agent技术在基于网络的分布计算这一领域中, 和内部状态,以及如何将这些模块用软件和硬件组 正发挥着越来越重要的作用。一方面,Agent技术为 合起来形成一个有机的整体,真正实现主体。 解决新的分布式应用问题提供了有效途径;另一方 在分布计算领域,人们通常把在分布式系统中 面,Agent技术为全面准确地研究分布计算系统的特 持续自主发挥作用的、具有以下特征的、活着的计算 点提供了合理的概念模型。Agent是实际系统的某种 实体称为Agent。 抽象,它能够在一定的环境中为满足其设计目标,而 (1)自主性:Agent具有属于其自身的计算资 采取一定的自主行为。Agent的行为总是为了实现它 源和局限于自身的行为控制机制,能够在没有外界 的目标,且尽可能地完成其他Agent的请求。 直接操纵的情况下,根据其内部状态和感知到的环 作为一个新的方,Agent技术已经广泛应用 境信息,决定和控制自身的行为。 于计算机科学、模糊控制、生产分散化控制等领域,目 (2)交互性:Agent能够与其他Agent通过 前通过Agent技术已经可以处理非常复杂的问题。 Agent通信语言实施灵活多样的交互,能够有效地 本文将Agent技术应用于智能监控领域,以设计与开 与其他Agent协同工作。 发智能化监控的分布式Agent系统为主要研究目标。 (3)反应性:Agent能够感知所处的环境,并对 重点研究了基于Agent理论的监控系统模型、组织活 相关事件做出适时反应。 动,以及监控系统中数据的实时传输技术。为实际应 (4)主动性:Agent能够遵循承诺采取主动行 用系统的研制开发提供了理论指导和方法依据。 动,表现出面向目标的行为。 具有上述特性的计算实体可以是类Unix进程 1 Agent技术 (或线程)、计算机系统、仿真器、机器人。 目前Agent的结构主要有:慎思型Agent、反应 Agent系统作为—个高度开放的智能系统,其结构 型Agent和混合型Agent。其中混合型Agent又可 的设计将直接影响到系统的智能与性能。Agent结构 以分为:基于经典逻辑的混合型Agent和基于决策 需要解决的主要问题是Agent由哪些模块组成,它们之 理论的混合型Agent。 间如何交互信息,Agent感知到的信息如何影响它行为 2系统体系结构设计 2006年11月24日收到 作者简介:黄金莲(1968一),女,安徽太湖人,天津大学硕士生,高 级讲师,研究方向:嵌入式系统。 由于Agent的远程分布数据处理能力,采用基 维普资讯 http://www.cqvip.com
8期 黄金莲:基于Agent的智能监控系统开发 1807 于Agent的远程数据采集与传输方式,不仅避免了 监控系统数据流量较大时,远程监控主机负荷较重 在每个智能监控点安放了多种智能感应器,通 过各感应器来实时获取监控点的数据,并通过RTS 信号数据线传输给计算机。由于RS-485接口可以 在路传输中实现多个发送器和多个接收器公用一条 线路,而且它的抗干扰能力强,数据传送速度快,因 而各个数据采集点与计算机间用总线式网络结构, 采用RS一485接口,以问答方式进行数据通信。在 进行通信时,用来控制平台的计算机向各数据采集 的问题,提高了系统的实时性和可靠性;更关键的是 减少了远程监控主机与各监控点间频繁的数据交 换,避免了网络延时带来的监控延时,降低了应用对 网络连接的带宽及可靠性和稳定性的要求,提高了 系统的远程时实交互性及运行的稳定性。 整个智能监控系统由管理Agent模块进行协 调,系统中的各个Agent模块根据实际情况,采用不 同的结构模型,如通信Agent负责从各监控点的传 感器采集监控过程的各种实时信息,并转化成统一 的数据格式存人实时数据文件,当系统需要使用和 分析这些数据时,通信Agent从实时数据文件中取 出数据,因此,该模块在实际开发采用了基于经典逻 辑的混合型Agent表示。决策推理Agent则比较复 杂,本身应有感知机和与其他Agent的通信机制,还 应该有信息处理器、推理机、规则集和知识库,当交 互Agent从用户取得指令并向管理Agent发出信息 后,决策推理Agent根据自身的知识库和规则集,判 断出调用哪种或多种功能服务和需要哪些数据,并从 实时数据文件中取得所需数据,传送给执行模块,最 后还要把功能执行的结果返回给交互Agent。因此, 这部分的开发可以采用基于决策理论的Agent表示; 事件监视Agent感知系统环境,接受管理Agent发出 的信息,然后查找自己的知识库和规则集,对该信息 做出正确的决策,采取相应的行动,因此该模块采用 基于决策理论的Agent表示。系统架构如图1所示。 监控系统平台 } 管理Agent l决策推理Agent iII" ̄Agent I { 事件监视Agent 执行模块Agent f I {t ● ● l l … l l 图1监控系统架构 点发送数据采集命令,然后各监控点的感应器将采 集的数据传输给数据采集卡,再由数据采集卡将接 的数据传输给计算机。 系统向感应器发送的命令有两种:第一种是周 期性的数据采集命令,它由管理Agent中的定时器 来完成,通过定时器来完成各点的数据实时采集。 第二种是非周期性的,它是由操作员人为干预的。 如操作员想了解某一特定监控点内的情况时,就可 以进行此种操作。 3系统设计思路与核心模块设计 面向对象方法(O0方法)是目前软件设计的一 种。作为一种认识事物的新方法,面向对象是将问 题空间解的概念模拟人类的自然思维,直接映射到 软件的解空间,从而使人们分析问题、求解问题过程 与软件开发过程保持一致。O0把系统看作一个通 过对象相互影响的集合体,它的每个对象都有行为, 通过这些行为(方法)实现类对象之间的交互。O0 方法包括封装性、继承陛、多态性等特点,这些特点使 面向对象方法具有良好的应用前景。由于面向对象 思想的诸多优势,使面向对象的技术在软件领域得到 迅速的发展,目前面向对象思想贯穿软件的分析、设 计、测试等各个环节。在监控系统领域,很多监控对 象同样具有面向对象技术中的“对象”属性。因此,本 系统的设计思想采用了面向对象的软件开发方法。 系统核心模块的设计是整个系统成功的关键,而 接口界面的设计是系统与用户之间交流的窗口,它提 供直观的图形化的功能实现。通过该系统向系统管 理人员展示各个数据采集及控制自动化系统实时的、 全面的、历史的工作过程,方便系统管理人员的监控 任务完成。系统中的各核心模块设计采用了基 维普资讯 http://www.cqvip.com
1808 科学技术与工程 7卷 于构件的开发思想,有效地提高了系统的扩展性与健 壮性,并且提高了整个系统的实用性与可靠性。 系统核心模块设计如下: (1)日常操作模块:通过该模块实现数据采集及 监控参数的设置;完成数据采集及监控系统的组态; 4.1通信Agent的设计 为了使得系统在监控过程中能根据需要来配置 串口,需要设计一个方法InitPort允许用户自主设置 串口参数。通信过程中的主要环节是端口的读写, 所以在通信Agent中定义了专门用来读写端口的函 数ReadData和WriteData,在系统主动通信的情况 下,系统通过通信Agent发出指令,等待温度感应器 返回数据。因此,还设计了一个方法SenRecData来 显示系统总体框图;绘制重要参数的变化趋势图。 (2)系统监控人员监控、管理模块:该模块是整 个系统的核心,在该模块中集成了:决策推理 Agent、事件监视Agent、通信Agent、环境感知Agent、 执行模块Agent等Agent构件。该模块的开发是整 个系统成功与否的关键。通过该模块管理员可以对 系统中各监控硬件参数初始化,并设置每次要监控 场所的各种参数,对不使用的监控场所可以关闭监 控设备。还可以通过该模块对监控设备状况进行管 理,每天下班前将设备的性能状况进行登记。 (3)故障报警模块:对监控参数正常设置,系统 在运行过程如果某项指标超过正常值,系统自动报 警显示,并生成记录文件;生产过程中的自动状态下 的控制设备发出故障信号或失去控制时,系统自动 报警显示;并通过报警打印机打印输出,形成记录文 件;报警数据自动存储以备事后分析。 (4)数据存档和报表生成模块:通过该模块系 统自动生成日报表、月报表和统计报表,通过报表打 印机打印输出,形成监控数据库文件,对系统生成的 各种事件记录人数据库,通过该模块还实现系统与 其他类型的数据进行动态数据交换。 4 Agent模块的设计 系统的扩展性与自适应性能力是系统在整个设 计过程中重点考虑的原则。所谓系统的扩展性,即 系统中串口通信模块与具体的应用无关,这样的模 块才具有很好的扩展性;系统要具有很强的自适应 性,是指监控系统模型要能适用范围于多种场合,而 且当系统在不同场合应用时,无论从软件还是从硬 件的角度来讲,系统的变动范围都要控制在一定的 范围内。因此,在设计时选择面向对象的开发方法, 通过面向对象的技术保证了系统的扩展性。同时, 通过多线程技术保证了系统通信的实时性;且在出 现大量数据时降低了系统数据的拥塞。 实现这一操作,这个方法中还允许用户指定收取数 据的延时。通信Agent核心代码设计如下: Class SendAgent {Pfiva ̄: HANDLE m_hCom;//串El文件的句柄 Pubhc: BOOL openP0n(UNIT Pl0一Jlr=1);//打开串行端口 BOOL InitPo ̄(UNIT baud=9600,char parity=’N’,UNIT databi ̄=8,UNIT sopstbits=1); //初始化串口 BOOL SenRecData(unsigned char senData,int nSendLen, unsigned char ̄cDam,int&nRecdLen,DWORD dw TimeOut); //向配置的串口发送数据,同时读取返回的数据 } 由于该通信Agent模块的设计采用了面向对象 的方法,因此在不同的应用环境下,用户程序只需要 根据实际情况来派生出新的通信类,通过在其中改 写和添加自己的代码就可以满足不同的通信要求。 该模块的设计很好的体现了系统 4.2执行模块Agent设计 由于这个系统要求实时读取监控点的各感应器 上传的数据,并立即做出响应。为了达到这种自适 应性功能,在执行模块Agent中采用了多线程技术。 使用一个监视串口的工作线程实时地监视串口状 态,一旦有数据到达就立即读取,并做相应的处理。 因此,在执行模块Agent加人了串口监视线程函数、 相应的线程控制函数以及线程同步数据。 执行模块ActAgent中新加入的方法如下所示: Class ActAgent 1.….- smile uNI.I’CommThread(LPVOID pParam);//串口监视线 程函数 BOOL StartMoitor(); //启动监视线程 BOOL StopMonitor(); //停止监视线程 维普资讯 http://www.cqvip.com
8期 } 黄金莲:基于Agent的智能监控系统开发 1809 展性和自适应性,以及生产化的分散控制。通过对通 信事务的分离,提供了对串口的实时监视性能。由于 本系统的开发采用VC++语言,因此也可以适用于 基于嵌入式的监控系统环境。 参考文献 有了这个执行模块ActAgent,系统运行时Agent 不需要直接与感应器通信,所有的通信过程通过执 行模块ActAgent来完成。在整个系统运行的过程 中,执行模块ActAgent与通信Agent模块作为主程 序与感应器之间的桥梁,把主线程中的业务处理与 通信过程分离开来,既提高了系统的监控性能,又实 1徐大华.基于Agent的温度控制系统.安徽农业科学,2005,33 现了系统的可扩展性。利用执行模块Agent不仅可 (6):1071—1072 能实现感应器的监控,只要是利用传感器的场合,都 2邓丽军,陈正发,于玉贞,等.电液伺服土工离心机振动台数据采 可以采用这种方式来实现监控。 集系统开发.实验技术与管理,2006;23(8):58—61 由于Agent执行环境与Agent对象是分离的, 3徐大华.基于HIS的临床诊治系统的设计.计算机工程,2006;32 通过Agent技术实现系统各功能模块的离散化,并 (17):28O—282 4徐大华.基于COM+的实验室设备管理系统的设计.实验技术与 封装成具有统一的标准接口形式和功能。在系统运 管理,2006;23(7):7O—72 行时可动态地修改、创建、加载或清除相应代理,重 5徐 明。采振祥.Web程序设计网上实验系统的实现与应用.实 构Agent库,使得系统的监控流程和功能具有灵活 验技术与管理,2006;23(8):69—71 性、可扩充性和适应性。同时,具有Agent的配置、 6董有尔,陈宝明.远程监测控制系统实验装置的设计与实现.实验 控制及运行灵活性好,代码和版本易于控制和维护。 技术与管理,2006;23(7):75—78 7徐大华.基于COM+的临床路径诊治系统的设计.计算机工程与 设计,2006;27(13):2482—2484 5总结 8别丽华。蒋天发.SMS在车辆监控系统中的应用研究.武汉理工大 学学报(交通科学与工程版),2006;30(3):474—476,507 近年来,越来越多的研究者倾向于使用多个传感 9杨鹏,李腊元.EJB组件技术在电子商务系统中的应用研究.武 汉理工大学学报(交通科学与工程版),2005;29(2):223—226 器来做监控与决策。本文提出采用Agent技术来实 1O王勇,陈新,陈新度,等.基于多智能体的个性化信息系统研 现智能监控系统的设计,并设计出基于Agent的系统 究.计算机工程,2005;31(18):31—33 体系结构,对Agent技术在智能控制中的应用做了一 ll胡文斌,盂波,王少梅.电子商务系统中多Agent通信机制研 些探讨。通过在系统各Agent模块的设计中,采用了 究.武汉理工大学学报(交通科学与工程版),2006;30(1): 】62~】65 面向对象的方法和多线程技术,实现了监控系统的扩 Development of the Aptitude-listen System Based on Agent HUANG Jin-lian (CoBege ofComputer Science and Technology,Tina jin University,Tianjin 300072,P.R.China; Xuzhou School of Electromechanic&Engineering,Xuzhou 221131,P.R.China) [Abstract] A kind of inteUigent monitor system module between port and temperature sensor based on Agent was designed,by research on the technology of Agent.Then how to use the control COMM to implementing transmission data and reading data,and how to control sensors effectively are desinged.With the object oriented method and the multi-thread technology,a execute module of Agent wiht well adaptability and a communication module of agent were developed which could trnasmit real time data quickly.The self—behavior and the self-adaptbaility were increased to the surroundings of the intelligent monitor system.At last,the technology obsatcle of hte monitor system running Was stbaly solved. [Key Words] Agent rachitecture serila port communication adaptbaility
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务