ModelCoder —— 建模仿真与代码生成软件
在安全关键领域,基于模型的软件工程或者软件开发已逐渐进入了我国的装备研制过程中。使用Simulink或者SCADE等嵌入式软件建模工具,对算法或控制逻辑进行可视化建模,然后生成高可靠的二进制代码逐渐成为安全关键领域的主流软件开发方式。
ModelCoder支持基于模型的嵌入式系统设计、仿真和可信代码自动生成,提供了图形编辑器、模块库以及对应的求解器,可对算法或控制逻辑进行可视化建模。其可信代码生成器可通过形式化验证技术将用户模型翻译为可信代码,进而不加修改地应用于多种嵌入式系统。
ModelCoder具有结构明了、流程清晰、仿真精细、贴近实际、效率高、灵活、适应面广泛等优点,可被应用于如控制系统和数字信号处理(DSP)等复杂模型的设计和仿真。
ModelCoder支持多个领域

控制系统

汽车电子

轨道交通

核电系统

航空航天

无线通信

信号处理

智慧风电
ModelCoder的建模规则
1.特定的运算符用来支持特定的数据结构;
2.控制模块的复杂度,尽量减少子模块的调用,生成的代码每调用一次函数,就会产生函数传参的开销,此时如果上层有较多循环,则传参的代价较高;
3.检查重复模块,尽量归并重复项,形成基础库;
4.所用模型的输入输出端口的类型与数量必须符合该模型要求;
5.对逻辑模型,建模前应先优化,可降低模型的复杂度;
6.控制局部变量数量,减少不必要的局部变量,以防产生额外的堆栈创建和销毁的开销。