基于自定义向导的通用实时半实物仿真代码自动生成方法.pdf
《基于自定义向导的通用实时半实物仿真代码自动生成方法.pdf》由会员分享,可在线阅读,更多相关《基于自定义向导的通用实时半实物仿真代码自动生成方法.pdf(9页珍藏版)》请在咨信网上搜索。
1、系统仿真学报系统仿真学报Journal of System Simulation第 35 卷第 10 期2023 年 10 月Vol.35 No.10Oct.2023基于自定义向导的通用实时半实物仿真代码自动生成方法基于自定义向导的通用实时半实物仿真代码自动生成方法刘紫寒,侯凌霄,李杨,王智广,张武龙(北京仿真中心 复杂系统建模与仿真全国重点实验室,北京 100854)摘要摘要:面向自动化、通用化半实物仿真能力提升需求,提出了一种基于自定义向导的通用实时半实物仿真代码自动生成方法。基于半实物仿真技术构建了模块化、通用化的代码模板框架文件和专业技术成果资源库;基于HTML+CSS+JavaScr
2、ipt语言完成了响应式前端界面和引擎脚本文件设计;开发了面向半实物仿真的通用自动代码生成软件AutoSimRTX,有效支撑了半实物仿真验证系统的构建和实现。关键词关键词:自动代码生成;半实物仿真;自定义向导;模板;AutoSimRTX中图分类号:TP391.9 文献标志码:A 文章编号:1004-731X(2023)10-2279-09DOI:10.16182/j.issn1004731x.joss.23-FZ0856引用格式引用格式:刘紫寒,侯凌霄,李杨,等.基于自定义向导的通用实时半实物仿真代码自动生成方法J.系统仿真学报,2023,35(10):2279-2287.Reference f
3、ormat:Liu Zihan,Hou Lingxiao,Li Yang,et al.An Automatic Code Generation Method for Generic Real-time Hardware-in-the-loop Simulation Based on Custom WizardJ.Journal of System Simulation,2023,35(10):2279-2287.An Automatic Code Generation Method for Generic Real-time Hardware-in-the-loop Simulation Ba
4、sed on Custom WizardLiu Zihan,Hou Lingxiao,Li Yang,Wang Zhiguang,Zhang Wulong(National Key Laboratory of Modeling and Simulation for Complex Systems,Beijing Simulation Center,Beijing 100854,China)Abstract:For the capability improvement demands of automation and generalization hardware-in-the-loop si
5、mulation system,an automatic code generation method for generic real-time hardware-in-the-loop simulation based on custom wizard is proposed.A modular and universal code template-based frame documents and professional resource library are constructed with years of technical accumulation in hardware-
6、in-the-loop simulation.The responsive front-ends and scripts are designed by HTML,CSS and JavaScript and an universal automatic code generation software AutoSimRTX is developed,which effectively supports the construction of hardware-in-the-loop simulation system.Keywords:automatic code generation;ha
7、rdware-in-the-loop simulation;custom wizard;template-based;AutoSimRTX0引言引言仿真技术以安全性、可重用性、经济性等特点,成为产品研制过程的有效支撑。随着科学技术的飞速发展,航天领域新型产品概念不断涌现,产品逐步向模块化、系列化发展。传统半实物仿真验证系统的研发模式已不再满足于高饱和、快节奏、低成本的研制需求,自动化、通用化半实物仿真能力提升迫在眉睫。实时仿真计算控制软件是半实物仿真系统的核心,其主要功能是依据通信协议实现产品实物模型、产品数学模型及仿真设备的闭环实时控制,模拟并验证产品在典型应用场景下的控制系统性收稿日期:2
8、023-07-07 修回日期:2023-09-19第一作者:刘紫寒(1996-),女,硕士,工程师,研究方向为制导控制系统半实物仿真。第 35 卷第 10 期2023 年 10 月Vol.35 No.10Oct.2023系统仿真学报Journal of System Simulationhttp:/www.china-能。传统实时仿真计算控制软件的研发模式存在3个问题:传统研发模式研发周期较长、成本高,实时仿真计算控制软件的研制大多从零开始,模型校核、接口设计、系统联调等环节均需投入较多研发资源和人力资源;以项目为牵引的软件设计存在大量重复工作,需要根据具体要求研制且输入会经常性调整,存在大量
9、重复工作且易发生重复性质量问题;模块化、通用化理念相对薄弱,接口板卡驱动等专业技术资源未有效分类整合,不足以形成“需求-资源-产品”的精准引导模式,年轻设计师上手困难。面向自动化、通用化半实物仿真能力提升需求,针对以项目为牵引的传统研制模式质量管控复杂、软件研发缓慢等问题,本文广泛调研国内外自动代码生成技术研究现状,以半实物仿真多年积淀的成熟技术成果为基础,提出了一种基于自定义向导的通用实时半实物仿真代码自动生成方法,运用模块化、通用化、自动化设计思想构建边界清晰、职责明确的专业技术成果资源库,并基于 Windows 7/XP 和 RTX2012 操作系统下的Visual Studio 200
10、8/2010开发了响应式前端向导界面,可引导用户依据半实物仿真验证需求完成后端项目部署、模板文件管理、模板渲染及拷贝,生成半实物实时仿真代码,大幅缩短软件的研制周期,实现研制效率和质量的双提升,有效支撑半实物仿真验证系统的构建和实现。1自动代码生成技术自动代码生成技术自动代码生成技术是一项多领域多学科交叉的系统性工程,可根据用户需求自动生成源代码1-2,具有代码风格一致性良好、易于修改和升级、减少重复性工作等优点,已广泛应用于嵌入式系统联合仿真、生成工具引擎研究、应用软件开发等方面。当前,自动代码生成技术主要分为4类:基于模板、基于模型驱动、基于对象关系映射3和基于深度学习4的自动代码生成技术
11、。基于模板的代码自动生成方法5-6由软件代码重用概念发展而来,对软件代码进行抽象、泛化后形成较为通用的模板,通过代码生成引擎依据不同的需求数据对模板进行渲染、转化,从而生成特定需求的程序代码。该方法具有快速高效、操作简单、针对性强的特点,适用于任务需求明确的软件系统。基于模型驱动的自动代码生成方法7-8首先将目标软件系统抽象为模型,而后基于模型到代码的映射规则自动生成代码。该方法不依赖于单一的语言和框架,具有开发效率高、可维护性可扩展性可移植性强的特点,但缺乏成熟的理论支持和转换工具,模型建立和转换过程较为复杂。基于对象关系映射的自动代码生成方法9-10则是基于面向对象和面向关系数据库的结合体
12、,其具体实现:根据软件的功能需求建立实体关系图,通过代码生成引擎生成相应的模型层、持久层、业务逻辑层和基本的展示层代码。该方法适用于实体关系明确、数据库系统完备的领域模型,但生成的模型相对复杂,效率较低。基于深度学习的自动代码生成方法11借助机器学习和深度学习算法,利用数据驱动构建自动代码生成的解决范式。该方法能够有效应对不同的开发环境,提升软件开发的效率和质量,降低代码编写的门槛。但在这个过程中需要用到大量的自然语言和代码作为训练集,针对复杂任务需求所生成的代码可能存在无法运行或无法满足全部需求的情况。综上所述,当前自动代码技术已经有了一定的技术积累和应用实践。其中,基于模板的自动代码生成技
13、术因实现简单、任务需求明确等特点被广泛应用于中小型企业。半实物仿真实验代码服务于系列化产品的控制系统性能验证,具有软件框架通用、实验资源库共用的特点。因此,本文提出了一种基于通用半实物仿真模板的方式进行 代 码 自 动 生 成 方 法,借 助 Microsoft Visual 2280第 35 卷第 10 期2023 年 10 月Vol.35 No.10Oct.2023刘紫寒,等:基于自定义向导的通用实时半实物仿真代码自动生成方法http:/www.china-Studio自带的VSWizard引擎,将任务需求输入自动转化为半实物仿真实验代码。2基于自定义向导的通用半实物仿基于自定义向导的通用
14、半实物仿真代码自动生成方法真代码自动生成方法Microsoft Visual Studio 是 Windows 平台下应用广泛的集成开发平台,在VS2005以上版本中提供了“自定义向导”的功能。其中,可视化界面可实现用户与 VSWizard 引擎的信息交互,而VSWizard引擎则依据交互信息、脚本文件、模板文件完成特定需求下的项目创建。使用VSWizard引擎生成的自定义向导可作为内部插件直接部署在Microsoft Visual Studio软件中,适用于当前框架+插件的软件应用模式。因此,本文采用VSWizard作为引擎提出了一种通用半实物仿真代码自动生成方法,其结构流程如图1所示。用户
15、通过向导界面完成任务需求的解析并生成相应的需求符号表,VSWizard引擎则根据需求符号表将模板文件渲染得到半实物仿真程序。2.1 向导与需求符号表设计向导与需求符号表设计本文基于HTML和CSS语言设计了各类设置的前端交互界面,引导用户完成指定需求的个性化配置。其中,HTML文档描述了人机交互对话框的页面布局,提供了实验室、接口板卡、通信协议、数据交互与存储等4类功能的个性化功能设置引导,并以超链接的形式实现功能间的快速检索定位;CSS文档则定义了下拉框、单选框、复选框等控件的外观和样式,譬如颜色、大小等。需求符号表是向导在执行过程中收集和使用信息的字典,是前端界面设置与后端项目部署数据交互
16、的桥梁,其交互机理如图2所示。在前端HTML文件中,可以使用 windows.external 对象或者声明一系列基于用户动作的符号添加到需求符号表中,这些符号具有唯一性,是对用户在前端界面自定义动作的注解,将可视化的界面语言翻译成布尔值、数字、字符串等在内的机器语言。在后端js脚本文件中,使用Wizard对象访问需求符号表,根据各个符号的取值来实现基于用户选择的模型设置、仿真设备设置等基础资源个性化配置。此外,共享内存设置、实验参数设计等模块与半实物仿真软件的非实时人机交互部分(Windows进程)强相关,通过导入XML配置文件,结合时间和事件混合驱动的方式实现。2.2 模板文件设计模板文件
17、设计在基于模板的自动代码生成方法中,包含各种预置定义的模板是不可或缺的一部分。根据模板内容可将模板文件分为固定模板文件和可变模板文件。固定模板文件是指经过严格测试的预定义的固定内容,在代码生成过程中由生成引擎VSWizard直接导入到代码中,内容不会发生任何变化。可变模板文件则是指根据功能需求可变的框架性实现,需要生成引擎VSWizard根据具体的功能参数对其进行裁剪、填充、细化处理,形成具体的代码文件12。图1 基于自定义向导的通用半实物仿真实时代码自动生成结构示意图Fig.1 Structure diagram of automatic code generation for generi
18、c real-time hardware-in-the-loop simulation based on custom wizard 2281第 35 卷第 10 期2023 年 10 月Vol.35 No.10Oct.2023系统仿真学报Journal of System Simulationhttp:/www.china-固定模板文件是基于半实物仿真技术成果的模块化、通用化的专业技术成果资源库和接口。专业技术成果资源库包括实验室仿真设备控制、接口板卡驱动、产品模型、通信协议、坐标系转换等专业技术代码库。为兼顾各功能模块间的互换、组合能力,采用模块化设计思想,结合模板指令进一步梳理构建出互换
19、性强的通用化资源库接口文件,为资源库文件配备了完备的输入输出接口,预留模型静态链接库/动态链接库接口,便于向导进行参数匹配。可变模板则是在系统梳理了半实物仿真实验流程的基础上,形成的基于Window和RTX的初始化设置、实时模型解算和控制的通用化顺序执行代码框架。自动代码生成引擎VSWizard可以根据需求符号表中的符号将抽象化的代码框架模板实例化,生成满足特定需求的半实物仿真程序。模板框架文件的片段如下:模板框架文件片段代码段功能:添加头文件#include!output PROJECT_NAME.h!if LAB_TYPE_1|LAB_TYPE_2#include SimLab.h!end
20、if!if LAB_TYPE_3#include SimulationDevice.h!endif其 中,PROJECT_NAME、LAB_TYPE_1、LAB_TYPE_2、LAB_TYPE_3均为需求符号表中的 符 号,由 前 端 向 导 界 面 传 出。!output PROJECT_NAME 为 打 印 功 能,输 出 符 号PROJECT_NAME的值。!if!endif为组合使用的判断语句,如果!if内的符号为1,则在生成的代码中保留!if!endif之间的语句,反之从模板中裁剪!if!endif及之间的语句。图3给出了可变模板和固定模板间的调用示意图。专业技术成果资源库及通用化接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 自定义 向导 通用 实时 实物 仿真 代码 自动 生成 方法
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。