[发明专利]一种基于注释的仿真代码同步生成方法有效
申请号: | 201410445887.5 | 申请日: | 2014-09-03 |
公开(公告)号: | CN104199664B | 公开(公告)日: | 2017-06-06 |
发明(设计)人: | 黄雨;黄舒志;张世琨 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/455 |
代理公司: | 北京万象新悦知识产权代理事务所(普通合伙)11360 | 代理人: | 朱红涛 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 注释 仿真 代码 同步 生成 方法 | ||
技术领域
本发明提供了一种基于代码生成实现软件仿真与实时仿真之间实现设计复用、缩短工作周期的方法。具体涉及使用一种基于注释和特殊标注规则的自动化代码导出和代码逆向方法,实现软件的非实时仿真和实时仿真之间使用代码工程进行同步沟通。
背景技术
仿真技术是一门多学科的综合性技术,它以控制论、系统论、信息技术和相似原理为基础,以专用设备和计算机为工具,利用系统的模型对实际的或设想的系统进行动态试验。通过对现实系统的模仿,获取某些必要信息,然后解决现实生活中出现的问题。随着科技的飞速发展,仿真技术在诸多领域中发挥着日益重要的作用,其理论与方法的研究也在不断深化发展着。软件仿真技术也在这个过程中得到了长足的发展,软件仿真具有建模快速、对仿真人员编程知识要求不高、调参方便等优点。软件仿真也被应用到军事和民用领域的方方面面。
在传统的控制理论研究中,一般都可以利用上述提到的仿真软件的功能方便地进行控制规律的设计和仿真,但是这些仿真大部分为非实时仿真,模型中的硬件环节由数学模型来替代。但对于一些如串口通信等对于仿真实时性要求高的场合,往往达不到预期的控制效果;而且离线仿真往往不能对内存、接口和通信等实时参量进行评价,从而设计者必须不断对自身的设计做出调整,开发周期相对较长。在一般的仿真研究院中,仿真人员往往都会采用专门的仿真机进行实时仿真测试,这是使用仿真软件所替代不了的。而这些仿真机接收的模型语言有很大一部分是以C/C++为主的。而传统的仿真研究院工作方式是仿真人员先自己设计并开发C/C++的仿真底层代码,根据测试结果重新修改代码。由于仿真机的运行耗费较高,且直接对代码进行修改容易产生差错,并且在编写代码时会产生许多重复工作,因此这种方式的仿真往往效率低下而且人力、物力成本较高。
目前的主流仿真软件往往也会提供方法支持软件仿真向实时仿真的过渡,最大限度地利用软件仿真的优势,减少仿真人员的重复性劳动,并且尽可能地智能化处理非实时仿真描述模型转换成实时仿真底层代码的流程,实现模型的校验、模型模板的导出等工作。
但是目前的软件仿真与实时仿真之间的过渡往往是一次性的,仿真软件只提供一次性的将仿真描述模型导出为实时仿真底层代码,往往对导出的实时仿真底层代码没有后续的跟踪,用户随后在实时仿真底层代码上的操作就与仿真软件没有关系了,用户对于模型的后续调试也无法继续使用软件仿真所带来的便利;如果仿真人员在软件模型上进行了修改,只能重新导出为新的实时仿真模型,原有的在实时仿真模型上的修改也不会得到保留;即软件仿真与实时仿真之间并没有同步关系,一旦生成实时仿真模型之后,就与软件仿真没有关联了,后续在仿真机上的模型修改和调参不可在仿真软件里进行维护。
发明内容
本发明的目的是使仿真平台能将非实时仿真的灵活高效性和实时仿真的有效性相结合。仿真人员能够在仿真软件上对模型进行测试和修改,同时系统可以自动生成适用于实时仿真的代码工程或者是代码框架。
本发明提供的技术方案如下:
一种基于注释的仿真代码同步生成方法,其特征是,利用代码工程作为软件仿真与实时仿真之间的通信方式;利用代码生成使仿真描述模型可以应用到实时仿真系统中,利用代码逆向使对于实时仿真系统中模型的修改调参可以反馈到仿真描述模型中,从而继续应用软件仿真;通过基于注释的方式组织代码工程,从而实现代码工程的增量修改、智能扫描和动态反馈。
一种基于注释的仿真代码同步生成方法,其特征是,包括以下步骤:
第1步:设计一个仿真描述模型;
第2步:将该仿真描述模型导出为底层仿真代码,以下简称仿真代码;
第3步:将导出的仿真代码放入实际仿真机中进行执行,并根据执行结果对仿真代码进行修改,然后将修改结果同步到仿真描述模型。
通过上述方法,就能完成仿真描述模型与仿真代码之间的同步生成。
优选的技术方案:
所述的仿真代码同步生成方法,其特征是,所述的仿真描述模型用XML进行描述。
所述的仿真代码同步生成方法,其特征是,第2步的实现方法为:
2.1)将仿真描述模型中的每个模块转换为一个底层仿真代码类;
2.2)模块中的变量定义转为类的变量定义,内部变量转为类的私有成员,对外变量转为类的公有成员;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410445887.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种易移植小型图形系统的实现方法
- 下一篇:一种用于确定声效设置的方法和装置