论文部分内容阅读
摘 要:文章分析了分布式协同仿真系统开发与研究的关键技术问题,提出了一个基于.NET的分布式协同仿真平台的总体结构。该平台的设计目标是:跨异构平台的,支持高层体系结构标准和分布式协同仿真,具有较强扩充能力的通用仿真建模环境,便于集成现有应用和易于部署。文章介绍了以XML和Web服务为核心实现Internet环境中高度分布式应用的方法,分析了仿真模型的软件结构设计规则,说明采用DLL和COM兼容现有仿真模型,利用XML实现仿真信息的协同通信,基于HLA的仿真运行控制和协同仿真运行管理等关键技术的实现方法。
关键词:.NET Web Service 仿真模型 协同通信
协同仿真通过仿真试验对异构系统的设计进行确认或对其性能进行评估。各种技术的广泛使用使得各仿真器的数据格式和行为差异很大,在异构系统间构造一个通用的机制来增强异构系统间的协同非常困难。目前,各种应用系统的构造相当复杂,通常集成了协同的硬件和软件部分,它们的设计模型要求大量的描述语言在不同的抽象层面上进行描述。由于系统的各组成部分通常在各自分离的设计阶段进行开发和验证,为了验证系统的全面功能,在设计的不同阶段必须验证它们之间交互的正确性。由于系统的异构性,导致整个系统的通信和协作非常复杂。在协同仿真环境下,可以使各仿真器通过仿真接口接收和处理数据,并完成同步和数据格式的转换。.NET及其相关技术为实现异构系统的协同仿真提供了较为理想的平台,本文将介绍基于.NET的分布式协同仿真平台的关键技术及其实现的方法。
一、.NET简介
.NET技术是基于“分布式计算”而产生的,因此使用了一些与分布式计算有关的技术,如XML、SOAP、Web services等。
Web services是.NET的核心技术之一,它的目的是使一个应用软件在可以在Internet上调用其他应用软件的函数库、数据和其他应用服务,这样开发者就可以协同的开发和重用应用软件。在.NET中,Web service的接口通常通过WSDL(Web Service Description Language)以XML进行定义,WSDL提供接口的操作、输入和输出参数定义的标准方法。可以通过一些协议来激活接口中的操作并返回结果,最通用的激活Web services的协议是SOAP(Simple Object Access Protocol),SOAP通过XML来定义它传送数据的标准格式。UDDI(Universal Discovery Description and Integration)规范定义了一种发布和发现网络服务信息的方式。它是一套公开的实现规则,允许Web service 客户的开发者来定位他们所需信息,如WSDL接口,来建立客户可用的Web services。
由于实现技术的多样性,使得早期的分布式技术,如CORBA、DCOM、RMI无法实现连接的普遍性,标准化的基于XML的web services比以往的传统程序语言中采用的解决方案更强大和有效。
二、协同仿真平台及其关键技术
协同仿真平台是支持分布、异构模型之间的分布式协同仿真,提供一个开放的、可扩展的、基于标准的仿真集成框架。协同仿真平台基于面向对象的连续-离散事件混合系统建模、仿真方法,为复杂系统建模、不同建模仿真工具的集成提供方法和软件环境的支持。
(一)协同仿真建模
在协同仿真环境里,不同专业人员可能掌握自己所熟悉的系统描述方法,而且不同的建模方法能更好地把握系统的不同方面。同时针对不同的仿真问题,其对模型不同部分的抽象程度不同,采用一种模型描述难以满足仿真要求。为便于仿真人员间的互相协作和系统的准确描述,协同仿真环境应基于统一的对象模型结构支持混合异构层次化建模方法。
(二)协同信息的通信
分布式虚拟环境的网络通信面临着异构的物理环境、有限的网络带宽、实时性要求等一系列问题。同时,由于在协同仿真环境中将要涉及大量数据,包括模型、仿真结果输出数据等,而且这些仿真数据具有自身的特点。因此采用一种标准的、简单的、易于数据格式扩展的数据通信方法是实现有效协同通信的关键。
(三)运行管理
为了协同各仿真器之间的仿真运行,必须设计运行管理器来监控它们的工作状态,进行仿真时间管理,协调仿真的进程,并对仿真的中间过程进行记录,在仿真结束后进行仿真回放。
三、仿真平台的总体结构
仿真平台的设计目标是:跨异构平台的,支持高层体系结构标准和分布式协同仿真,具有较强扩充能力的通用仿真建模环境,便于集成现有应用和易于部署。
为实现仿真平台的设计目标,本文提出图1所示的仿真平台软件结构。仿真模型开发人员通过协同仿真平台或其他商用仿真建模软件,如MatLab、SystemView等创建仿真模型,并通过协同仿真平台将模型发布到Web service的仿真模型库中。模型使用人员可以通过协同仿真平台从Web service的仿真模型库中搜索所需的仿真模型,并在仿真平台上进行仿真建模工作。仿真运行时,通过HLA/RTI协调整个仿真运行的过程,并可仿真运行管理器对各仿真器进行状态监视和仿真进程控制,各仿真器之间通过协同通信完成仿真数据的识别、转换和同步,在仿真结束后可对仿真试验结果进行性能评估。
四、协同仿真平台的实现技术
(一)仿真建模
为了满足仿真平台对仿真模型识别和调用的需要,应定义一个仿真模型组织结构的通用规范,它规定了仿真模型内部接口函数的命名和实现规则,主要包括以下几种函数:
ModelInitialize,用于对模型的各状态变量置初值,包括仿真时间、连续和离散仿真的初始状态和数组定维。
ModelDerivatives,用于计算连续仿真变量的状态。
ModelUpdates,用于离散仿真状态、采样时间、时间步进的设置。
ModelOutputs,计算接口函数的输出。
ModelTerminate,结束仿真任务时的处理函数。
协同仿真平台采用框图形式的图形化仿真建模环境,可以方便地通过鼠标拖拽实现仿真模块的组合,完成系统仿真模型的构建。
(二)基于HLA的仿真运行控制
HLA/RTI提供一个仿真软件环境,它能将符合仿真要求的对象连接起来,完成对象之间的交互。RTI是仿真平台运行的核心,为仿真平台提供如下功能:用户登录,管理各种仿真子模块,对象类的操作(包括创建新的对象、刷新对象、修改对象属性、删除对象等),仿真时间的管理等。HLA成员运行时间框架如图1所示。
(三)对现有仿真模型的兼容
在目前的商用或用户开发的仿真系统中已有大量的可用模型,它们大多以DLL函数库、COM组件或其他类型文件的形式进行存放,可以利用商用仿真平台提供的转换工具将其他类型的文件转换为DLL函数库和COM组件,稍加改造便可以集成到Web Service的模型库中,实现在异构系统中的重用。通过Web Service兼容现有仿真模型的方法如图2所示。
五、结论和展望
基于.Net的分布式协同仿真平台的主要特点是:它一方面支持多种类型的协作,提高了系统的通用性,另一方面增强了系统的扩充能力和灵活性,便于集成现有应用和开发新的应用。本文讨论的关键技术已在 “通信系统协同仿真平台”中得到了应用,笔者将继续扩展该平台的应用领域,研究采用ASP.NET等技术开发基于WWW浏览器的通用协同仿真平台的关键技术。
(作者单位:天津市信息中心)
【参考文献】
1、G.Borriello and R.Want.Embedded Computation Meets the World Wide Web[J].Communications of the ACM,2000(3).
2、F.Kuhl,R.Weatherly,and J.Dahmann.Creating Computer Simulation Systems: An Introduction to the High Level Architecture[Z].Prentice Hall,MITRE Corporation,2000.
3、D.Wildt and F.R.Wagner.Adapting Simulation Environments to HLA:Discussion and Case Study[Z].Proceedings of the European Simulation Multiconference,Prague,Czech Republic,2001.
4、王江云,王行仁,贾荣珍.协同仿真环境体系结构[J].统仿真学报,2001(11).
5、王江云,王行仁,柴旭东.协同仿真运行与管理平台研究与实现[J].系统仿真学报,2003(5).
6、孙知信,王汝传.基于组件的分布式虚拟仿真平台的研究与实现[J].系统仿真学报,2001(11).
关键词:.NET Web Service 仿真模型 协同通信
协同仿真通过仿真试验对异构系统的设计进行确认或对其性能进行评估。各种技术的广泛使用使得各仿真器的数据格式和行为差异很大,在异构系统间构造一个通用的机制来增强异构系统间的协同非常困难。目前,各种应用系统的构造相当复杂,通常集成了协同的硬件和软件部分,它们的设计模型要求大量的描述语言在不同的抽象层面上进行描述。由于系统的各组成部分通常在各自分离的设计阶段进行开发和验证,为了验证系统的全面功能,在设计的不同阶段必须验证它们之间交互的正确性。由于系统的异构性,导致整个系统的通信和协作非常复杂。在协同仿真环境下,可以使各仿真器通过仿真接口接收和处理数据,并完成同步和数据格式的转换。.NET及其相关技术为实现异构系统的协同仿真提供了较为理想的平台,本文将介绍基于.NET的分布式协同仿真平台的关键技术及其实现的方法。
一、.NET简介
.NET技术是基于“分布式计算”而产生的,因此使用了一些与分布式计算有关的技术,如XML、SOAP、Web services等。
Web services是.NET的核心技术之一,它的目的是使一个应用软件在可以在Internet上调用其他应用软件的函数库、数据和其他应用服务,这样开发者就可以协同的开发和重用应用软件。在.NET中,Web service的接口通常通过WSDL(Web Service Description Language)以XML进行定义,WSDL提供接口的操作、输入和输出参数定义的标准方法。可以通过一些协议来激活接口中的操作并返回结果,最通用的激活Web services的协议是SOAP(Simple Object Access Protocol),SOAP通过XML来定义它传送数据的标准格式。UDDI(Universal Discovery Description and Integration)规范定义了一种发布和发现网络服务信息的方式。它是一套公开的实现规则,允许Web service 客户的开发者来定位他们所需信息,如WSDL接口,来建立客户可用的Web services。
由于实现技术的多样性,使得早期的分布式技术,如CORBA、DCOM、RMI无法实现连接的普遍性,标准化的基于XML的web services比以往的传统程序语言中采用的解决方案更强大和有效。
二、协同仿真平台及其关键技术
协同仿真平台是支持分布、异构模型之间的分布式协同仿真,提供一个开放的、可扩展的、基于标准的仿真集成框架。协同仿真平台基于面向对象的连续-离散事件混合系统建模、仿真方法,为复杂系统建模、不同建模仿真工具的集成提供方法和软件环境的支持。
(一)协同仿真建模
在协同仿真环境里,不同专业人员可能掌握自己所熟悉的系统描述方法,而且不同的建模方法能更好地把握系统的不同方面。同时针对不同的仿真问题,其对模型不同部分的抽象程度不同,采用一种模型描述难以满足仿真要求。为便于仿真人员间的互相协作和系统的准确描述,协同仿真环境应基于统一的对象模型结构支持混合异构层次化建模方法。
(二)协同信息的通信
分布式虚拟环境的网络通信面临着异构的物理环境、有限的网络带宽、实时性要求等一系列问题。同时,由于在协同仿真环境中将要涉及大量数据,包括模型、仿真结果输出数据等,而且这些仿真数据具有自身的特点。因此采用一种标准的、简单的、易于数据格式扩展的数据通信方法是实现有效协同通信的关键。
(三)运行管理
为了协同各仿真器之间的仿真运行,必须设计运行管理器来监控它们的工作状态,进行仿真时间管理,协调仿真的进程,并对仿真的中间过程进行记录,在仿真结束后进行仿真回放。
三、仿真平台的总体结构
仿真平台的设计目标是:跨异构平台的,支持高层体系结构标准和分布式协同仿真,具有较强扩充能力的通用仿真建模环境,便于集成现有应用和易于部署。
为实现仿真平台的设计目标,本文提出图1所示的仿真平台软件结构。仿真模型开发人员通过协同仿真平台或其他商用仿真建模软件,如MatLab、SystemView等创建仿真模型,并通过协同仿真平台将模型发布到Web service的仿真模型库中。模型使用人员可以通过协同仿真平台从Web service的仿真模型库中搜索所需的仿真模型,并在仿真平台上进行仿真建模工作。仿真运行时,通过HLA/RTI协调整个仿真运行的过程,并可仿真运行管理器对各仿真器进行状态监视和仿真进程控制,各仿真器之间通过协同通信完成仿真数据的识别、转换和同步,在仿真结束后可对仿真试验结果进行性能评估。
四、协同仿真平台的实现技术
(一)仿真建模
为了满足仿真平台对仿真模型识别和调用的需要,应定义一个仿真模型组织结构的通用规范,它规定了仿真模型内部接口函数的命名和实现规则,主要包括以下几种函数:
ModelInitialize,用于对模型的各状态变量置初值,包括仿真时间、连续和离散仿真的初始状态和数组定维。
ModelDerivatives,用于计算连续仿真变量的状态。
ModelUpdates,用于离散仿真状态、采样时间、时间步进的设置。
ModelOutputs,计算接口函数的输出。
ModelTerminate,结束仿真任务时的处理函数。
协同仿真平台采用框图形式的图形化仿真建模环境,可以方便地通过鼠标拖拽实现仿真模块的组合,完成系统仿真模型的构建。
(二)基于HLA的仿真运行控制
HLA/RTI提供一个仿真软件环境,它能将符合仿真要求的对象连接起来,完成对象之间的交互。RTI是仿真平台运行的核心,为仿真平台提供如下功能:用户登录,管理各种仿真子模块,对象类的操作(包括创建新的对象、刷新对象、修改对象属性、删除对象等),仿真时间的管理等。HLA成员运行时间框架如图1所示。
(三)对现有仿真模型的兼容
在目前的商用或用户开发的仿真系统中已有大量的可用模型,它们大多以DLL函数库、COM组件或其他类型文件的形式进行存放,可以利用商用仿真平台提供的转换工具将其他类型的文件转换为DLL函数库和COM组件,稍加改造便可以集成到Web Service的模型库中,实现在异构系统中的重用。通过Web Service兼容现有仿真模型的方法如图2所示。
五、结论和展望
基于.Net的分布式协同仿真平台的主要特点是:它一方面支持多种类型的协作,提高了系统的通用性,另一方面增强了系统的扩充能力和灵活性,便于集成现有应用和开发新的应用。本文讨论的关键技术已在 “通信系统协同仿真平台”中得到了应用,笔者将继续扩展该平台的应用领域,研究采用ASP.NET等技术开发基于WWW浏览器的通用协同仿真平台的关键技术。
(作者单位:天津市信息中心)
【参考文献】
1、G.Borriello and R.Want.Embedded Computation Meets the World Wide Web[J].Communications of the ACM,2000(3).
2、F.Kuhl,R.Weatherly,and J.Dahmann.Creating Computer Simulation Systems: An Introduction to the High Level Architecture[Z].Prentice Hall,MITRE Corporation,2000.
3、D.Wildt and F.R.Wagner.Adapting Simulation Environments to HLA:Discussion and Case Study[Z].Proceedings of the European Simulation Multiconference,Prague,Czech Republic,2001.
4、王江云,王行仁,贾荣珍.协同仿真环境体系结构[J].统仿真学报,2001(11).
5、王江云,王行仁,柴旭东.协同仿真运行与管理平台研究与实现[J].系统仿真学报,2003(5).
6、孙知信,王汝传.基于组件的分布式虚拟仿真平台的研究与实现[J].系统仿真学报,2001(11).