首页/文章/ 详情

复杂产品虚拟样机技术研究

1年前浏览473


1

引    言


虚 拟样机将不同工程领域的开发模型结合在一起 , 从各个角度来模拟真实产品 , 支持并行工程方法学 , 实现多领域的协同设计 。这些特点使其在以知识为基础的新产品竞争中 , 大放光彩 。虚拟样机代替物理样机对产品进行设计 , 测试和评估 , 在缩短开发周期 , 降低产品开发成本 , 提高产品的设计质量方面有着巨大作用 。 虚 拟 样 机 技 术 ( virtual prototyping, VP)成为研究的新的热点。本文提出了用Agent技术和WEB服务实现虚拟样机的方案 , 建立了虚拟样机的系统结构和并阐明了系统的工作流程和信息集成模式 。


2

关键技术


Agent是一种体现智力状态的实体 , 也称为代理 。它具有自己的信念 、能力 、选择和承诺等 等 , 是一种很复杂 、高粒度抽象的软件对象 。它有自己的知识 , 能力并且能够对状态进行分析和控制的智能体 。每个Agent是一个很完全的子系统 ,具有通信 , 知识管理和事务处理等能力 。多个Agent相互连接组成系统 , 通过各Agent相互协作 , 达到系统协同求解的目标 。Agent系统的思想 , 解决问题的方法和体系非常适于虚拟样机的设计 , 可以作为虚拟样机建模与仿真的有效工具 , 而且越是大型 , 复杂系统的仿真 , 越能体现出面向Agent方法的优越性 。


WEB服务可定义如下:通过标准的WEB协议可以访问的一个应用程序的组件。一项WEB服务就像一个应用程序逻辑单元, 它向远程客户及其它应用程序提供了服务和数据。远程客户和 应用程序通过普遍使用的因特网协议访问WEB服务 , 他们使用XML进行数据传输 , 使用简单对象访问协议 (Simple Object Access Pro tocol, SOAP) 来使用服务 。由于使用了XML和SOAP, 对服务的访问独立 与具体的实现 ,因此 , 一项WEB服务就像是用于WEB的一个组件体系结构。WEB服务支持未耦合的分布式系统之间的松散耦合 , 可以使运行在不同系统平台以及基于不同技术的系统可以彼此协作 , 构成一个分布式系统。


SOAP是一种基于XML, 用来传输对象 , 方法的传输协议 , 它把 HTTP 技术与 XML相结合 , 使任何编程模型的软件都可以通过互联网进行通信。SOAP以XML形式提供了一个简单 , 轻量的用于在分散或分布式环境中交换结构化和类型信息的机制。SOAP由下列三部分组成 :SOAP信封 , 定义的内容消息中 , 消息的接受者是谁以及此消息是可选的 还是必须有的;SOAP编码规则, 定义一组用于交换应用程序定义的数据类型实例的规则 ;SOAP RPC表示 , 定义了用于表示远程过程调用和响应的一个约定。


3

基于Agent的虚拟样机的系统结构


利用 Agent, XML, WEB服务的这些特点本文提出了基于Agent的虚拟样机协同设计的概念模型 , 用Agent来实现多领域的协同设计 。系统结构如图1所示 , 各领域可用一个Agent表示 , Agent的组 织结构采用层次型与网状的复合结构 。设置两个主Agent。每个Agent中含有控制机构和数据库,各领域Agent之间以及与主Agent之间的通信和数据共享采用WEB服务来实现 。


图 1 系统的整体结构


系统整体结构中有两个主Agent, 为主Agent1和主Agent2, 分别用于将设计任务分解为各领域的构件设计任务和对总体的协同设计进程进行调度 , 控制并行设计的工作进度调整各领域 Agent间的冲突 。领域Agent根据分配的任务和产品设计的属性和约束进行设计 。


分布式协同虚拟样机的研究和开发需要解决一系列兼容性问题 :跨硬件平台 , 跨操作系统 , 跨语言 , 跨通信协议 , 跨版本等 。WEB服务完全可以解决上述问题 , 其它技术如COM , CORBA , RMI, Jini, RPC等 , 其中一些技术能够通过WEB发布其服务 , 有些则不能 。大多数这些技术使用专门的通信协议并且没有标准化 , 这样使得两种不同的服务之间彼此互操作变得很困难 。理想情况下 , 这些服务不仅应该可以互操作 , 而且应该能够集成和复合更细微的服务级别而形成一个较大的服务 。但是 , 如果不同的应用程序开发者使用不同的技术来生成这些服务 , 则这种集成就不容易实现 , 同时 ,如果应用程序有成千上万的用户 , 而且都分布在世界各地 ,那么和服务器的通信将是一个很棘手的问题 , 因为客户端和服务器之间的通常都会有防火墙或者代理服务器 , 防火墙可以阻止入侵者进入网络 , 消除局域网中不希望的网络通信 ,但是这种高度的安全机制将使合理的网络通信量出现瓶颈 ,使得COM或其它的一些技术在跨防火墙通信时变得比较困难 , 而WEB服务可以有效的解决以上问题 。在虚拟样机的开发过程中 , 如果某领域需要提取其他领域的设计信息或者需要得到其他领域的服务 , 通过WEB服务实现的过程如图2所示


图 2 WEB服务的一般过程


WEB服务由WEB服务目录 , WEB服务发现 , WEB说明和WEB服务调用等过程组成:WEB服务目录 , 提供一个用以定位其它单位提供的WEB服务的中心位置 ;WEB服务发现是定位WSDL(W EB服务描述语言)对特定的WEB服务进行描述的一个或多个文档的过程;W EB说明则提供了如何与特定的WEB服务进行交互操作的服务说明 。以上过程中, 客户机对提供WEB服务对象的实际所在毫不知情 ,也不知道其实施详情或具体的对象请求代理的种类 。WEB服务的结构更有利于资源的灵活 , 合理的利用 , 因为WEB服务是对等的分布式计算环境 , 所有应用对象之间的地位是平等的 , 其担任的角色也可以转换的 , 当某一对象产生服务请求时就被称为客户方 , 而当它接受服务请求时就被称为服务方 。绝大多数WEB服务对象都可以担任客户方和服务方两种角色。


4

Agent的通信方式


复杂产品虚拟样机采用多Agent系统实现 , Agent间如何通信对系统的正常运作极为重要。Agent利用Agent通信语言(ACL) 进行信息和知识的交互。ACL有多种 , 我们使用KQM L(Knowledge Query and Manipu lation Language)作为基于Agent的虚拟样机系统的ACL, KQML是由KSE制定的ACL, 它常被ACL领域的研究人员当作是说明 、理解和建造新ACL的参照语言 , 它提供了一 套标准的Agent通讯原语 ,从而使得使用这种语言的Agent之间都可以进行交流和共享信息 。KQML与Agent间的具体通讯方式无关 , 与采用的协议和具体的网络形式无关 , 所以KQML可以有很多种实现 。


KQML是目前被用得最多的ACL, 它的核心是提供一个通信原语的抽象集 合 , 利用这些通信原语表达出消息发送者对真正想要交换的信息的态度 。为此 , KQML被设计成一种分层的语言 , 它共有三个逻辑层次 :内容层 (content layer), 消息层 (messag elayer) 和通信层 (communication layer)。内容层中携带的信息是一条KQML消息所真正要传输的信息 , 这些信息的表示语言就是消息内容自身所使用的语言 , 因此 , 通过利用内容层 , KQML消息可以传递任何语言编写的信息 ,实现KQML消息与传输内容的分离 , 从而屏蔽Agent内部实现的异构性 。消息层是KQML的核心 , 它最重要的功能是提供发送者对待内容层信息所要 传递的言语行为 , 如 KQML消息是一个陈述事实还是询问请求 , 消息层中还包含可以识别内容层所使用语言的信息 。通信层中所携带的信息主要是为底层传输服务的 , 如KQML消息发送者和接受者的身份识别信息 , 是同步的还是异步的消息等 。我们 设计的系统中Agent将要传输的模型信息以XML的格式存放于KQML的内容层 ,并将KQML消息作为 SOAP传输的内容借助 HTTP在 Internet上传送 , 实现WEB环境下 Agent间的WEB服务方式的通信 ,从而实现跨领域的 , 地理上分布的 , 异构的平台上协同的产品开发 。


5

虚拟样机设计系统中数据处理方式


复杂产品虚拟样机在设计过程中需要解决的另一个重要问题是 , 如何在分布的异构的环境下交换大量的设计模型数据 。在我们构建 的系统中 , 由于使用了WEB服务技术和XML技术 , 使解决这一问题 极为容易 。同时该系统在数据管理和挖掘上 , 使用了EJB(Ente rprise JavaBean)技术 , 使系统的应用范围广泛 , 既能处理广域网同时也能适应局域网的信息管理 , 在实际应用环境中使系统运行安 全稳定和便于维护 , 充分发挥应用服务器的功能 。


XML可用于各种操作系统 。得到很多数据库厂商的支持 , 不同平台的数据库可通过XML文件交换数据 , 其自定义标签功能可把非结构化数据结构化 , 一个典型的文档类型定义会把XML文档的元素结构 、属性类型 、实体引用等预先进行规定 , 使 XM L文档能够描述复杂的数据 。XML将数据内容和样式分离 , 并使数据具有自我描 述性 。虚拟样机开发过程中 , 由于产品模型描述大都遵循STEP(S tandard for the Exchange of  Product  Mode l Data) 标 准 , EXPRESS语言是STEP的数据描述语言 , 国际标准化委员会定义的 EXPRESS到XML文件映射的标准使产品数据可由XML表述 , 并通过网络实现数据的交换 。


EJB是一个服务器方中间件的体系结构 。支持构建企业级分布式应用 , 并且简化这个构建过程 。EJB体系结构也管理可伸缩性 , 安全性以及可靠性等问题 , EJB允许开发者关注于应用逻辑 , 而不必担心应用程序的底层结构 。我们构建的协同虚拟样机设计系统中EJB组件方法的调用被封装在WebMethod中 , 而WebMethod以WEB服务的方式向外发布 。


协同虚拟样机设计涉及多个设计领域 , 每个设计领域在系统中即是一个Agent, 模型数据的交换有Agent之间的和Agent内部的数据交换 , 一般而言 , Agent之间的数据交换涉及广域网且模 型的数据表示可能是异构的而Agent内部的数据交换是在局域网 内进行 , 模型数据的表示一般是同构的。虚拟样机设计系统中 , 广域网的模型信息交互通过WEB服务 , 局域网的模型信息交互通过EJB组件的相互调用实现 。


Agent内部每个数据库可对应多个具有各自功能的Entity Bean和Session Bean来完成对数据库中表的管理和业务逻辑的实现 。当通信为Agent之间时 , 这些组件可进行本地数据库的数据挖掘处理 , 将结果通过WEB服务以XML的形式发送 , 有效的减少了网络阻塞 , 提高效率和性能 , 也解决了模型数据的表示不一致的问题 。Agent内部的分布的数据库之间的数据管理和挖掘完全没有必要通过WEB服务进行 , 因为它们处于防火墙内部同时对性能有较高的要求 , 故采用EJB和EJB之间的直接远程调用 , 这就有效的使用了紧耦合方式实现Agent内的分布式数据库的管理 。更进一步 , 若体系中EJB组件的实现是基于I IOP的 , 则该EJB组件还可与CORBA对象实现互通信 , 这样这种体系结构中还可通过 CORBA对象很有效的解决Legacy系统的问题 。表明该系统的扩展性相当完善 。


协同虚拟样机设计系统中各领域的数据挖掘也是分布式协同设计中要解决的一个关键的问题 , 如何快速而有效地从 “信息海洋 ” 中提取出有用的 、可以指导决策的知识 , 解决数据挖掘的空间 和时 间 “瓶 颈 ” , 需 要一 套复杂的方法来访问 、清理数据 , 以及对挖掘过程进行 协调 。目前在实现的系统中 , 数据挖掘多采用建立一个统一的数据仓库 , 将分布的数据抽取出来 , 物理的存储于一个地方 , 这种模式效率低下 , 同时没能充分利用网络计算资源 。将这种模式转化成本地挖掘后再集中存储 , 可大大提高效率 , 这样就需要在本地组件中存储挖掘算法 , 我们在各领域内的 EJB组件中存储多个挖掘算法 , 由EJB将数据挖掘的结果发送出去 。数据挖掘算法放在本地EJB中 , 不仅处理速度快 , 同时易于维护和更新 。


图 3 XML转换器结构图


图 4 虚拟样机设计系统设计领域数据处理结构图


上面描述一下协同虚拟样机设计系统的模型数据交互的工作流程 :当某个设计领域接受到其它设计领域的数据调度的任务时 , 若本地可完成 , 则直接和本地EJB交互 , 由本地EJB访问数据库获取数据后 , 再由WEB服务将数据封装成XML文件发送至其它设计领域 ;若是设计领域内部的数据交互 , 则由EJB之间通过远程调用来完成任务 。该模型数据处理方式在某国防项目中得到实现并被证明扩展性和效率都相当完善 。


6

结论与展望


本文将WEB服务技术和Agent技术结合运用到虚拟样机整体设计上 , 提供了复杂产品虚拟样机设计系统的总体结构 , Agent的数据管理途径和Agent的通信方式等 。虚拟样机是今后制造业的发展方向 , 有着广阔的前景和市场 , 它加速新技术向产品转化的开发 , 研制和使用过程 , 虚拟样机的技术在我国已受到越来越多的重视本文为虚拟样机应用的进一步开发奠定了基础。




#The End #

作者:陈曦 , 王执铨 , 吴慧中

南京理工大学计算机系 605 教研室

--------------------------------------------------

本内容来源于互联网,版权归原作者所有,供学习交流使用,严禁商用,如有侵权请联系我们删除。

--------------------------------------------------



相关文章,在仿真秀官网搜索:

科技与创新研究:回顾、现状与展望  /  有限元计算的面向目标误差估计  /  约翰霍普金斯应用物理实验室发布未来研发愿景

来源:安怀信正向设计研发港


通信海洋控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-11-18
最近编辑:1年前
获赞 65粉丝 49文章 362课程 6
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈