版权归原作者所有,如有侵权,请联系我们

[科普中国]-嵌入式智能代理

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏
简介

智能代理和嵌入式系统是当前计算机研究的热点,它们各有优点和适用范围。本文所描述的嵌入式智能代理技术力图将二者融合在一起,兼具二者的优点。在文章的第一节,简要说明智能代理的概念及其特点(智能性、自治性、机动性)。第二节主要介绍了嵌入式软件及特点。第三节介绍嵌入式智能代理技术,描述了一个嵌入式智能代理技术在智能建筑中的应用模型。在文章最后部分简要说明了嵌入式智能代理技术的应用前景1。

智能代理智能代理

著名Agent理论研究者Wooldridge博士认为:智能代理(Intelligent Agent)是一个能在特定环境中采取复杂自治行为的计算机系统。从应用的角度看。智能代理就是能自动执行用户委托任务的计算实体。换句话说.智能Agent是代替人去完成某种特定任务,是作为人的代理身份出现的。代理通常由软件构成。它与过去等待人的命令而动作的软件不同,它可以自己决定实施何种行为,自发地行动。

智能代理的特点

智能代理具有智能性、自治性、机动性的特点。

智能性(Intelligent):智能性是指代理具有推理和学习的能力。它描述了代理接受用户目标指令并代表用户完成任务的能力。用户可以把代理的目标和行为写成一个简单的脚本。然后设定某一事件触发脚本代码执行。或者,用一组规则组成代理的推理行为,这组规则描述了决策和目标信息。复杂的代理能够根据用户的目标和其工作的环境资源等条件进行学习。并逐渐适应它们的环境。

自治性(Autonomy):自治性是指代理的自主与协同工作能力。智能代理应该是一个独立自主的计算实体。它应该能在无法事先建模的、动态变化的信息环境中,独立规划复杂的操作步骤,解决实际问题,并在用户不参与的情况下。独立发现和获取符合用户需求的资源与服务。同时,代理在工作过程中,应该能够与其它各类应用程序、数据库、资源管理器交互协同工作。更高级的代理能够与其它代理协商合作完成~些复杂的工作,如制订会议时间表、举办电子拍卖会等。

机动性(Mobility):机动性是指代理在网络之间迁移的能力。机动性最低的代理称作静态代理,它是不能迁移的。(静态代理也可以被分布使用)。机动性高一些的代理,具有一定的迁移能力,在一台机器上写的脚本可以转移到另一台机器上执行。因为脚本在执行前迁移。所以不需要伴随状态信息。机动性最高的代理可以在执行过程中挂起,并迁移到另一台机器重新恢复执行,这种代理在迁移时必须伴有状态信息。

嵌入式系统嵌入式系统

根据IEEE(国际电气和电子工程师协会)的定义。嵌入式系统(Embedded System)就是“控制、监视或辅助设备、机器和车间运行的装置”(Devices used to control,monitor,or assist the operationo frequipment,machine or plants)。嵌入式系统是以应用为中心、以计算机技术为基础.软硬件可缩扩的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。它主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,是可独立工作的“器件”。其主要作用是实时控制、监视、管理移动计算机、数据处理等。或辅助其它设备运转.完成各种自动化处理的任务。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。而嵌入式软件技术是后PC时代的各种信息技术中关键的核心技术之一1。

嵌入式软件

嵌入式软件主要由上述嵌入式系统所包括的软件部分.及以硬件形式存在的软件(如软件的固化形态)部分。与通用型计算机软件相比,嵌入式软件具有以下主要特点:

高实时性、高可靠性嵌入式系统都是面向工业控制领域.对系统的实时性和可靠性要求非常高,即要在允许的时间范围内做出可靠的决策和控制。如果达不到要求.对整个生产系统和人的生命财产安全都将造成灾难性的后果。

占用空间小、效率高嵌入式系统是嵌入在别的硬件里,可使用的内存空间相当小。因此嵌入式软件必须进行代码优化,使用最小的空间达到系统需要的功能。但随着半导体集成度的提高,空间狭小得到一定程度的缓解,为了实现更为复杂的控制,一些嵌入式软件中包含了嵌入式操作系统.在操作系统的基础上,开发面向应用的嵌入式软件。

面向特定应用、可根据需要灵活裁减嵌入式软件一般都是面向特定应用,这是因为只有为具体问题设计所需的功能控制,才能近可能的精简代码从而达到最优。如果应用了嵌入式操作系统,该操作系统必须是可根据需要灵活裁减以使操作系统本身也达到最优。

嵌入式智能代理

智能代理与嵌入式软件均属于软件,它们都有十分鲜明的特点。它们的区别也是十分明显和突出的:

嵌入式软件强调实时性和可靠性,而智能代理强调智能性。·在嵌入式系统中,空间是有限的,所以嵌入式软件非常注意代码优化,占用空间要小。而智能代理一般不存在这样的问题。

嵌入式软件一般都是专用于某个控制,可移植性较差;智能代理机动性要好,具有较强的可移植性。

嵌入式软件要求按照某种控制策略进行控制。智能代理要求具有自主和协调能力。

只要是智能性、自治性和机动性达到较高的程度的软件或软件系统都可称为智能代理:而嵌入式软件则专指嵌入式系统所包括的软件部分及以硬件形式存在的软件(如软件的固化形态)部分。

嵌入式智能代理

嵌入式智能代理技术是把智能代理和嵌入式软件融合在一起,充分发挥二者的优势,从而提升整个系统的性能的一种技术。智能代理与嵌入式软件均属于软件,二者融合应该不是很难的事情。融合的方法有两种:

把智能代理融入嵌入式软件中:使嵌入式软件在保持原有的高实时性、高可靠性、占用空间小、效率高、面向特定应用、可根据需要灵活裁减等特点的基础上,达到智能代理的智能性、自治性和机动性。

把嵌入式软件融入智能代理中:使智能代理在保持原有的智能性、自治性和机动性的基础上,达到高实时性、高可靠性、占用空间小、效率高、面向特定应用、可根据需要灵活裁减。

可以看出第二种方法并不是我们所期待的,我们期待的是第一种方法所要达到的。

在现代建筑设计和使用过程中,节省能源是一个非常重要突出的问题。为了达到建筑节能,必须把室内照明和温度调节到适当的值,既满足人们工作和生活的需要,又达到节省能源。传统的嵌入式系统或者自动控制系统,只能根据预先设定好的光线强度和室内温度进行调节,不能以人为中心,根据不同的人、人的多少、房间的类型(办公、会议、休闲等)来调节,智能化程度不高,自治性不够。应用了嵌入式智能代理的建筑的处理过程则与上述过程完全不一样,其结构示意图如图所示。

在一个楼层中有若干房间,每个房间都布置有传感器、执行器,与别的系统不同的是,在每个房间还布置有一个智能代理,此智能代理可以是嵌入在执行器中。也可以作为一个独立部件存在。智能代理把传感器与执行器连接在一起,传感器把获得的环境变化信息传到智能代理。
  智能代理在允许的时间范围内做出智能的决策,并把决策信息送到执行器,由执行器完成适当的控制操作,来达到我们所希望的环境变量值。房间的智能代理之间通过楼层网络联系在一起,代理之间相互独立,又相互协调工作。如当一个人进入一间房屋时,智能代理首先要能感知到是进入房间的是谁,并能迅速根据此人的个人兴趣爱好(事先存放在代理中,可以修改),选择他最喜欢的光线强度和室内温度,并把这些信号传到适当的执行器.进行光线和温度的调节。当此人离开房间A而进入另一问房间B的时候,房间A的代理要把此人的个人兴趣爱好信息传递给房间B的代理,房间B的代理根据此信息进行光线和温度的调节,同时房间A的代理把光线和温度调节到默认值。每一个房间的代理都有非常高的智能性,而不同房间的代理之间又协同工作。把智能代理应用于原有的嵌入式系统或自动控制中。既保持原有系统的高实时性、高可靠性等特点.又提升原有系统的智能性、自治性和机动性。

基本功能

在基于MAS的分布式网络化制造系统中,底层设备本身要求具有与制造单元内的其他设备进行交互的能力,以达到获取任务,资源共享,相互协调和合作的目的。采用嵌入式智能代理后,可以将设备有关处理外部事宜的智能和能力移植给它的代理,从而使得设备无须花费额外的时间处理涉外事宜,保证了设备加工的实时性。嵌入式智能代理应具有如下功能2:

从网络上获得加工信息,并根据接受到的信息和自身的能力决定是否接受该任务;

当接受到的任务超出自身的能力时,能够根据相关信息,寻求可能合作的设备,并向这些设备发送消息进行合作。

从制造单元Agent接受完成相应任务所需要的数据和信息,并将其传送给加工设备。

接受加工设备返回的状态信息和加工任务完成情况,以对设备进行监控,并能向制造单元Agent反馈这些信息。

硬件平台

嵌入式智能代理是加工设备对外交互的代表,通过设备接口与设备进行通信。本系统中的设备是具有网络接入能力的加工设备,嵌入式智能代理负责其对外事务的完成。在当前的研究工作中,为便于本模块的实现,首先将嵌入式智能代理作为设备的外置模块,二者间通过局域网实现相互间的通信和信息交互。设备只与其智能代理进行通信而不与其他设备的代理进行通信,各个设备间通过其智能代理实现信息的交互。采用以太网作为通信网络,实现嵌入式智能代理与设备间以及制造单元代理与上层网络间进行信息交互的系统框架结构如图所示。根据嵌入式智能代理的功能需求,本系统选用广州致远公司的Easy ARM2200开发套件,其微处理器是Philips公司的LPC2210,该开发套件的基本结构如图所示。

软件设计

在本系统中采用嵌入式操作系统以满足多任务间协调的需要和方便系统软件的设计,考虑相关因素和参考现有的应用状况,本系统选择源代码公开的μC/OS操作系统,其具有可移植性好,占先式抢占内核,任务的执行时间确定等特点。在对操作系统进行了相应的扩展,包括网络协议栈和底层驱动的编写和加入后,本系统的应用层软件将在此基础上进行编写。

应用层通信协议的设计

在本系统中嵌入式智能代理所要做的是与制造单元代理,设备,以及单元中其他设备代理间的信息交互。为正确的接收消息和进行消息的处理,需要制定相应的通信协议。

与制造单元代理间的通信协议:嵌入式智能代理与制造单元间的信息交互主要包括接收制造单元代理发出加工任务信息和设备信息查询指令。该协议以字符S开头,后面两位表示命令类型,20表示后面的数据内容是加工任务信息,要求嵌入式智能代理做出相应的处理并回送处理结果。30表示制造单元代理要求嵌入式智能代理回送设备的当前状态,这时协议中的数据内容为空,如图中虚线框所示。具体格式如图所示。

与设备间的通信协议:嵌入式智能代理与设备间的通信协议主要也包括两部分:设备向嵌入式智能代理发出请求任务信息,设备向嵌入式智能报告自身状态信息。该部分协议以字符C开头,后面两位表示命令类型。20表示设备请求任务信息,主要是数控代码,此时数据内容为空。30表示后面的1位是设备的状态信息。0表示设备加工过程中出现问题或故障,此为紧急事件,一旦发生将立即上报。1表示加工任务完成。2表示设备状态回复正常。具体格式如图所示。

与同级设备代理间的通信协议:同级设备间的通信协议主要用于当本设备寻求合作伙伴和进行任务迁移时的信息交互。此时嵌入式智能代理将找出可能合作的设备信息并转发任务信息,收到任务信息的同级结点将回送其状态信息。在该协议中,以字符F开头,此时后面接的命令类型为20。通过状态信息,本地智能代理判定将要完成该任务的设备,并将发送加工信息给该设备。具体格式如图所示。

任务的设计

在本系统中,嵌入式智能代理将根据具体的情况在网络传输中扮演不同的角色。

与制造资源代理通信,接收任务时作为服务器被动的等待制造单元代理的信息请求,请求信息时又作为客户端主动的向制造资源代理发出请求;

任务合作时,作为客户端主动的连接同级结点获取信息;

与设备通信时,作为服务器响应设备的请求并发送相关信息。这样各个设备代理就需要在服务器与客户端两个角色间不断的转换,同时在需要的时候也要进行信息的转发。如果采用TCP协议,每转换一次需要建立一次3次握手的TCP连接,同时需要维护每条连接的状态,这在数据传输时将耗费大量的系统资源和时间,引入较大的网络延迟。UDP由于是无连接的协议,在由应用层保证数据正确传输的情况下,将更适合这样的场合,因此在本系统中选用UDP协议作为网络传输协议

嵌入式智能代理的程序由一组任务所组成,其中最重要的是网络信息处理任务。它将完成以下任务:

等待上位机的任务信息,并根据信息内容做出判断是否接收该任务,并回送相应信息。此处将调用任务评价函数taskevaluate()。如果接收则改变本地设备的相关信息,如果无法完成该任务将调用任务合作函数findcooperation()找出可能合作的结点;

主动请求可能合作站点的状态信息,向findco-operation()函数返回的可能合作的站点(可能多个)转发任务信息,并接收这些站点回送的当前状态信息。调用equipmentevaluate()函数,根据这些设备的状态信息判定接收该任务的站点,向其转发加工信息。

接收设备的状态信息:如果设备完成加工任务,更新设备的状态信息;如果设备故障,将锁定设备不再接收加工任务;设备恢复正常将解除设备的锁定。各个任务的简要说明和优先级设定如表所示。前面描述了系统的任务划分和几个基本的任务,整个系统的软件工作流程图如图所示。

应用范围和前景

嵌入式智能代理技术是在嵌入式软件基础上融入智能代理技术.因此它可以应用在任何一个嵌入式系统当中,应用范围是相当广的。嵌入式智能代理的应用前景跟人们生活息息相关。随着人们生活水平和质量的提高,面向生产的控制要求达到人性化和智能化,生产安全性得到越来越高的重视。同时人们对周围建筑和家居环境要求与越来越高,不仅要求建筑是智能化的建筑,更要求家用设备(家用电器)智能化和人性化的设备。这些都保证了嵌入式智能代理技术会随着人们生活的提高而不断应用的。