外部函数接口(FFI)是解决一种编程语言调用其他语言函数库的主要方法。针对使用FFI技术时需要大量人工编码的问题,提出自动化外部函数接口生成(AFIG)方法。该方法利用基于抽象语法树的源码逆向分析技术,从被封装的库文件中精准提取出用...外部函数接口(FFI)是解决一种编程语言调用其他语言函数库的主要方法。针对使用FFI技术时需要大量人工编码的问题,提出自动化外部函数接口生成(AFIG)方法。该方法利用基于抽象语法树的源码逆向分析技术,从被封装的库文件中精准提取出用于描述函数接口信息的多语言融合的统一表示。基于此统一表示,不同平台的代码生成器可利用多语言转换规则矩阵,全自动化地生成不同平台的FFI相关代码。为解决FFI代码生成中的效率低下问题,设计了一种基于依赖分析的任务聚合策略,通过把存在依赖的任务聚合为新的任务,有效消除了FFI代码任务在并行下的阻塞与死锁,从而实现任务在多核系统下的可扩展与负载均衡。实验结果表明:与人工编码相比,AFIG方法减少了FFI开发中98.14%的开发编码量以及41.95%的测试编码量;与现有的SWIG(Simplified Wrapper and Interface Generator)方法相比,在同等任务下可减少61.27%的开发成本;且生成效率随着计算资源的增加呈线性增长。展开更多
基于COM技术研制开发了MATLAB和Aspen P lus的接口工具箱MAP,实现了在MATLAB环境下对Aspen P lus中数据进行读写操作,并控制模拟的运行。MAP接口将MATLAB计算能力和Aspen P lus的模拟能力结合在一起,扩展了Aspen P lus的高级应用。通过...基于COM技术研制开发了MATLAB和Aspen P lus的接口工具箱MAP,实现了在MATLAB环境下对Aspen P lus中数据进行读写操作,并控制模拟的运行。MAP接口将MATLAB计算能力和Aspen P lus的模拟能力结合在一起,扩展了Aspen P lus的高级应用。通过精馏塔进料软测量的示例,阐述了如何通过MAP接口来调用自主开发的禁忌搜索优化算法,解决由于Aspen P lus中的优化算法的局限性所无法实现的模拟与优化问题。展开更多
文摘外部函数接口(FFI)是解决一种编程语言调用其他语言函数库的主要方法。针对使用FFI技术时需要大量人工编码的问题,提出自动化外部函数接口生成(AFIG)方法。该方法利用基于抽象语法树的源码逆向分析技术,从被封装的库文件中精准提取出用于描述函数接口信息的多语言融合的统一表示。基于此统一表示,不同平台的代码生成器可利用多语言转换规则矩阵,全自动化地生成不同平台的FFI相关代码。为解决FFI代码生成中的效率低下问题,设计了一种基于依赖分析的任务聚合策略,通过把存在依赖的任务聚合为新的任务,有效消除了FFI代码任务在并行下的阻塞与死锁,从而实现任务在多核系统下的可扩展与负载均衡。实验结果表明:与人工编码相比,AFIG方法减少了FFI开发中98.14%的开发编码量以及41.95%的测试编码量;与现有的SWIG(Simplified Wrapper and Interface Generator)方法相比,在同等任务下可减少61.27%的开发成本;且生成效率随着计算资源的增加呈线性增长。
文摘基于COM技术研制开发了MATLAB和Aspen P lus的接口工具箱MAP,实现了在MATLAB环境下对Aspen P lus中数据进行读写操作,并控制模拟的运行。MAP接口将MATLAB计算能力和Aspen P lus的模拟能力结合在一起,扩展了Aspen P lus的高级应用。通过精馏塔进料软测量的示例,阐述了如何通过MAP接口来调用自主开发的禁忌搜索优化算法,解决由于Aspen P lus中的优化算法的局限性所无法实现的模拟与优化问题。