文摘

模型重用的一个重要手段来满足需求发展复杂的仿真模型。一个有效的方法来实现模型的可重用性是建立标准模型规范规范包括接口规范和表示。通过标准化模型的外部接口,可重用的组件模型框架(RCMF)达到模型可重用性作为一个接口规范。然而,RCMF目前发达只是通过手工编程模型。除了实现模型的业务逻辑,modeler还应该确保模型严格遵循可重用的框架,这是非常分散的。的教学,缺乏模型描述信息模型重用或集成。为了解决这些问题,我们首先探索了一种基于xml的模型描述文件完成RCMF作为模型表示,然后提出一种开发tool-SuKit RCMF模型。模型描述文件描述RCMF模型,可用于再生模型和指导模型的集成。SuKit可以生成一个骨架RCMF模型连同model-customized描述文件的配置信息。Modeler然后只需要专注于模型处理逻辑。 The case study indicates that SuKit has good capability of developing RCMF models and the well-formed description file can be used for model reuse and integration.

1。介绍

快速响应模型发展需求在开发复杂仿真应用程序中,模型重用被认为是一种很有前途的方法。它提高了开发效率,保证模型的可靠性和减少工程的努力以及资源成本(<一个href="#B1">1- - - - - -<一个href="#B3">3]。模型重用已被广泛研究领域的建模与仿真(M&S)。现有可重用模型开发方法主要可以分为四类:基于统一的玛莎百货(a)重用语言;(b)重用基于标准模型规范(RBSMS);基于通用模型(c)重用;和基于统一的玛莎百货(d)重用环境(<一个href="#B4">4]。通过建立标准模型规范,规范包括接口规范和表示RBSMS极大地实现了模型的可重用性和可移植性。接口规范标准化模型接口,定义了统一的模型结构,这使得该模型容易被重用和集成在不同的仿真应用。模型表示描述了独立于平台的模型语言,可以用来生成一个特定于平台的模型根据特定的仿真应用。

在我们以前的工作(<一个href="#B1">1),一个可重用的组件模型框架(RCMF)指导modeler发展提出了可重用模型作为一个接口规范。RCMF集六个标准接口来封装一个仿真计算模块。RCMF模型与仿真应用程序只能通过统一的外部接口。RCMF已成功应用于一些复杂的分析仿真应用。

然而,目前的开发方法来开发RCMF模型仅仅是手工编写模型代码。modeler使用这种开发模式,不仅需要实现模型处理逻辑,还需要确保模型严格遵循标准的可重用的框架,这使得modeler不能专注于模型函数的实现。类似的框架为每个模型需要手动编码,重复和无聊。缺乏足够的模型描述信息,以便模型用户需要一个面对面的援助从模型开发者集成模型时,更不用说重用他们。

出于这一点,我们首先探讨一个独立于平台的模型描述文件为每个RCMF模型,然后建立了一个半自动RCMF模型开发tool-SuKit建模者。

该模型描述文件进一步补充RCMF作为一种模型表示。写在XML和描述RCMF模型的足够的信息,如模型的基本信息、模型成员和外部接口模型。可以使用描述文件中描述的信息不仅指导模型用户集成模型也相应RCMF再生模型。SuKit为modeler提供了一个图形界面配置模型,然后生成一个标准化RCMF骨架模型连同model-customized描述文件的配置信息。SuKit使可重用模型的开发更加容易。基于框架代码,modeler然后只需要集中精力处理逻辑的实现模型。SuKit支持modeler实现模型处理逻辑通过导入计算模型或重新实现它。modeler进一步编辑模式时,SuKit实现六方同步机制在配置信息同步数据,模型代码,描述文件。由于同步机制,两种模型头文件和描述文件可以解析SuKit并启动模型生成。编译器集成在SuKit将完成模型和包模型库文件。 The final products SuKit is providing are a RCMF model in the form of source model or binary model and a corresponding description file. Then the model can be integrated in a simulation application with the instruction from the description file.

开发一个简单的案例研究雷达模型SuKit表明SuKit具有良好的能力发展RCMF模型和结构良好的描述文件可用于模型集成和重用。

部分<一个href="#sec2">2总结了相关的可重用模型开发方法,讨论了可重用性在RCMF实现。部分<一个href="#sec3">3介绍了设计模型描述文件。节<一个href="#sec4">4,我们精心设计的架构SuKit及其同步机制。部分<一个href="#sec5">5描述的情况下发展同SuKit雷达模型。最后,我们的结论和未来的工作将在部分<一个href="#sec6">6

2.1。相关的可重用模型的开发方法

RBSMS是一种有效的手段实现模型的可重用性和有几个属于RBSMS模型重用方法。输出提出了基本对象模型(BOM) (<一个href="#B5">5,<一个href="#B6">6)重用在HLA仿真对象模型(<一个href="#B7">7]。SMP / SMP2 [<一个href="#B8">8,<一个href="#B9">9)来自欧洲航天局(ESA),它是建立在任何平台跨不同的应用程序重用模型支持SMP /重度。SMP / SMP2标准化之间的接口仿真模型和仿真的基础设施,以及仿真模型定义语言(SMDL)提出了代表描述性SMP模型。基于开发者(SEM / MB<一个href="#B10">10,<一个href="#B11">11)也是一个成功的规范模式重用。它代表了模型开发者形式化和DEVS-Bus仿真协议充当接口规范。

虽然这些方法可以重用模型在特定的仿真平台,仍然存在一定的局限性。BOM的接口规范是基于HLA-OMT, BOM模型运行依赖于RTI提供的服务。模型在SEM / MB还应该在仿真平台上运行支持开发者规范化。BOM和SEM / MB缺乏技术将概念模型转换为仿真模型(<一个href="#B4">4]。至于SMP2, SMP2_Cpp_Mapping [<一个href="#B12">12)实现为SMP2 SMDL元模型到模型的映射代码,但模型SMP2仍然依靠从重度的服务。所有这些模型重用方法不能重用模型在不同的仿真平台,为从某些模拟引擎模型传递服务。

2.2。可重用的组件模型框架和可重用性

RCMF提出了朱et al。<一个href="#B1">1),已成功应用于一些复杂的仿真应用。考虑到模型与统一的接口很容易被重用和集成应用,RCMF集六个标准服务接口来封装一个仿真计算模块。实际计算模块由领域专家也可以用于调用应用程序是否正确。但多样的界面计算模块的枷锁模拟应用程序的发展,作为一个应用程序需要实现某些特殊的调用逻辑计算模块。RCMF解决这个问题通过与标准接口封装计算模块,包括状态恢复界面,输入界面,动态数据驱动的接口,业务流程界面,状态界面,和输出接口。

不同于上面的方法,接口中指定RCMF抽象模型的执行法律在模拟应用程序。RCMF独立于特定的仿真平台。RCMF模型是一个独立于平台的黑盒,它只通过标准接口与外界交互。在每一个模型,建模者只需要专注于模型函数的实现。RCMF适用于不同的仿真平台仿真模型,如表(<一个href="#B13">13),HLA,姿势<一个href="#B14">14),和魅力+ + (<一个href="#B15">15]。

可重用性意识到RCMF主要反映在三个方面。(1)RCMF模型是一个可重用的计算模型。它不必关心底层的工作,就像时间保持,事件管理和调度,可以重用模型在不同的仿真平台。(2)RCMF模型可以在仿真应用程序中重用。由于统一接口,RCMF模型可以用来组装应用程序组件。只要我们保持标准接口不变,可以重用模型无论是否升级或修改。(3)与标准接口封装后,现有的计算模型也可以在新的应用程序中重用。然而,RCMF只指定了接口模型。一个独立的完整的模型表示机制是必要的。

3所示。独立于平台的模型描述文件

XML是一种广泛使用的标记语言。它有很多好的特征,如自我描述和数据结构,可扩展的,独立于平台和机器可读的。在仿真领域,XML也有广泛的应用。例如,军事仿真场景是用XML编写的。SRML [<一个href="#B16">16]和SML [<一个href="#B17">17,<一个href="#B18">18M&S)都是基于XML的语言。和SMP2还设计了基于xml的SMDL描述目录,装配,和进度。鉴于这些良好的XML属性及其描述能力,我们首先定义一个基于XML的描述文件为每个RCMF模型。

对于每个RCMF模型,统一的外部接口,每个接口的形式是固定的。我们限制每个接口拥有只有一个参数,这一参数描述文件中的信息项可以表示一个接口。如果modeler模型设计的任何成员,每个成员的信息也应该描述文件中记录的。支持回滚机制乐观同步算法,每个成员都需要设置一个属性字段表示成员是否可能是一个状态函数。状态变量是由状态恢复界面和状态界面。这两个接口的参数信息不需要记录,作为参数总是一个字符串中所有的状态变量。编码的字符串是得到界面和解码状态恢复界面。业务处理接口是固定的模型,也不需要被记录下来。模型的类型成员或接口的参数可以是一个用户定义的数据类型。使模型用户清楚用户定义的数据类型,它还应该描述文件中描述。 In addition to the above information, the model basic attributes like model name and model function also need to be configured in the description file. Figure<一个href="//www.newsama.com/journals/ddns/2015/580328/fig1/" target="_blank">1的元模型描述文件。不同于RCMF中指定的接口,我们创建一个初始化第一次调用的接口来完成初始化任务的状态恢复界面。

算法<一个href="//www.newsama.com/journals/ddns/2015/580328/alg1/" target="_blank">1给模型描述文件的一个实例。描述文件有三层结构(除了的描述用户_定义_数据类型,它也有一个三层结构)。第一层是根节点模型的属性字段模型节点描述以下基本信息:ModelName,名称空间,函数,调用_时间,额外的指令。的孩子模型在第二层节点进行组织,将组织模型的信息。第一个子节点ModelMembers,其中每个子节点成员模型描述了一个成员。的属性字段成员,一个记录会员信息:的名字,数据类型,VariableType,IsStateVariable,指令。的第二个孩子模型节点的节点Initialize_parameters收集一组初始化接口参数。每一个参数节点有五个属性:的名字,数据类型,VariableType,相应的_模型_成员,指令。下面的第三、第四和第五的子节点模型描述了动态数据驱动的接口参数,输入参数和输出参数分别。参数描述的四个接口是相同的规则。

< xml version = " 1.0 " encoding = " utf - 8 " >
<模型ModelName = =“YHSim”功能=“testModel”名称空间”“InvocationTime = "指令= " " >
< ModelMembers >
<成员名= " m_point”数据类型=“点”VariableType =“指针”IsStateVariable =“是”指令= " / >
<成员名= " m_speed”数据类型=“速度”VariableType =“指针”IsStateVariable =“不”指令= " / >
<成员名= " m_result”数据类型=“结果”VariableType =“VECTOR_POINTER_PTR”IsStateVariable =“是”
指令= " " / >
< / ModelMembers >
< Initializing_parameters / >
< Driven_parameters / >
< Input_parameters >
< Parameter Name = "速度"数据类型=“速度”VariableType =“指针”Corresponding_model_member =“m_speed”
指令= " " / >
< Parameter Name = "点"数据类型=“点”VariableType =“指针”Corresponding_model_member =“m_point”
指令= " " / >
< / Input_parameters >
< Output_parameters >
<参数Name = "结果"数据类型=“结果”VariableType =“VECTOR_POINTER_PTR”
Corresponding_model_member = " m_result "指令= " " / >
< / Output_parameters >
<宏>
<宏名称= "拜" Value = " 3.14 " / >
< /宏>
< HeaderFiles文件= " iostream.h; " / >
< LibFiles文件= " caputationalModule.so; " / >
< User_defined_dataTypes >
< User_defined_dataType TypeName =名称空间“点”=“YHSim”类型=“结构”指令= " " >
<成员名= " x "数据类型=“双重”VariableType =“变量”指令= " / >
<成员名= " y "数据类型=“双重”VariableType =“变量”指令= " / >
< / User_defined_dataType >
< User_defined_dataType TypeName = "速度" Namespace =“YHSim”类型=“结构”指令= " / >
< User_defined_dataType TypeName = "结果" Namespace =“YHSim”类型=“结构”指令=“嵌套结构”/ >
< User_defined_dataType TypeName = =“YHSim”类型=“testEnum”名称空间“枚举”指令= " " >
<成员名= " " Value = " 1 " / >
<成员名= " B " Value = " 2 " / >
< / User_defined_dataType >
< User_defined_dataType TypeName = =“YHSim”类型=“testUnion”名称空间“联盟”指令= " " >
<成员名= " "数据类型= " / >
< / User_defined_dataType >
< / User_defined_dataTypes >
> < /模型

我们设置了两个字段,数据类型VariableType来描述一个参数的类型。两个字段将协助modeler配置类型。把一个变量一个,例如;它可以定义为int一,int 一个,int [10],或int [10] 一个。和类型int也可以字符串。因此,它需要预装所有可能的类型选择modeler。让数据类型原始类型等int,,字符串,让VariableType的combining-mode复杂类型,如指针,数组,指针数组或向量。通过结合两个字段,它是更容易在modeler中定义变量一个作为int 一个向量<字符串> 一个。的数据类型也可能是一个用户定义的复杂数据类型描述的是哪一个User_defined_dataTypes在描述文件块。Modeler可以定义一个结构体,一个联盟,一个枚举,或者一个。每一个User_defined_dataType节点描述一个复杂的用户定义的数据类型和子节点成员描述数据类型的成员信息。

每个模型的属性,IsStateVariable表明,成员是否可能是一个模型的状态变量。和每个接口的属性参数,Corresponding_model_member哪个模型成员指出,与界面相关的参数。

事实上,模型描述文件不仅具有描述性的功能,而且还可以利用再生一个模型。模型描述文件对应一个模型类,也就是说,模型头文件,以便描述文件还记录头文件,库文件和宏定义中使用的模型代码。

模型描述文件记录足够的信息可以用来指示模拟application developer集成模型。还可以解析和独立于平台的基于xml的描述文件生成一个特定于平台的(c++或Java) RCMF模型,实现了模型的可重用性。与SMP目录文件用SMDL相比,我们的描述文件层次结构更加可读。SMDL建造了一个新的数据类型系统声明一个变量,而复杂的目录。我们不需要构建系统。模型用户模型信息来自每个字段的字面意思。和生成模型的映射规则编码的描述文件也很容易。

4所示。可重用模型开发工具SuKit

modeler RCMF模型方便、高效地发展,一个有用的工具是要求发展。有几个仿真工具支持可重用模型开发,如SimSat [<一个href="#B19">19],UMF [<一个href="#B20">20.,<一个href="#B21">21),和马克斯<一个href="#B22">22]。但主要是用于SMP2模型发展,不能申请RCMF模型的发展。在本节中,我们将详细说明RCMF模型开发工具,SuKit。

4.1。SuKit的体系结构

SuKit基于Eclipse RCP开发框架。它主要由以下功能模块:配置模块、同步模块、处理模块和模型代码。SuKit的体系结构如图<一个href="//www.newsama.com/journals/ddns/2015/580328/fig2/" target="_blank">2

在左边虚线椭圆,SuKit有三个可能的输入,模型配置信息,描述文件,头文件。任何三个输入将启动SuKit模型的发展。在第一个输入模式中,Modeler配置模型信息图形配置界面,然后配置信息记录在数据类DataModel保持同步模块。的信息,同步模块生成头文件和源文件一起骨架模型模型描述文件。创建一个模型项目命名为modeler配置也组织这些生成的文件在同一时间。同步模块也可以生成骨架模型项目的输入模型描述文件或头文件。图<一个href="//www.newsama.com/journals/ddns/2015/580328/fig3/" target="_blank">3是项目的结构模型。在每个模型项目中,有四个文件夹:包括,自由,autoG,输出。的包括文件夹收集头文件包含在模型代码,而下自由文件夹是库文件,例如,动态链接库的计算模块。生成的文件模型描述文件,头文件、源文件,和makefile将代码放置在用于制造模型autoG。和输出文件夹设置为收集模型的最终产品。

生成的模型项目在同步模块是一个中间产品。Modeler需要进一步实现模型的处理逻辑。SuKit支持两种实现模式:(1)计算模块的库文件导入自由文件夹,然后实现处理逻辑计算模块通过调用函数。(2)实现了处理逻辑直接基于生成的模型框架。Modeler也可以在必要时创建私有函数模型中的类。完成模型代码后,modeler可以编译和调试模型SuKit然后最终的模型代码打包成一个库文件。

与每个模型和模型描述文件捆绑用户所需的文件模型。它为应用程序开发人员提供了详细描述信息集成模型。和仿真模型的形式交付源代码或二进制模式,根据特定的仿真应用。

4.2。SuKit的同步机制

SuKit的模型信息有三种不同的观点:配置中的数据接口,模型头文件和模型描述文件。SuKit实现同步的同步模块的三个观点。MVC模式的同步模块的设计。我们设定一个数据类DataModel保持模型信息。三个之间的同步视图如图<一个href="//www.newsama.com/journals/ddns/2015/580328/fig4/" target="_blank">4

同步有两种类型的连接图。冲一个不同的视图显示一个视图之间的数据可以被转换到另一个,但它不是一个直接转换。视图之间的同步是实现通过第二连接之间的转换DataModel和视图。通过调用所提供的托架DataModel在配置接口,数据记录到数据类。和接口也可以获取和显示的数据DataModel通过获得。与XML DOM中提供读者,SAXReader描述文件中的信息可以很容易地解析,然后记录到DataModel和数据DataModel也可以写进通过XMLWriter描述文件。

之间的转换DataModel头文件和模型非常困难。我们建立了一个映射规则,开发了一个代码生成器生成标准头文件中的数据DataModel。至于模型用c++头文件编码的编程语言,它可以与CDT解析器解析。但解析的结果是一个抽象语法树(AST),这需要进一步分析之前我们获得想要的信息。更重要的是,在AST所有评论语句组织在一起,一个链表,导致这一事实很难找出相应的注释语句和功能之间的关系。我们在每个评论语句添加一个独特的标签。和标签可以根据相应的构造函数声明。标签,很容易找到合适的评论中所有评论语句时为成员或一个接口模型参数解析的头文件。然后头文件可以同步到数据模型DataModel一无所有。

我们覆盖保存文本编辑器的功能。当进行保存操作,我们调用相应的同步进程同步编辑头文件DataModel描述文件,编辑描述文件相同。六个方向转换不仅实现了数据之间的同步类和每个视图,但也使SuKit有良好的灵活性,任何的三个(配置信息,描述文件、头文件)可以SuKit的输入。

5。案例研究:开发一个说明性的雷达与SuKit模型

在本节中,我们将提出一个简化雷达模型的开发过程与SuKit。在复杂的军事仿真、雷达的仿真模型是一种常用的组件模型,可以集成在一艘军舰或一架飞机。雷达的主要功能是检测、位置、搜索和跟踪。

5.1。设计的雷达模型

这里开发的雷达模型是一个通用的模型。我们可以得到不同的雷达实例初始化后雷达与特定的性能参数和部署信息。初始化信息来自仿真场景和配置雷达通过调用初始化接口。过程的模拟、雷达发送并接收回波信号模拟的直接目标发送信号,雷达。输入信息的雷达目标回波信号。然后用信号和雷达模型计算提供信息的控制中心检测到目标,包括目标的基本信息,目标位置,其飞行速度。简化雷达模型不需要任何动态数据。每个接口的参数信息设计如表所示<一个href="//www.newsama.com/journals/ddns/2015/580328/tab1/" target="_blank">1。由于篇幅的限制,成员为雷达设计模型表中没有列出。

5.2。与SuKit发展雷达模型

运行SuKit并点击新模式按钮。然后modeler配置上面的弹出WizardDialog雷达模型的信息。配置过程清晰,我们说明数据<一个href="//www.newsama.com/journals/ddns/2015/580328/fig5/" target="_blank">5和<一个href="//www.newsama.com/journals/ddns/2015/580328/fig6/" target="_blank">6。显著的数量在每个页面显示了向导页面的顺序。对话框的配置过程模型描述文件的结构是一致的。第一个页面的基本信息配置雷达模型,包括模型名称,名称空间,函数,调用时间和指令。第二页提供的接口定义用户定义数据类型和所有用户定义的数据类型用于表<一个href="//www.newsama.com/journals/ddns/2015/580328/tab1/" target="_blank">1在这个页面中创建。与添加在第三页功能,我们可以定义雷达模型的成员。第四页雷达的配置初始化接口参数模型。然后配置输入接口参数,输出接口参数和动态数据驱动的接口参数设计表<一个href="//www.newsama.com/journals/ddns/2015/580328/tab1/" target="_blank">1在接下来的页面。随着雷达模型不需要任何动态数据,第七页,driven-parameters配置页面,没有项目。最后一页配置宏、头文件和库文件中使用雷达模型代码。

配置后,SuKit雷达在当前工作区中创建一个模型项目,并将其添加到模型树在navigator视图中进行管理。图<一个href="//www.newsama.com/journals/ddns/2015/580328/fig7/" target="_blank">7给创建的快照的SuKit雷达模型。在navigator视图中,蜱虫的图标雷达,雷达模型是活跃的项目工作区。在雷达模型中,有四个文件夹,包括,自由,autoG,输出。在autoG生成的文件,包括头文件雷达。h,源文件的雷达。雷达cpp、描述文件。xml和makefile。在正确的文本编辑器打开三个文件,活动的页面显示了源文件的一个片段Radar.cpp。控制台打印底部modeler SuKit运作时的实时信息。目前显示的信息目录信息的雷达选择活动项目。

雷达记录的描述文件生成整个配置信息后,由严格的格式设计部分<一个href="#sec3">3。在第一页的信息记录为根节点的属性。都写在和用户定义的数据类型User_defined_DataTypes块。然后剩下的信息被组织在相应的子节点。

生成的头文件中说明了算法<一个href="//www.newsama.com/journals/ddns/2015/580328/alg2/" target="_blank">2。这是一个头文件的代码结构类似的信息省略。配置信息是完全映射到的头文件中。除了信息映射到功能代码,生成的指令信息作为一个声明发表评论。每个评论的开头,构造字符串前缀符号@是标签组的同步。

/ * *
*雷达头文件
* @Function:检测目标
* @InvocationTime:定期调用
* @Instruction:简化雷达模型下的可重用的组件模型框架。
* /
# include < iostream >
#定义Pai 3.14
#定义e 2.7183
使用名称空间性病;
名称空间YHSim
/ * *
* User_defined_dataTypes
* /
/ / @struct_TargetInf名称空间:YHSim;指令:结构的取向
struct TargetInf {
/ /结构体成员
};
/ /其他user_defined数据类型
类雷达{
私人:
/ / @model_member_radarName IsStateVariable:不;指令:雷达的名字
字符串radarName;
速度* targetVelocity;
公众:
雷达();
~雷达();
/ /默认初始化函数没有参数
int初始化();
/ / @initialize_PerformancePara_Pointer对应:performancePara;指令:init
int (PerformancePara * PerformancePara)进行初始化;
/ / @initialize_DdeploymentInf_Pointer对应:xxx;指令:xxx
int (DdeploymentInf * deploymentInf)进行初始化;
/ / @input_EchoSignal_Pointer对应:xxx;指令:xxx
int SetInputData (EchoSignal * EchoSignal);
/ / @output_TargetInf_Pointer对应:xxx;指令:xxx
int GetOutputData (TargetInf *目标);
int SetSimuStatus(字符串& SimuStatus);
int GetSimuStatus(字符串& SimuStatus);
int ModelProcess(双dSimuTime);
};
}

完成雷达通过调用函数的处理逻辑的导入库文件计算雷达模型,这是放置在自由文件夹中。SuKit使最终产品的模型输出文件夹,雷达。是编译后的雷达模型的动态库文件。

SuKit提供了丰富的工具栏。前三个行动应对三个输入模式,分别。第一个是新模式按钮,弹出配置wizardDialog。SuKit然后从配置将开发RCMF模型。第二个按钮是导入按钮。它会弹出一个fileDialog modeler模型选择一个头文件来生成一个模型描述文件。第三个按钮是也导入按钮。但modeler中选择一个描述文件,描述文件利用代码生成模型。

5.3。讨论

配置的模型信息,SuKit与头文件生成一个模型,一个源文件,描述文件。仿真模型,生成的头文件和描述文件是完整的。Modeler只需要在源文件中实现模型的处理逻辑。如果得到了一些修改或补充,modeler可以编辑在一个地方和SuKit将信息同步到所有文件。然而,在手动发展模式,modeler需要头文件代码相同的模型信息到模型和描述文件。modeler不应该忘记做相应的修改的描述文件如果他修改头文件中的任何信息,反之亦然。图<一个href="//www.newsama.com/journals/ddns/2015/580328/fig8/" target="_blank">8给发展中时间相同的模型SuKit和手动。手动比较与发展中,SuKit节省了许多时间在modeler中只需要配置模型的主要信息,然后SuKit将生成标准模型代码描述文件。此外,通过解析头文件,SuKit还可以生成相应的文件描述现有RCMF手工模型。

6。结论和未来的工作

目前,建模者主要开发RCMF模型通过手动编写程序代码。建模者需要编写类似的框架为每个模型,重复和无聊。和建模者也需要编写额外的文件来描述模型。建模者不能专注于处理逻辑的实现模型。在本文中,我们首先设计了一个独立于平台的模型描述文件模型表示,这是有用的模型集成和重用。然后我们开发了RCMF模型开发tool-SuKit-to协助建模者RCMF模型方便、高效地发展。SuKit RCMF车型中有很好的能力。模型描述文件不仅可以连同模型生成,也可以由SuKit解析和使用再生一个特定RCMF模型。SuKit,建模者只需要专注于模型的功能。工作模式将由SuKit重用。 As for our future work, we plan to further enrich the model development capability of SuKit, so that SuKit can generate RCMF model for different platforms with the description file.

利益冲突

作者宣称没有利益冲突有关的出版。

确认

作者感谢中国国家自然科学基金委的支持(没有。61170048),国家重点实验室的研究项目的国防科技大学高性能计算(没有。201303 - 05),研究基金会对中国高等教育的博士项目(没有。20124307110017)。