当前位置: 首页 > 专利查询>三峡大学专利>正文

多语言的Modelica组件批量生成系统和方法技术方案

技术编号:29583190 阅读:34 留言:0更新日期:2021-08-06 19:41
本发明专利技术涉及多语言的Modelica组件批量生成系统,包括批量提取部件、函数分析部件、项目生成部件、函数生成部件、项目编译部件、Modelica组件生成部件等。批量提取部件用于从文件夹中批量获取待处理的动态库和头文件;函数分析部件用于分析得到对应动态库的每个导出函数的返回值类型、函数名称、函数参数列表等;项目生成部件用于新生成一个符合Modelica规范的外部动态库项目;函数生成部件用于生成一个符合Modelica使用规范的外部函数;项目编译部件用于对动态库工程和源码的编译;Modelica组件生成部件用于为外部函数建立对应的mo文件,生成Modelica组件。本发明专利技术提供了将C/C++、Fortran、Matlab等语言编写的功能模块以动态库的方式转化为Modelica组件的系统和方法,提供了转换途径,提高了转换效率。

【技术实现步骤摘要】
多语言的Modelica组件批量生成系统和方法
本专利技术属于计算机仿真领域,具体涉及多语言的Modelica组件批量生成系统和方法。
技术介绍
Modelica是一种开源的多领域统一建模语言,该语言具有面向对象特点和非因果关系建模能力,具有较好的交互性和较强的模型表达力,在多领域仿真领域有广泛的应用。采用Modelica进行系统仿真时,可以使用Modelica语言建模,也可以使用由C语言或Fortran语言编写的外部语言函数建模。外部语言函数建模时,常用的方法是按照Modelica语言规范编写一个与原外部语言函数有相同接口的Modelica函数,按照参数映射规则进行参数类型映射,Modelica函数的实现部分通过external关键字通过动态库方式调用外部语言函数实现。目前这种人工进行的方法存在二方面的问题:一是由于这种做法需要具备专业知识的程序员编写代码,操作难度较大,效率较低;二是由于Modelica语言自身可以采用Mingw或vs编译器对C语言源代码进行编译,当选择的编译器和制作外部函数动态库使用的编译器不同时,此时常规方法是必本文档来自技高网...

【技术保护点】
1.多语言的Modelica组件批量生成系统,其特征在于,包括批量提取部件、函数分析部件、项目生成部件、函数生成部件、项目编译部件、Modelica组件生成部件;/n批量提取部件,从文件夹中批量获取待处理的动态库和头文件原始文件;/n函数分析部件,从待处理的头文件中分析得到对应动态库的每个导出函数的返回值类型、函数名称、函数参数列表,函数参数列表包括参数的输入输出类型、参数数据类型、参数名称;/n项目生成部件,生成一个新的符合Modelica规范的外部动态库项目,该项目实现对原始动态库的封装调用;/n函数生成部件,生成一个符合Modelica使用规范的外部函数,根据原始动态库采用的不同的语言,...

【技术特征摘要】
1.多语言的Modelica组件批量生成系统,其特征在于,包括批量提取部件、函数分析部件、项目生成部件、函数生成部件、项目编译部件、Modelica组件生成部件;
批量提取部件,从文件夹中批量获取待处理的动态库和头文件原始文件;
函数分析部件,从待处理的头文件中分析得到对应动态库的每个导出函数的返回值类型、函数名称、函数参数列表,函数参数列表包括参数的输入输出类型、参数数据类型、参数名称;
项目生成部件,生成一个新的符合Modelica规范的外部动态库项目,该项目实现对原始动态库的封装调用;
函数生成部件,生成一个符合Modelica使用规范的外部函数,根据原始动态库采用的不同的语言,生成的外部函数具有不同的原型和函数实现代码;
项目编译部件,自动调用系统编译器将新生成的项目及源代码文件编译成符合Modelica使用规范的动态库,完成对动态库工程和源码的编译;
Modelica组件生成部件,为外部函数建立对应的mo文件,生成Modelica组件。


2.如权利要求1所述系统的批量生成方法,其特征在于,包括以下步骤:
步骤1:从指定的文件夹中逐一获取待转换的动态库及外部函数;
步骤2:分析得到每个外部函数的返回值类型、函数名称、函数参数列表;
步骤3:生成项目文件和源代码文件;
步骤4:为每一个外部函数在代码文件中生成符合Modelica使用规范的外部函数;
步骤5:将步骤3生成的项目编译成动态库文件;
步骤6:建立外部语言函数对应的mo文件,将外部函数引入到Modelica函数中,生成Modelica组件。


3.根据权利要求2所述的批量生成方法,其特征在于,步骤2包括:
步骤2.1:首先从标识符列表中获取函数的返回值类型和函数名称;
步骤2.2:由左括号开始,按照函数参数分析状态转换图确定函数包括参数类型和参数名称的参数列表。


4.根据权利要求3所述的批量生成方法,其特征在于,步骤3包括:
步骤3.1:用程序方式生成Mingw规范的项目文件;
步骤3.2:生成C语言源代码文件,源代码文件文件名由原始动态库文...

【专利技术属性】
技术研发人员:田卫新徐超
申请(专利权)人:三峡大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1