首页> 中国专利> 一种支持重用的仿真模型系统及其开发方法

一种支持重用的仿真模型系统及其开发方法

摘要

一种支持重用的仿真模型系统及其开发方法,其仿真模型系统包括:模型逻辑描述信息1.1和模型执行代码1.2,模型逻辑描述信息1.1和模型执行代码1.2从文本和代码两个方面刻画仿真模型;所述模型执行代码1.2为实现了模型逻辑信息描述内容的、支持运行时刻动态加载的、可执行代码级的软件模块,所述模型逻辑描述信息1.1中包含模型执行代码1.2各子模块的函数和接口名称,使得模型使用者能够根据函数动态加载模型执行代码1.2并调用相关函数,使用模型。其优点是:使得仿真模型的使用由源代码级使用转变为执行代码级使用,使仿真模型系统可以动态加载、即插即用,使得仿真软件中的仿真模型方便升级、替换。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-07

    未缴年费专利权终止 IPC(主分类):G06F9/44 授权公告日:20141001 终止日期:20190819 申请日:20100819

    专利权的终止

  • 2014-10-01

    授权

    授权

  • 2011-05-25

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20100819

    实质审查的生效

  • 2011-04-06

    公开

    公开

说明书

技术领域

本发明涉及建模与仿真技术领域,具体的说是支持重用的仿真模型系统及其开发方法。

背景技术

随着仿真任务范围的不断扩展以及仿真应用需求的不断复杂化,仿真模型的开发成为一项耗资巨大的工程。目前,仿真开发的主要方式还是仿真模型以代码段的方式存在于模拟器中,如图5所示,通过在仿真应用软件的源代码里面掺杂所需仿真模型的源代码,编译链接形成仿真应用软件。这种模型与模型载体之间紧耦合的开发集成方式导致了:模型可重用性差、模型不能独立升级、模型修改与参数调整不够灵活、仿真应用软件不能灵活配置和部署等问题,许多模型和仿真的应用范围与功能有相似之处,由于相容性问题不能解决而很难再利用,使得针对不同的仿真应用软件,模型资源无法得到充分利用,重复开发多,工作量大。

发明内容

本发明的目的是研制一种支持重用的仿真模型系统及其开发方法,使得开发出的仿真模型能够支持执行代码级重用的,且能够即插即用在仿真应用软件中。

本发明提供的支持重用的仿真模型系统,包括:模型逻辑信息1.1和模型执行代码1.2。模型逻辑描述信息1.1和模型执行代码1.2从文本和代码两个方面刻画仿真模型;所述模型执行代码1.2为实现了模型逻辑信息描述内容的、支持运行时刻动态加载的、可执行代码级的软件模块,所述模型逻辑描述信息1.1中包含模型执行代码1.2各子模块的函数和接口名称,使得模型使用者能够根据函数动态加载模型执行代码1.2并调用相关函数,使用模型。

本发明提供的支持重用的仿真模型系统,其模型执行代码1.2是能够支持运行时刻动态加载,并且支持利用函数名称动态调用函数的软件包,模型逻辑描述信息1.1中包含模型执行代码1.2各子模块的函数和接口名称,使得模型使用者能够根据模型逻辑描述信息1.1调用模型执行代码1.2内部各子模块的接口和函数,使用模型。

本发明提供的支持重用的仿真模型系统,具有仿真时间自主管理特点,在仿真运行过程中支持仿真时间自主推进,并能维护本模型时间与仿真系统全局时间的协调一致。

所述模型逻辑描述信息1.1,包括:模型名称、模型功能描述、模型接口函数描述、模型属性描述、模型输入端口信息描述、模型输出端口信息描述、模型事件响应信息描述、模型事件发布信息描述、模型仿真时间推进信息描述、模型资源信息描述。

所述模型执行代码1.2,是实现了模型逻辑信息的、可执行代码级的软件模块,包括:对象构造子模块1.2.1、属性初始化子模块1.2.2、对象调度子模块1.2.3、端口信息处理子模块1.2.4、事件信息处理子模块1.2.5、模型计算处理子模块1.2.6、仿真时间推进处理子模块1.2.7和仿真对象销毁处理子模块1.2.8。

所述对象构造子模块1.2.1负责根据模型使用者的需求利用仿真模型生成仿真对象,并把仿真对象交给对象调度模块。

所述属性初始化子模块1.2.2负责根据模型使用者的需求把仿真对象进行参数初始化,使仿真对象的状态转为准调度状态。

所述对象调度子模块1.2.3负责对仿真对象的运行逻辑进行维护,控制仿真对象的端口处理、事件处理计算处理。

所述端口信息处理子模块1.2.4负责仿真对象输入输出数据的接口连接关系配置,维护仿真对象数据的收发通道。

所述事件信息处理子模块1.2.5负责仿真对象的事件发送和响应处理,维护仿真对象事件的收发通道,能够事件信息包含HLA仿真协议的事件信息、DIS仿真协议的事件信息以及TCP、UDP数据报协议的事件信息等。

所述模型计算处理子模块1.2.6负责仿真对象功能与性能的仿真计算。

所述仿真时间推进处理子模块1.2.7负责仿真对象的时间推进管理,包括:物理时钟访问模块、外部时钟访问模块、推进策略配置模块和仿真时间自主管理模块。

所述仿真对象销毁处理子模块1.2.8负责仿真对象的注销和删除。

本发明供的仿真模型系统开发方法,其步骤如下:

1、构建仿真模型开发系统

所述仿真模型开发系统,包括:逻辑信息设计工具2.1、模型代码开发工具2.2、模型代码框架模板2.3、模型打包工具2.4;

构建仿真模型开发系统的步骤,具体如下:

1)新建一个文件夹,作为仿真模型开发系统的输出路径;

2)新建一个文件夹,作为仿真模型开发系统的临时路径;

3)把逻辑信息设计工具2.1的模型逻辑信息1.1保存路径配置为步骤2)所述的仿真模型开发系统的临时路径;

4)把模型代码开发工具2.2的模型执行代码1.2保存路径配置为步骤2)所述的仿真模型开发系统的临时路径。

5)把模型打包工具2.4的文件输入路径配置为步骤2)所述的仿真模型开发系统的临时路径;

6)把模型打包工具2.4的文件输出路径配置为步骤1)所述的仿真模型开发系统的输出路径。

2、根据真实对象仿真需求设计模型逻辑描述信息

1)利用逻辑信息设计工具2.1新建模型逻辑描述信息文件,并以模型名称命名该文件;

2)在逻辑描述信息文件ModelName.xml中Basic_Info标签处定义模型名称和开发者信息;

3)在逻辑描述信息文件ModelName.xml中Function_info标签处定义模型功能信息(可以包含多个功能项),包含功能项的名称和功能描述;

4)在逻辑描述信息文件ModelName.xml中<Property_info>标签处定义模型属性信息(可以包含多个属性),包含属性名称、属性类型和属性初值;

5)在逻辑描述信息文件ModelName.xml中<Interface_Info>标签处定义模型属性信息(可以包含多个接口),包含接口名称、接口参数;

6)在逻辑描述信息文件ModelName.xml中<InPort_Info>标签处定义模型输入端口(可以包含多个接口),包含端口名称、端口数据等;

7)在逻辑描述信息文件ModelName.xml中<OutPort_Info>标签处定义模型输出端口(可以包含多个接口),包含端口名称、端口数据等;

8)在逻辑描述信息文件ModelName.xml中<RespondEvent_info>标签处定义模型事件响应信息(可以包含多个事件),包含事件名称、事件参数等;

9)在逻辑描述信息文件ModelName.xml中<PromulgateEvent_info>标签处定义模型事件发布信息(可以包含多个事件),包含事件名称、事件参数等;

10)在逻辑描述信息文件ModelName.xml中TimeAdvanse_info标签处定义模型时间推进信息(可以包含多个事件),包含步长、推进方式等;

3、根据模型逻辑描述信息开发模型执行代码

1)根据模型逻辑描述信息,编辑模型源代码

利用软件开发工具,开发模型源代码;创建模型类,并在模型类中增加模型属性、功能函数、模型输入/输出接口函数、事件发送接收函数;

2)模型源代码嵌入模型代码框架模板

在模型代码框架模板构造仿真对象CreateSimObject函数中,增加上一步骤所开发模型类的构造;

3)编译模型,生成模型执行代码

利用软件开发工具,编译生成模型执行代码dll文件;

4、把模型逻辑描述信息与模型执行代码打包生成模型组件

利用winrar把模型逻辑描述信息文件和模型执行代码压缩打包为压缩文件,该压缩文件就是最终开发出的仿真模型。

步骤1所述的逻辑信息设计工具2.1,根据真实对象的仿真需求,进行模型逻辑信息设计,输出能够指导模型执行代码1.2开发、能够满足模型封装要求的模型逻辑描述信息1.1。

步骤1所述的模型代码开发工具2.2,为能够支持开发人员根据模型逻辑描述信息1.1进行软件代码编辑、编译、链接,能够生成软件模块库(软件包)和可执行程序的开发环境或开发工具。

步骤1所述的模型代码框架模板2.3,为实现了模型运行时刻通用逻辑的、支持模型源代码嵌入的代码模板,为模型开发人员提供通过对模型代码框架模板嵌入特定模型源代码并编译链接可以获得模型执行代码1.2的一套基础框架性、模板性代码。模型代码框架模板2.3,包括:对象构造部分2.3.1、属性初始化部分2.3.2、对象调度部分2.3.3、端口信息处理部分2.3.4、事件收发处理部分2.3.5、模型计算处理部分2.3.6、仿真时间推进处理部分2.3.7以及仿真对象销毁处理部分2.3.8。

步骤1所述的模型打包工具2.4是指能够把模型逻辑描述信息1.1与模型执行代码1.2组合成仿真模型系统1的工具等。

本发明提供的支持重用的仿真模型系统及其开发方法的优点是:

(1)本发明使得仿真模型存在形式由源代码段转变为已封装的模型文件,便于使用、管理、升级与维护。

(2)本发明提供的仿真模型系统使得仿真模型的使用由源代码级使用转变为执行代码级使用,直接在软件运行时刻加载使用,无需源代码嵌入、编译、链接等开发环节。

(3)本发明提供的仿真模型系统可以动态加载、即插即用,使得仿真软件中的仿真模型方便升级、替换。

(4)本发明提供的仿真模型开发系统具有模型代码框架模板,使用该开发系统开发仿真模型系统简单易行,工作量小。

附图说明

图1为本发明的仿真模型系统示意图;

图2为模型逻辑信息模块示意图;

图3仿真模型执行代码结构示意图;

图4为仿真模型开发系统示意图;

图5为仿真应用软件与仿真模型的现有集成关系图。

具体实施方式

下面参照附图1-5说明本发明的实施方式。

1.仿真模型系统

如图1所示,本发明提供的可重用仿真模型系统1包含:模型逻辑信息1.1和模型执行代码1.2。模型逻辑描述信息1.1和模型执行代码1.2从文本和代码两个方面刻画仿真模型。

所述模型执行代码1.2为实现了模型逻辑信息1.1的、支持运行时刻动态加载的、支持利用函数名称动态调用函数、可执行代码级的软件模块,使得模型使用者能够根据函数动态加载模型执行代码1.2并调用相关函数,使用模型。所述模型执行代码1.2可以采用.jar包和.net Assembly等格式的软件模块进行实现。

所述模型逻辑信息1.1中含有针对模型执行代码1.2的逻辑信息描述,为模型使用者使用模型执行代码1.2提供了足够的信息,如功能信息、函数信息、参数信息、接口信息等,使得模型使用者能够根据所提供信息动态加载模型执行代码1.2并调用相关函数,使用模型。

如图2所示,所述模型逻辑信息1.1的具体内容包含:模型基本信息、功能描述信息、属性信息、接口函数信息、输入端口信息、输出端口信息、事件响应信息、事件发布信息、仿真时间推进信息、依赖资源信息。模型逻辑信息1.1逻辑信息可采用文本方式进行描述,例如由XML语言描述,如下所示。

<Simulaiton_Model_Component_Discriotion>

    <Basic_Info>

        <Name>汽车</Name>

        <Author>张三</Author>

    </Basic_Info>

    <Function_info>

        <Funcion_Name>Goforward</Function_Name>

        <FunctionDescription>前进</FunctionDescription>

    </Function_fnfo>

    <Property_info>

        <PropName>Length</ProbName>

        <PropType>double</PropType>

        <PropValue>4.0</PropValue>

    </Property_info>

    <InPort_info>

        <InPortName>Accelerograph</InPortName>

        <DataInfo>double</DataInfo>

        <Period>0.5</Period>

    </InPort_info>

    <OutPort_info>

        <OutPortName>Speed</OutPortName>

        <DataInfo>double</DataInfo>

        <Period>30</Period>

    </OutPort_info>

    <RespondEvent_info>

        <EventName>BrakeEvent</EventName>

        <ParaInfo>BrakeValue</ParaInfo>

    </RespondEvent_info>

    <PromulgateEvent_info>

        <EventName>Flameout</EventName>

        <EventInfo>time</EventInfo>

    </PromulgateEvent_info>

    <TimeAdvanse_info>

        <TimeStep>0.05</TimeStep>

        <AdvanceType>主动</AdvanceType>

    </TimeAdvanse_info>

    </Simulaiton_Model_Component_Discriotion>

模型执行代码1.2从软件模块角度实现了模型逻辑信息,模型执行代码1.2中的函数、接口、事件等信息与模型逻辑信息1.1中提供的信息保持严格一致,使得模型使用者能够根据模型逻辑信息1.1动态加载模型执行代码1.2并调用相关函数,使用模型。

所述模型执行代码1.2是实现了模型逻辑信息1.1的、支持运行时刻动态加载的、支持利用函数名称动态调用函数、可执行代码级的软件模块。如图3所示,所述模型执行代码1.2包括:对象构造子模块1.2.1、属性初始化子模块1.2.2、对象调度子模块1.2.3、端口信息处理子模块1.2.4、事件信息处理子模块1.2.5、模型计算处理子模块1.2.6、仿真时间推进处理子模块1.2.7和仿真对象销毁处理子模块1.2.8。

所述对象构造子模块1.2.1负责根据模型使用者的需求利用仿真模型生成仿真对象,并把仿真对象交给对象调度模块。

所述属性初始化子模块1.2.2负责根据模型使用者的需求把仿真对象进行参数初始化,使仿真对象的状态转为准调度状态。

所述对象调度子模块1.2.3负责对仿真对象的运行逻辑进行维护,控制仿真对象的端口处理、事件处理计算处理。

所述端口信息处理子模块1.2.4负责仿真对象输入输出数据的接口连接关系配置,维护仿真对象数据的收发通道。

所述事件信息处理子模块1.2.5负责仿真对象的事件发送和响应处理,维护仿真对象事件的收发通道,能够事件信息包含HLA仿真协议的事件信息、DIS仿真协议的事件信息以及TCP、UDP数据报协议的事件信息等。

所述模型计算处理子模块1.2.6负责仿真对象功能与性能的仿真计算。

所述仿真时间推进处理子模块1.2.7负责仿真对象的时间推进管理,使得仿真模型系统具有仿真时间自主管理特点,在仿真运行过程中支持仿真时间自主推进,并能维护本模型时间与仿真系统全局时间的协调一致。

所述仿真对象销毁处理子模块1.2.8负责仿真对象的注销和删除。

在仿真运行时刻,模型执行代码1.2的内部具体流程:首先对象构造子模块1.2.1根据模型代码按需构造仿真对象,再是属性初始化子模块1.2.2初始化仿真对象的属性,对象调度子模块1.2.3开始调度仿真对象,调度过程中首先端口信息处理模块1.2.4从输入端口读取数据向输出端口输送数据,其次是事件信息处理子模块1.2.5检测并响应的外部事件,并发布自身产生的事件,接着是模型计算处理子模块1.2.6处理仿真对象单个步长内的功能仿真计算,模型计算处理后仿真对象等待仿真时间推进处理子模块1.2.7再次通知对象调度子模块,通知到来后对象调度子模块将再次调度仿真对象,重复上述调度过程,直到仿真对象仿真结束,最后仿真对象销毁处理子模块1.2.8销毁仿真对象。

2.仿真模型系统开发方法

本发明供的仿真模型系统开发方法,具体步骤如下:

(1)构建仿真模型开发系统的步骤。

(2)根据真实对象仿真需求设计模型逻辑描述信息的步骤。

(3)根据模型逻辑描述信息开发模型执行代码的步骤。

(4)把模型逻辑描述信息与模型执行代码打包生成模型组件的步骤。

本发明供的仿真模型系统开发方法的步骤(1)构建仿真模型开发系统中,如图4所示,本发明提供的仿真模型开发系统包含:逻辑信息设计工具2.1、模型代码开发工具2.2、模型代码框架模板2.3、模型打包工具2.4。

其中,逻辑信息设计工具2.1根据真实对象的仿真需求,进行模型逻辑信息设计,输出能够指导模型执行代码1.2开发、能够满足模型封装要求的模型逻辑信息1.1。逻辑信息设计工具2.1可采用XML文件编辑工具,例如Altova Spy等工具软件。

模型代码开发工具2.2是指能够支持开发人员根据模型逻辑信息1.1进行软件代码编辑、编译、链接,能够生成软件模块库(软件包)或可执行程序的开发工具,例如Visual Studio 2008。在本发明中,模型代码开发工具2.2支持开发人员在模型代码框架模板2.3中开发仿真模型源代码并编译生成模型执行代码1.2。

模型打包工具2.4是指能够把模型逻辑信息1.1与模型执行代码1.2组合成仿真模型组件1的工具,例如WinRar,WinZip等。

在仿真模型开发系统中,模型代码框架模板2.3是实现了模型运行时刻通用逻辑的、支持模型源代码嵌入的代码模板,为模型开发人员提供通过对模型代码框架模板嵌入特定模型源代码并编译链接可以获得模型执行代码1.2的一套基础框架性、模板性代码。

模型代码框架模板2.3包含对象构造部分2.3.1、属性初始化部分2.3.2、对象调度部分2.3.3、端口信息处理部分2.3.4、事件收发处理部分2.3.5、模型计算处理部分2.3.6、仿真时间推进处理部分2.3.7、仿真对象销毁处理部分2.3.8。

对象构造子部分2.3.1负责根据模型使用者的需求利用仿真模型生成仿真对象,并把仿真对象交给对象调度模块。

属性初始化子部分2.3.2负责根据模型使用者的需求把仿真对象进行参数初始化,使仿真对象的状态转为准调度状态。

对象调度子部分2.3.3负责对仿真对象的运行逻辑进行维护,控制仿真对象的端口处理、事件处理计算处理。

端口信息处理子部分2.3.4负责仿真对象输入输出数据的接口连接关系配置,维护仿真对象数据的收发通道。

事件信息处理子部分2.4.5负责仿真对象的事件广播和响应处理通道与处理逻辑,维护仿真对象事件的收发通道。

模型计算处理子部分2.3.6负责仿真对象功能与性能的仿真计算。

仿真时间推进处理子部分2.3.7负责仿真对象的时间推进管理,包括:物理时钟访问部分、外部时钟访问部分、推进策略配置模块和仿真时间自主管理部分。在运行时刻,首先推进策略配置部分读取策略配置信息,物理时钟访问部分读取本地机器时间,外部时钟访问部分接受外部仿真时间,仿真时间自主管理模块根据配置策略,在物理时间驱动下,推进本仿真对象时间按步长前进,并协调本仿真对象时间和外部仿真时间,周期性通知仿真对象调度模块进行模型计算。

仿真对象销毁处理子模块2.3.8负责仿真对象的注销和删除。

在仿真运行时刻,模型代码框架模板2.3的具体运行流程:首先对象构造子模块2.3.1根据模型代码按需构造仿真对象,再是属性初始化子模块2.3.2初始化仿真对象的属性,对象仿真调度子模块2.3.3开始调度仿真对象,调度过程中首先信息处理子模块2.3.4从输入端口读取数据向输出端口输送数据,其次是事件收发处理子模块2.3.5检测并响应的外部事件,并发布自身产生的事件,接着是模型仿真计算处理子模块2.3.6处理仿真对象单个步长内的功能仿真计算,模型计算处理后仿真对象等待仿真时间推进处理子模块2.3.7再次通知对象仿真调度子模块2.3.3,通知到来后对象仿真调度子模块2.3.3将再次调度仿真对象,重复上述调度过程,直到仿真对象仿真结束,最后仿真对象销毁处理子模块2.3.8销毁仿真对象。

本发明供的仿真模型系统开发方法的步骤(1)构建仿真模型开发系统的步骤,具体如下:

1)新建一个文件夹,作为仿真模型开发系统的输出路径;

2)新建一个文件夹,作为仿真模型开发系统的临时路径;

3)把逻辑信息设计工具2.1的模型逻辑信息1.1保存路径配置为步骤2)所述的仿真模型开发系统的临时路径;

4)把模型代码开发工具2.2的模型执行代码1.2保存路径配置为步骤2)所述的仿真模型开发系统的临时路径。

5)把模型打包工具2.4的文件输入路径配置为步骤2)所述的仿真模型开发系统的临时路径;

6)把模型打包工具2.4的文件输出路径配置为步骤1)所述的仿真模型开发系统的输出路径。

本发明供的仿真模型系统开发方法的步骤(2)根据真实对象仿真需求设计模型逻辑描述信息的步骤,具体如下:

1)利用逻辑信息设计工具2.1新建模型逻辑描述信息文件,并以模型名称命名该文件,例如ModelName.xml;

2)在逻辑描述信息文件ModelName.xml中Basic_Info标签处定义模型名称和开发者信息,例如:

<Basic_Info>

   <Name>汽车</Name>

   <Author>张三</Author>

</Basic_Info>

3)在逻辑描述信息文件ModelName.xml中Function_info标签处定义模型功能信息(可以包含多个功能项),包含功能项的名称和功能描述,例如:

<Function_info>

   <Function_Name>Goforward</Function_Name>

   <FunctionDescription>前进</FunctionDescription>

</Function_info>

4)在逻辑描述信息文件ModelName.xml中<Property_info>标签处定义模型属性信息(可以包含多个属性),包含属性名称、属性类型和属性初值,例如:

<Property_info>

   <PropName>Length</PropName>

   <PropType>double</PropType>

   <PropValue>4.0</PropValue>

</Property_info>

5)在逻辑描述信息文件ModelName.xml中<Interface_Info>标签处定义模型属性信息(可以包含多个接口),包含接口名称、接口参数,例如:

<Interface_info>

    <Interface Name>SimStep</Interface Name>

    <InterfacePara>StepTime</Interface Type>

    <InterfacePara_Type>double</Interface Type>

    <InterfacePara Value>0.1</Interface Value>

</Interface_info>

6)在逻辑描述信息文件ModelName.xml中<InPort_Info>标签处定义模型输入端口(可以包含多个接口),包含端口名称、端口数据等,例如:

<InPort_info>

    <InPortName>Accelerograph</InPortName>

    <DataInfo>double</DataInfo>

    <Period>0.5</Period>

</InPort_info>

7)在逻辑描述信息文件ModelName.xml中<OutPort_Info>标签处定义模型输出端口(可以包含多个接口),包含端口名称、端口数据等,例如:

<OutPort_info>

   <OutPortName>Speed</OutPortName>

   <DataInfo>double</DataInfo>

   <Period>30</Period>

</OutPort_info>

8)在逻辑描述信息文件ModelName.xml中<RespondEvent_info>标签处定义模型事件响应信息(可以包含多个事件),包含事件名称、事件参数等,例如:

<RespondEvent_info>

   <EventName>BrakeEvent</EventName>

   <ParaInfo>BrakeValue</ParaInfo>

</RespondEvent_info>

9)在逻辑描述信息文件ModelName.xml中<PromulgateEvent_info>标签处定义模型事件发布信息(可以包含多个事件),包含事件名称、事件参数等,例如:

<PromulgateEvent_info>

   <EventName>Flameout</EventName>

   <EventInfo>time</EventInfo>

</PromulgateEvent_info>

10)在逻辑描述信息文件ModelName.xml中TimeAdvanse_info标签处定义模型时间推进信息(可以包含多个事件),包含步长、推进方式等,例如:

<TimeAdvanse_info>

  <TimeStep>0.05</TimeStep>

  <AdvanceType>主动</AdvanceType>

</TimeAdvanse_info>

本发明供的仿真模型系统开发方法的步骤(3)根据模型逻辑描述信息开发模型执行代码的步骤,具体如下:

1)根据模型逻辑描述信息,编辑模型源代码;

利用软件开发工具,如Micrsoft VisualStudio2008,开发模型源代码。创建模型类,并在模型类中增加模型属性、功能函数、模型输入/输出接口函数、事件发送接收函数例如:。

public class CPlane:SimObj

     {

          virtual public void EventProcess(String CmdEvent)

          {/* 具体事件处理*/           }

          virtual public void RunStep(double simstep)

          {/* 具体模型计算处理*/       }

          virtual public void TakeOff(double simstep)

          {/* 具体起飞及其控制算法*/}

          virtual public void Landing(double simstep)

          {/*具体降落及其控制算法*/}

       }

2)模型源代码嵌入模型代码框架模板;

在模型代码框架模板构造仿真对象CreateSimObject函数中,增加上一步骤所开发模型类的构造,具体示例如下:

public class ModleFramework

{

     public SimObj CreateSimObject()

     {

          SimObj aObj=new Plane();

         //时间策略配置

          aObj.Timestrategy=″主动推进″;

          aObj.timestep=0.01s;

          return aObj;

     }

/*框架部分其它代码*/

 }

3)编译模型,生成模型执行代码;

利用软件开发工具,编译生成模型执行代码dll文件,例如Plane.dll。

本发明供的仿真模型系统开发方法的步骤(4)把模型逻辑描述信息与模型执行代码打包生成模型组件的步骤,具体如下:

利用winrar把模型逻辑描述信息文件和模型执行代码压缩打包为压缩文件,例如Plane.rar。该压缩文件就是最终开发出的仿真模型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号