0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用移动agent技术实现虚拟仪器系统体系的构建

电子设计 来源:郭婷 作者:电子设计 2019-02-06 06:21 次阅读

1 引言

随着计算机技术和现代测试技术的快速发展,利用传统的集成测试方法已经难以满足复杂测试任务的需求。虚拟仪器以开放性好、智能化程度高、界面友好等优势显示了其强大的生命力,研究内容已经涉及到工程的诸多领域。

现有的虚拟仪器技术在研究和实现上已取得了一定成就,但随着测量内容的日益复杂、测量数据和指标的不断增加,对虚拟仪器的应用也提出了越来越高的要求,一些问题逐渐显现出来。比如现有仪器系统的开发依赖于经验的积累,一般由用户根据自身需求开发小功能集的虚拟仪器系统;仪器的平***立性和扩展性差,仪器系统的设计和执行效率低下,适应性不够强[2]。因此,如何提高虚拟仪器系统的执行效率,降低设计难度,是虚拟仪器系统研究中一个需要解决的重要问题。

移动agent是一种独立的可确认的计算机程序,它可以自主地在异构网络上按照一定规程移动,寻找和利用适合的计算资源、信息资源和软件资源,代表用户完成特定任务[3]。它具有主机间动态迁移性、智能性、平台无关性、分布灵活性、多agent合作性等六方面的特点。

因此,在本文中考虑将移动agent技术运用到虚拟仪器系统体系结构的构建中,用以改善现有虚拟仪器系统中出现的一些问题。

2 基于移动agent的虚拟仪器体系结构设计

根据虚拟仪器系统的设计和移动agent系统的特点,在体系结构设计中选用了综合分层和网状体系结构最佳特征的混合模型,如图1所示。

采用移动agent技术实现虚拟仪器系统体系的构建

图1 MAVIS的系统体系结构

图1中的双箭头——上层到下层表示控制流方向,下层到上层表示数据流方向。由于采用了网状体系结构,整体上又保留了分层结构的特点,因此组件间可以不按照严格的分层结构进行通信。这样在对虚拟仪器系统中的agent进行管理时,只需更改该agent的信息,不会影响其他agent的工作。例如当需要执行一个新的数据采集或处理分析任务时,只需派遣一个新的agent去执行任务即可,不需停止或重启已执行处理分析任务的agent。

在该体系结构中,最下层的数据采集叶节点负责测试数据的采集,包括采样位置、信号类型等信息,并在将其传递到上层处理分析节点前进行数据过滤,以减轻上层节点的工作压力,有利于处理分析节点专注于虚拟仪器系统的功能实现。

上层的处理分析节点主要负责处理数据,如对其进行时频域分析,统计分析等,提取影响测量结果的参数指标并最终在本地机上形成测试结论显示出来。处理分析agent的生成可以通过顶层的控制管理节点动态控制。为了保证处理分析agent能够高效地运行相关测试,在系统运行开始就根据所需测试的基本类型构造处理分析agent集合。在运行过程中,当添加的处理分析agent和其他agent互相协作成功完成一次任务时,系统就生成新的agent并添加到该虚拟仪器系统的处理分析agent集合中。一旦需要删除处理分析agent时,就必须从虚拟仪器系统的处理分析agent集合中删除与该处理分析agent相关的所有agent。顶层的控制管理节点主要负责节点的分派和召回。

该体系结构由分布在各受控主机上的移动agent组成,各相邻agent的关系平等,连结松散,可彼此独立进行操作,这样设计的虚拟仪器系统更具容错性和重构性。移动agent的引入使数据采集节点、处理分析节点和控制管理节点并不总驻留在一台物理主机上,即移动agent可以作为处理分析节点移动到最合适的物理位置。

3 基于移动agent的虚拟仪器系统的实现

通过比较,由IBM东京Waston研究中心开发的Aglets以其自身包容易安装、稳定性好、安全性高、跨平台、直接提供适合Java的移动agent技术、示例简单等优势,成为MAIVS系统研究设计的平台。Aglets用纯Java语言编写,具有较好的健壮性和移动性。作为最早基于Java的商业化系统,它提供了一套简单而全面的移动agent编程模型和详细且易用的安全机制,并为agent间提供了动态、有效的通信机制。在实现过程中,设计关注具有检测功能的处理分析agent的实现,而不需考虑整个系统的通信机制和行为协调模式。

对于向用户提供可执行程序这一问题,当前的应用程序虽然可以访问资源,但是它不具有普适性,也不能进行实用的计算。事实上,一旦用户想要执行一个应用程序,他不得不:(1)请求环境资源;(2)分配任务;(3)触发和控制执行;(4)得到结果;(5)释放资源[4]。

在MAIVS的体系结构设计过程中,需要解决以下三个问题:系统的总体框架、使用的仪器数量及类型以及软件实现[5]。软件系统是虚拟仪器系统的核心部分。在虚拟仪器系统中软件主要由功能软件和虚拟面板控件两部分构成。前者主要包括硬件控制、采集卡控制、数据处理分析及显示;后者包括虚拟显示器、旋钮、按钮等。本文主要关注前者可按照功能封装成独立的agent的软件模块设计与实现,通过Aglets提供的通信机制在虚拟仪器系统中协调一致的工作。

采用移动agent技术实现虚拟仪器系统体系的构建

图2 MAIVS任务求解流程图

图2中的移动agent环境,即agent的运行环境是Aglets系统。移动agent有两种环境分配策略:一种是为每个移动agent分配单独的服务环境;另一种是为所有的移动agent分配同一个服务环境。前一种分配策略具有更强的安全性,但会占用更多的资源[6]。agent分派管理器是移动agent服务环境的中心部件。它将移动agent正常运行所需的各项服务正确分配给相应的子模块,包括建立移动agent的执行环境、启动服务等。此外,它还负责协调各子模块间的相互工作,保证它们的正常运行。静态agent(Static agent,SA)主要完成agent分派管理器与用户接口agent的交互。

移动agent的任务求解过程如下:

① 源主机(主机A)根据用户需要完成的检测任务,通过用户接口agent初始化欲创建的移动agent的内部状态集、知识库、约束条件等。

② 将代表用户需求的特征表示写入移动agent的知识库,设置最长运行时间、每个站点停留时间、任务完成度、经由节点的最大数目等约束条件。

③ ATP定义了移动agent在各受控主机间迁移的语法和语义,具体实现了agent在服务环境间的迁移,包括移入和移出。移动agent利用ATP完成与本地移动agent服务环境的通信,并在该服务环境中利用ATP协议完成移动agent在网络环境中从目标主机和agent分派管理器间的迁移。

④ 问题求解完成后,移动agent在返回结果前先判断网络的连通性。如果连通并且用户端(主机A)的Aglets平台已经启动,那么移动agent就可以直接返回;反之,则需要等待直到具备传送条件才激活移动agent,并将其传回到源主机(主机A),将任务的求解结果提交给用户。

⑤ 完成自身卸载进入终止状态,结束任务。

借助移动agent技术,在不同的硬件平台下,可以完全由用户自定义虚拟仪器系统的功能模块,通过选取基本的测试硬件模块,利用不同的软件构造出针对具体测试任务的测试仪器,即功能不同的处理分析agent。从而完成具有不同检测功能的处理分析agent的“信号的调理与采集—数据的分析与处理—结果的输出与显示”。

4 实验仿真

将基于移动agent的虚拟仪器系统体系结构模型应用到远程电子测量实验教学平台的构建。实验仿真内容包括:在Aglets平台上,发送一个波形检测器agent和一个随机波形发生器agent到其中一台主机,用以检测发生波形和数据采集的结果;通过Aglets提供的Dispatch功能远程召回对PCI-6220 NI数据采集卡采集的数据进行处理分析的agent。

实验结果表明,基于移动agent的虚拟仪器系统体系结构模型可以提高现有虚拟仪器系统的执行效率,增强其扩展性。这是因为移动agent技术迁移的是逻辑而非数据。虽然移动agent的代码和参数都需要在网络环境中传输,但这两者结合起来的传输量仍比需要处理分析的原始数据量少的多,这种尽可能在本地机上处理分析数据的方式,有利于提高虚拟仪器系统的执行效率。

此外,在该体系结构的仿真实验中需要多次实验以确定合适的采样周期和触发间隔,即确定采样率和采样次数。采样率越高则在单位周期内的采样次数越多。而触发器时间取决于所构建系统的运行速度。

为保证整个系统的正常运行,赋予每个处理分析agent一个生命周期值。当其成功执行一次任务后,该值加1。随着处理分析agent集合数量的不断增大,需要淘汰生命周期不强的agent,即淘汰生命周期值最小的agent。

5 结论

基于移动agent的虚拟仪器系统体系结构模型的提出,结合了现有虚拟仪器系统和移动agent技术的优势,有利于改善现有虚拟仪器系统的可重用性和平台依赖性,用户可以用较少的系统开发维护费用和更少的时间开发出功能更强、质量更可靠的产品和系统,有利于提高现有虚拟仪器系统的设计效率。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    6872

    浏览量

    85806
  • 虚拟仪器
    +关注

    关注

    22

    文章

    775

    浏览量

    87116
  • 智能化
    +关注

    关注

    15

    文章

    4569

    浏览量

    54467
收藏 人收藏

    评论

    相关推荐

    如何使用虚拟仪器技术创建合成仪器

    如何使用虚拟仪器技术创建合成仪器虚拟仪器的软件对于一个虚拟仪器系统而言,软件是最关键的部分。
    发表于 02-25 23:42

    虚拟仪器课件,虚拟仪器电子教案

    虚拟仪器课件,虚拟仪器电子教案虚拟仪器的基本概念1.2 虚拟仪器的形成和发展 1.3 虚拟仪器系统
    发表于 06-22 12:08

    虚拟仪器和传统仪器的比较

    功能固定且由厂商定义。图1、传统仪器(左图)和基于软件的虚拟仪器(右图)具有许多相同的结构组件,但是在体系结构原理上完全不同每一个虚拟仪器系统
    发表于 07-09 23:23

    组建虚拟仪器系统的费用如何?

    调理任务,一般没有现成的模块可选用,需重新研制,这部分工作通常由系统集成商或用户完成。编程费用:虚拟仪器的信号处理与仪器控制部分,通常采用虚拟仪器
    发表于 09-06 22:46

    虚拟仪器能否实现网络测试?

    虚拟仪器能否实现网络测试?能,虚拟仪器充分利用了计算机技术,也包括网络技术,目前的虚拟仪器软件能
    发表于 09-06 22:46

    虚拟仪器应用案例

    总线的多通道瞬态测试记录系统,西北工业大学。(8) 在虚拟仪器平台上构建便携式车辆综合测试系统,太原机械学院。(9) 基于虚拟仪器的无纸记
    发表于 09-06 22:48

    基于虚拟仪器的城市景观照明分布式控制系统设计与实现

    基于虚拟仪器的城市景观照明分布式控制系统设计与实现针对城市级景观照明系统分布广,数量多的特点,设计一种基于虚拟仪器的可组分布式城市景观照明控
    发表于 12-01 10:19

    虚拟仪器技术

    本文转自湖南银河电气有限公司: 官网虚拟仪器技术一、虚拟仪器技术的定义  虚拟仪器技术就是利用高
    发表于 05-29 15:47

    基于移动agent虚拟仪器系统体系结构模型

    完成特定任务[3]。它具有主机间动态迁移性、智能性、平台无关性、分布灵活性、多agent合作性等六方面的特点。  因此,在本文中考虑将移动agent技术运用到
    发表于 04-16 09:40

    基于虚拟仪器的呼吸机测试

      引 言  随着测试技术和总线技术的发展,以虚拟仪器为标志的自动测试系统开始出现。所谓虚拟仪器就是在以计算机和总线
    发表于 04-30 09:40

    采用虚拟仪器实现RailSAR测控系统设计

    控制,完成数据的采集、传输和分析处理。本文介绍基于虚拟仪器系统概念设计的RailSAR测控系统实现过程。1 系统开发平台
    发表于 05-08 09:40

    虚拟仪器技术介绍

    系统集成,标准的软硬件平台能满足对同步和定时应用的需求。这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高
    发表于 07-24 06:56

    怎么实现基于虚拟仪器的PLC监控系统的设计?

    本文根据这个思想设计了一个工业远程监控系统,上位机采用PC机,下位机采用西门子PLC S7-200。介绍了一种在LabVIEW 8.6平台上开发PC机和PLC实时监控的软件的编程方法,在此基础上
    发表于 05-26 06:43

    基于虚拟仪器技术构建的步进电机检测系统

    基于虚拟仪器技术构建的步进电机检测系统 介绍基于虚拟仪器技术
    发表于 10-16 08:27 1044次阅读
    基于<b class='flag-5'>虚拟仪器</b><b class='flag-5'>技术</b><b class='flag-5'>构建</b>的步进电机检测<b class='flag-5'>系统</b>

    DSP技术虚拟仪器系统中的应用

    摘要:数字信号处理器的硬件结构和指令体系决定了它在实现各种算法时具有速度快、精度高的特点。针对虚拟仪器由于计算机技术发展的局限而在运算速度和精度方面的不足,提出了使用DSP
    发表于 03-01 15:53 41次下载