[发明专利]一种C语言仿真模型的剖析及监控方法有效
申请号: | 201210041375.3 | 申请日: | 2012-02-21 |
公开(公告)号: | CN102629213A | 公开(公告)日: | 2012-08-08 |
发明(设计)人: | 杨盈;范智刚;罗喜霜 | 申请(专利权)人: | 北京经纬恒润科技有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 逯长明 |
地址: | 100101 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 语言 仿真 模型 剖析 监控 方法 | ||
技术领域
本发明涉及计算机仿真技术领域,尤其涉及一种C语言仿真模型的剖析及监控方法。
背景技术
计算机仿真技术的核心包括仿真模型和仿真平台。仿真模型是对被仿真实体对象特性的抽象描述,具有与实体相似的数学和物理属性,反映实体的特征和规律。仿真模型的描述可以通过各种计算机语言如FORTRAN语言、C语言、M语言等,按照对应的编码规则进行编码实现,也可通过建模工具如MATLAB/Simulink以搭积木的方式进行加减乘除等基本数学运算模块的搭建来实现。无论以哪种方式描述的仿真模型,最终都需要编译成可执行的应用程序,下载到仿真平台上进行仿真解算。
仿真平台是仿真模型解算的载体,由软件和硬件组成,相应的,实时仿真平台由实时操作系统和仿真计算机组成。为了实现实时仿真,即仿真模型实时解算,实时地与外围设备进行数据交互,则需要将仿真模型编译下载到实施仿真平台上运行。因此,完整的实时仿真平台通常包括仿真上位机和仿真下位机。仿真上位机运行一个仿真管理软件,负责把通过计算机语言描述的模型或者通过建模工具搭建的模型进行模型编译,生成可执行的应用程序,并通过以太网等网络通讯下载到仿真下位机。仿真下位机负责实时解算已经编译生成可执行应用程序的仿真模型。当模型在仿真下位机进行仿真解算时,仿真上位机需要对仿真模型中的变量数据进行提取,并在线即时显示,以便仿真人员清楚了解仿真模型解算结果是否正确,同时,仿真人员能够进行人工干预,在线修改仿真模型中的参数,使仿真模型按照仿真人员预算的结果进行解算。为了实现对仿真模型内部变量参数的提取和修改,在仿真模型进行实时仿真解算之前,需要对仿真模型进行剖析,即对仿真模型中的信息,包括函数名及其参数变量名及变量个数、模块参数、全局变量等进行提取,保存在信息文件中。
目前,对于使用建模工具MATLAB/Simulink搭建的模型,可以通过修改MATLAB/Simulink提供的TLC模板文件实现对仿真模型的剖析,而对于使用C语言编码规则编写的仿真模型的剖析,国内还没有合适的方法,目前只能将其重新搭建成MATLAB/Simulink模型,再通过TLC模板文件才可实现剖析过程,这种方法将导致不必要的、大量的重复工作。此外,在实际工程应用中,大多数仿真模型是采用C语言编写的,如果不能对C语言进行剖析,将限制C语言仿真模型的应用范围。
发明内容
有鉴于此,本发明提供了一种C语言仿真模型的剖析及监控方法,用于解决现有的剖析及监控方法会导致不必要的、大量重复工作的问题。
一种C语言仿真模型的剖析方法,预先由文法文件生成C代码剖析方法类,所述文法文件在语言识别工具开发环境下由开发人员手工编写,其中,所述C代码剖析方法类由语言识别工具编译文法文件后生成,其包括语法分析模块、词法分析模块和语法树生成模块;
该方法包括:
调用C代码剖析方法类中的词法分析模块对导入的C语言仿真模型的词法内容进行剖析,形成记号流;
调用C代码剖析方法类中的语法分析模块,根据所述记号流,对导入的C语言仿真模型的语法结构进行剖析;
调用C代码剖析方法类中的语法树生成模块根据所述分析得到的语法结构生成相应的语法树;
从所述语法树中提取变量信息和函数信息,并将所述提取的变量信息和函数信息保存到模型信息文件中。
优选的,所述语言识别工具为开源语言识别工具ANTLR。
所述文法文件的编写过程包括:
确定文法文件的整体构架,将所述文法文件的内容划分为:头模块、选项模块、语法分析器类模块和词法分析器类模块,所述头模块和所述选项模块,用于定义文法文件的基本信息,所述语法分析器类模块,用于定义文法文件包含的语法分析内容,所述词法分析器类模块,用于定于文法文件包含的词法分析内容;
定义文法文件包含的语法分析内容;
定义文法文件包含的词法分析内容;
添加特有的Jave类方法,所述特有的Jave类方法为所述ANTLR生成不了、但进行C代码剖析所需要的特有的Java类方法。
所述语法分析内容包括:数据类型标识、结构体或共同体标识、数据结构变量列表标识、枚举类型标识、变量数组标识、指针标识、参数列表标识、标识符列表标识。
所述词法分析内容包括:字符型变量标识、特殊字符标识、16进制标识、10进制标识、8进制标识、浮点数标识、块注释形式标识、行注释标识。
所述C代码剖析方法类为C代码剖析方法Java类、C代码剖析方法C++类或C代码剖析方法C#类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京经纬恒润科技有限公司,未经北京经纬恒润科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210041375.3/2.html,转载请声明来源钻瓜专利网。