新闻中心

EEPW首页>嵌入式系统>设计应用> 嵌入式轻量Agent平台的构建研究

嵌入式轻量Agent平台的构建研究

作者: 时间:2010-01-29 来源:网络 收藏

图1 混合模式

4环境下部署

4.1 KVM移植

为测试,我们将Agent移植到基于ARM的系统。这种系统以三星公司的 S3C2410 芯片(ARM9内核)作为应用处理器,实时操作系统采用 Linux 操作系统。针对嵌入式设备硬件资源有限的事实,CLDC规范定义一个简化版本的JAVA虚拟机,这个虚拟机通常被称为KVM(Kilo-bytes Virtual Machine)[5]

图2 轻量化的系统结构

图3 编译后的KVM

建立轻量Agent运行的环境,需要在基于ARM与嵌入式操作系统的平台上移植KVM,使JAVA语言能够运行,如图2。而KVM的目的是创造一个尽可能小的且尽可能完整的JAVA虚拟机,使开发者不用像开发C语言一样关心硬件,而通过JAVA语言来进行开发,达到一次编译,各种平台使用的目的。图3表示编译好的KVM可以在ARM上运行。将KVM烧到目标平台上,便可以执行JAVA程序。

4.2 轻量Agent部署

根据改进的轻量Agent框架部署Agent平台,图4所示的JADE安装在运行J2SE的PC机上,Container-1和Container-2对应着轻量Agent运行的不同环境。

图1中的PDA处于无线通信方式,它的Agent平台一旦启动,便会自动创建AMS和DF。同时,PDA上Container-1立即到位于PC机上的JADE平台上注册。图1中的嵌入式设备是基于s3c2410的网络设备,通过网线与邻近的PC机通信。这里的嵌入式设备上软件Agent平台启动后不会创建AMS和DF,为获得相应的服务,嵌入式设备只需创建一个Client Agent,利用这个智能体随时通过网线访问后台即可。图4中Container-1和Container-2里面的所有Agent会注册到Main-Container所在的Agent平台。

完成注册后,各远端Agent与Main-Container所在的Agent平台通信,提供各自的信息,供其它平台上的Agent利用。异构网络环境下,各嵌入式实时设备协同工作就基于这些信息。Container-1中的Agent若要同Container-2中的Agent交互,需要找到临近的主机注册。注册到Main-Container所在的主机上之后,在主平台下与已经注册了的Container-2中的Agent 交互信息。


并不是所有的Container都能够提供注册服务,Container-2就是如此。提供注册与注销服务的平台,一般运行在资源丰富的PC机上,这样为嵌入式设备上运行的软件Agent减少了相应的服务,也减少了代码。

图 4 Agent的注册与部署结果

5 结论

JADE-LEAP框架下,位于资源有限设备上的Agent不具有AMS与DF创建的功能,为实现这一功能只有通过网络远程访问。在有线的网络环境下,实现这些功能并不难,可是一旦处于无线环境这种平台就不稳定了。KDDIAP作为对LEAP这种原有的轻量化平台的改进,解决了无线环境下实时获得Agent服务的问题,这是以增加代码量和平台启动时间为代价的。混合模式的轻量Agent平台结合了两种轻量平台的优点,保证了Agent平台轻量化、灵活性。

本文创新点:目前国内外使用的多代理系统开发平台很多,但是适合于嵌入式系统平台却不多。主要原因在于嵌入式系统资源受限、工作环境多变、原有代理开发平台代码量大。本文对原有的开发平台进行轻量化改进,使其适合嵌入式系统,并以S3C2410为例,了系统的方法。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭