• RTDS基于模型的嵌入式软件开发工具
  • 工具综述

    Real Time DeveloPer Studio(简称:RTDS)是由Pragmadev公司推出的一款《基于模型的嵌入式软件开发工具》,工具基于UML、SDL、SysML以及 SDL-RT等语言进行系统建模和描述,提供完善的系统流程图、标准化的软件说明文档,并可对系统功能进行模拟仿真,最终自动生成完整的C/C++源代 码,用户可以直接对图形化模型进行动态的测试和修改,最终可自动生成文档,它有效节省50%-70%的开发工作量,提高20%软件质量和项目管理水平。工 具已大量应用于航空/航天、兵器、船舶、汽车、电力、通讯、环境等领域。
    工具特性
    1.RTDS可以创建完整的C/C++源代码,由模型生成的高质量的集成代码,既可以作为系统模型或代码级的调试验证,也可以作为最后系统应用程序。
    2.RTDS支持对已有代码的无缝集成,一种是将代码可视化,另一种是通过逆向工程将代码转化为模型。
    3.RTDS独有的动态模型/代码关联功能,不仅使模型可以自动生成代码,并且可以保持模型和代码之间的动态的,双向的同步。
    4.RTDS支持实时框架技术,通过实时框架,应用程序可以方便的从一个实时操作系统(RTOS)移植到另外的RTOS系统上。同时无缝支持ThreadX,VxWorks,pSOS,QNX,MSWindows,Linux,Unix,Nuleus。
    5.RTDS支持报告文档的自动生成,文档格式支持RTF、OpenDocument、 HTML或 SGML等格式。
    6.RTDS的MSC tracer是一款图形化追踪工具,它基于国际标准,可以在线或者离线追踪你的目标行为,采用标准的图形化表现形式。开发人员在整个开发过程中可直接针对需求对系统进行自动测试驱动及验证,在开发的早期阶段就可检测出设计错误。
    工具功能

    工具覆盖了嵌入式软件开发中从需求到嵌入式代码的整个流程:需求建模、模型检查、模拟仿真、形式验证、嵌入式代码自动生成以及文档自动生成等等。
    (一)需求建模
    RTDS通过图形化建模来实现软件开发的自动化,将用户从冗长枯燥的任务中解放出来,有更多的时间去关注其他更重要的领域。
    RTDS 提供3级建模方式(非正式、半正式、正式),非正式模型以表达一个想法或者一个概念,半正式模型以实现从概念到实施之间的连接,以及正式模型可在实施之前进行全面验证。
    注:建模语言支持UML、SDL、SysML以及SDL-RT等。
    \
    (二)模型检查
    在图形化建模后,RTDS中的MSC tracer模块可以对建立的模型进行检查:对模型中的不一致、类型不匹配、数据回路等所有的模型错误,MSC tracer都能以超文本的方式进行定位,以便纠错。模型检查有两种形式:局部模式检查我们选中的类型块、常量块或者操作符;全局模式检查整个模型。 MSC tracer它提供图形表示形式:任务、状态、报文、信号量、定时器、对象等等。
    \


    图-4模型检查示例
    (三)模拟仿真
    在系统建模后,RTDS仿真器可以对整个系统或是系统中任意一个模块进行模拟仿真。 RTDS仿真器它是一个强大的可视化的图形调试工具,可以设置断言、断点、中断条件、信号等等;可以检查输入数据、内部的变量和输出数据的值;还可以记录 和回放仿真的场景。对于一个拥有大量输入输出的系统来说,我们在仿真的时候,可能只对系统中的若干个信号的变化感兴趣。RTDS仿真器能够很方便地把我们 感兴趣的信号集中在一起,并用图形的方式记录仿真时这些信号的变化情况,以便于检查。RTDS仿真器根据用户实际的应用,设计友好的仿真面板。
    \


    图-4模拟仿真示例
    (四)形式验证
    模拟和仿真能够在一定程度上测试系统的模型是否很好实现我们所期望的功能,但是,它不能保证系统是否做了预期外的不应该做的事情。因此,只经过模拟仿真测试的系统安全性并不能完全得到保证。RTDS内置的形式验证的功能解决了这个问题。
    依据用户条件工具设计好了一个“形式验证器”之后,用户只需按一个键就可验证模型。如果模型是安全的它能给出一个安全的证明;如果模型是不安全的,它能给 出一个反例,而这个反例又可以在仿真器中调出来进行仿真,以详细地观察系统是怎样一步步地进入不安全状态的。形式验证的这一功能在很大程度上方便了系统的 纠错,同时保证了目标系统的安全性,形式验证遵循TTCN-3标准。
    \


    图-5形式验证示例
    (五)代码覆盖范围
    在某个调试阶段的任何时间,可在所有架构层图形化查看模型覆盖范围。你可以看到某个转换有多少次被实施,某个状态有多少次被达成,以及某个符号有多少次被执行。
    \


    图-6代码覆盖示例
    (六)代码自动生成
    经过仿真和形式验证,保证了模型的安全、完整以后,RTDS可以自动生成面向工程的C/C++源代码。和其它的许多代码生成器相比,RTDS生成的代码有二个显著的特点:
    第一:RTDS所生成的代码完全面向工程,可以直接嵌入到所开发的系统中去而不需要做任何修改。
    第二:RTDS基于严格的数据理论,它保证所生成的代码的正确性,并承诺所生成的代码的行为和仿真的行为完全一致。
    \

    图-7代码自动生成示例
    (七)文档自动生成
    RTDS文档自动生成工具可以自动生成你的系统的全部文档,以使文档,模型,和代码始终保持同步,文档可被自动生成为RTF、OpenDocument、 HTML或 SGML 格式。
    \


    图-8文档自动生成示例
    工具优势
    (一)标准的面向对象图形化模型表示
    因为采用图形化的模型表示关系到和团队其他成员,和客户,或者和分包商之间的通讯,在 RTDS 中使用的图形化模型表示是标准化的并且足够精确可避免模棱两可。
    因为非常少的项目是从草稿起步的,因此可重复可用性具有顶级优先权,以便集成遗留代码和编写重复可用的组件。
    (二)从规格到目标
    开发流程从规格和设计到集成于目标不能存在缺口或不一致。规格要随设计而更新以减轻往返工程。
    (三)自述文档和遗留代码
    软件文档从高水平规格更新到最终代码,并且整个团队都可用。
    (四)保持控制
    当开始项目设计时,实时设计者能够始终控制该工具做的事情,以及如何做的,因为嵌入式软件常常有优化问题。
    (五)测试模型
    RTDS 支持专用的测试语言,并且该测试案例可在代码生成前运行于你的模型。
    (六)集成第三方工具
    该开发环境是开放的,可在开发流程中集成客户已有的所有第三方工具。
    (七)保护你的投资
    当今,没有人有时间去验证投资某个工具或某项技术的所有方面, 并且历史已经表明即使从主流厂商购买也有可能导致灾难。因此,在下决定之前,有几项需要检查以保护您的投资:
    • 实时开发者工作室(RTDS)完全基于国际标准;
    • 它是市场上最便宜的工具;
    • 只要求很少的培训;
    • 没有隐藏的成本因为我们的业务模式是 100% 基于产品;
    • 它始终能够向后走,不会丢失已经做过的事情。
    工具运行平台

    RTDS工具运行平台:Solaris、Windows、Linux。
    工具支持的实时操作系统种类

    RTDS工具支持的实时操作种类有:VxWorks、OSE、 OSE Epsilon、 CMX RTX、 Nucleus、 uiTRON、 Posix、 ThreadX和Win32等。
    成功案例

    RTDS工具已在航天/航空、汽车、电力、通讯、环境等领域成功应用,标志性案例用 户:Airbus、 Alcatel、Ren Ault、Thomson、the French Army、Nortel Networks、theEuropean Space Agency、Toshiba、 Korean Telecom、LG Electronics以及 Wipro等等。