分布式仿真平台物理实现的第一个问题是仿真服务器分布式计算技术的选择。目前,CORBA、DCOM和RMI都是很成熟的技术,在此基础上已建立了很多应用程序。应当注意,DCOM是一个Windows平台的特定技术,很难被应用在横跨平台里。RMI是在JAVA语言优势的基础上建立的,“编写一次,随处运行”,避免了很多跨平台障碍,不足之处是JAVA本身的局限性使其不容易成为一个广泛适用的求解器包裹,而是需要重新建立新的系统。
网络服务器在工业界越来越受欢迎,网络服务可以用任何语言和操作系统的形式去实现,并且能够包裹CORBA、DCOM和RMI对象。网络服务的消费者也可以在任何操作系统,用任何语言实现。已经有人利用网络服务来在各种各样的网络平台异构软件中交互操作仿真[70]。网络服务可以通过无处不在的网络通信协议访问(如HTTP或SMTP),因此实际上提供了一种能够连接网络上下文中任何应用的通用方法。目前,几乎所有网络服务实现都是基于SOAP协议,这是一种建立在XML上的可扩展简单通信协议,因此SOAP自然有能力在任何应用程序之间通信。
网络服务并不是用来面向分布式技术需求的,它采用了面向连接的程序模型,如CORBA和DCOM。面向连接意味着需要建立在服务器和客户之间的连接,并可执行多个要求/回复。网络服务本质上是无状态的,这意味着每个函数调用服务器都独立于其他的调用,因此给分布式结构服务提供了极大的弹性。网络浏览器和网络服务器之间的通信通常就是无状态的,正因为如此,网络浏览器才得以流行。然而,因为分布式仿真中协调器和子系统模型之间需要多个通信,所以需要的是有状态的编程模型。SOAP是平台独立的和防火墙友好的,故对于建立仿真平台其是个很好的选择。目前,已经出现了很多将SOAP结合到RMI、CORBA和DCOM的工作,例如XSOAP就是利用SOAP实现RMI的工具包。Microsoft Net技术引入了Microsoft Intermediate语言的概念,类似于JAVA字节代码,能够跨语言集成多个项目,也可以在非Windows平台上实现Net Framework。Mega-Solver建立了基于微软的平台。Net Remoting是Net Framework中的分布式计算技术,基于SOAP设计,支持有状态计算。
在仿真平台中,每个分布式零部件模型将保持在本地,并运行于其自己的仿真求解器上,如NASTRAN、ADAMS、DYNA、MADYMO,或其他仿真求解器。仿真平台只根据接口信息控制这些独立仿真并根据T-T算法协调它们之间的通信,实现仿真模型的“即插即用”。仿真求解器必须被包裹成仿真服务器,并可被协调器访问。分布式仿真方法论中的一个重要问题就是如何执行“即插即用”的仿真能力,即如何提供一个标准的外壳程序使仿真求解器可以很容易地被纳入仿真平台,而不需要重新编译或对仿真平台进行大的改动。此外,模型透明度要求叶模型和集成模型具有同样的接口,以便使高层集成模型在仿真中可以不用区分处理其是叶模型还是集成模型。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。