广告

R2013b,一个你所不知道的MATLAB & Simulink

2013-12-05 邵乐峰 阅读:
从阿丽亚娜5火箭因数据溢出爆炸造成75亿美元损失,到美国海军约克城号巡洋舰因操作人员误输入字符0导致引擎失效 ,提醒我们一个系统软件代码的小小失误,就有可能招致毁灭性的灾难。 ……

作为MathWorks每半年发布一次的第16个新版本,R2013b版MATLAB和Simulink产品系列日前面世。该版本不仅新增了分析、设计、代码生成和实现以及其他功能,还同时新添了两款Polyspace产品以及其他79款产品的更新。

不放过任何一个代码失误

从阿丽亚娜5(Ariane 5)火箭因数据溢出爆炸造成75亿美元损失,克莱斯勒、戴姆勒、雷克萨斯等汽车巨头因ECU BUG进行大规模汽车召回,到美国海军约克城号巡洋舰因操作人员误输入字符0导致引擎失效,再到6位病人因仪器软件错误导致放射剂用量超标造成死亡……一连串触目惊心的安全事故在时刻提醒我们,一个系统软件代码的小小失误,就有可能招致毁灭性的灾难。

MathWorks应用工程师团队经理魏奋认为,航空航天、军事、汽车、医疗领域对安全性要求的严苛程度远超一般产品,并且每一步都经过了严格测试,但即便这样,还是发生了产品代码运行时错误(Runtime error)。因此,如何积极有效的预防这些代码错误,成为业界面临的共同挑战。MathWorks公司近日宣布引入两款新的代码验证工具:Polyspace Code Prover和Polyspace Bug Finder,希望能够藉此确保嵌入式软件的稳健性,使其能够以最高级别的质量和安全性运行。

新增的两款产品提供了端到端软件验证功能,涵盖了查找缺陷、检查代码规则以及证明不存在运行时错误,可供早期开发阶段使用。魏奋说,两款新工具的最大优势在于使用了形式化方法(formalization method),这是一种推导而非穷举的数学验证方式,确保一定找出并验证所有的运行式错误,这对软件开发者来说是个福音。

负责代码安全和认证的工程师可以使用 Polyspace Code Prover来确定何处会发生或不会发生运行错误。颜色编码和基于证明的结果不但简化了验证任务,还使得软件开发流程更加高效和优质。此外,Polyspace Code Prover还利用 MATLAB 平台,使用户可以访问强大的MATLAB功能,例如稳健的计算机集群间工作分配、自动化脚本编写、结果可视化以及认证报告生成。Polyspace Code Prover融入了先前在Polyspace Client for C/C++和Polyspace Server for C/C++中提供的功能。

Polyspace Bug Finder可利用静态分析方法识别嵌入式软件中的运行时错误、数据流问题以及其他缺陷,例如数值、内存以及其他编程错误。与传统的人工审验不同,Polyspace Bug Finder 使工程师可以快速识别、诊断和修复代码缺陷,从而简化开发流程。此工具不仅可检查是否符合代码规则标准(例如MISRA和JSF++、自定义规则),而且能够生成衡量代码质量和复杂度的指标。与 Polyspace Code Prover一样,Polyspace Bug Finder可利用MATLAB平台进行工作分配、脚本编写和结果可视化。这两款产品都与Simulink集成在一起以便用于自动生成代码。

魏奋同时强调说,Polyspace只针对设计流程最后产生的C代码或Ads代码进行验证。而对于安全性的验证,其实在早期建模阶段就已开始,最具代表性的产品包括Simulink Verification and Validation和Simulink Design Verifier,Simulink Design Verifier同样基于形式化方法,能够帮助用户在模型阶段找到设计上的错误并加以纠正。

第2页:LTE系统工具箱兼容LTE和LTE-A黄金参考模型和测试波形

第3页:MATLAB & Simulink功能升级

{pagination}

LTE系统工具箱兼容LTE和LTE-A黄金参考模型和测试波形

随着LTE标准的日趋复杂化,确保设计和实现的正确性已成为LTE 组件和终端设备开发人员所面临的首要挑战。为了确保符合标准,必须对这些产品进行测试,但开发测试模型往往非常昂贵,并且需要具备专业的知识才能理解标准并实施经验证的参考模型。为此,MathWorks此次同步推出了全新的系统工具箱LTE System Toolbox,为LTE和LTE-Advanced系统和设备提供了与标准兼容的黄金参考模型和测试波形功能,让工程师们可以将精力集中在IP 开发,或是复用已开发和实现的组件,而非创建参考模型和测试波形上。

(电子工程专辑)
F1:LTE System Toolbox支持一致性测试和性能测量以验证设计与标准规格的兼容性

第3页:MATLAB & Simulink功能升级

{pagination}

MATLAB & Simulink功能升级

此次2013b版本中针对MATLAB的一些重要的功能升级包括:1. 在MATLAB中引入新的数据类型MATLAB table和Categorical Arrays,前者作为针对混合型表格数据的容器,支持灵活的索引,内置合并、排序功能,方便用户查询;后者作为离散非数值数据的容器,取值来自一组有限的可能值,比字符串的cell arrays内存效率高,可以对其使用比较逻辑运算符;2. 在图像处理工具箱中加入34个可直接对GPU进行支持的算法和函数,其中2013b版本中加入23个,2013a中加入11个;3. 增加MATLAB Compiler apps,方便用户将MATLAB程序进行打包下载和移植。

(电子工程专辑)
F2:交互式MATLAB程序

Simulink中的一些新功能则包括:1. 引入Simulink Performance Advisor,可自动分析模型仿真瓶颈,用户可随后选择应用模型的修改建议,并验证该模型在这些修改后是否得到了加速;2. 增加了新模块MATLAB System Block,通过这个模块,用户可以在Simulink里更轻松的调用MATLAB算法,对于算法工程师和系统工程师之间的交流互动将有很大的帮助;3. 通过在对话框编辑器Mask Editor中加入更多用户界面元素(文本、超链接、图像、按键)、显示元素控件、以及拖放式Mask构建功能,让用户的对话框设计变得更容易,更丰富;4. 增加了Comment Through注释模块,针对输入输出数量相同的模块,添加该功能后,在仿真过程中,信号可直接通过模块,且Comment out选项仍然保留;5. 在硬件上运行Simulink模型的工作流程。在“External”仿真模式下,用户可通过在硬件上使用“Run”按钮,实现模型的自动配置、下载、运行,以及参数和监控信号的实时调整,或是点击“Deploy to hardware”按钮,将模型作为一个独立的应用程序运行。目前,MathWorks对一些常用的教学级开发板进行支持,如支持Arduino和树莓派、Lego Mindstorms NXT, Xilinx Zynq和Zedboard等。

(电子工程专辑)
F3:丰富的对话框设计

(电子工程专辑)
F4:Comment Through注释模块

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
邵乐峰
ASPENCORE 中国区首席分析师。
您可能感兴趣的文章
相关推荐
    广告
    近期热点
    广告
    广告
    可能感兴趣的话题
    广告
    广告
    向右滑动:上一篇 向左滑动:下一篇 我知道了