美国I-Logix公司刚刚发布了其著名产品Rhapsody的最新版本6.0,为
嵌入式系统和
软件技术带来突破性进展。
简介
Rhapsody 6.0是遵循UML2.0的
模型驱动的(Model-Driven Development--MDD)
软件开发平台,Rhapsody能够最大限度的让系统、硬件、软件和测试工程师以更加灵活和优化的方式协同开发和交流。
功能
支持UML2.0的增强功能。如今Rhapsody更加适合做系统建模,增强了实时建模关注的在调度、性能、时间(UML Profile for Schedulability, Performance, and Time)上的扩展;支持UML2.0新增的关键内容,例如Ports, Information Flows, Sequence diagram enhancements,Profile,Free Flowing Activity Diagrams等。
支持面向功能分解的结构化建模方式
在国防、航天航空、通讯、汽车、医疗领域,Rhapsody广泛的用于系统建模,系统建模无需关注
软件实现的细节,更关注高层的功能划分、结构分解、行为规范和需求分析。Rhapsody为系统工程师提供模块图(Block Diagram)捕获总体系统结构。
在Block Diagram中,可以进一步增加系统结构的细节,达到
自顶向下设计的目的。同时支持传统的
软件建模常用的数据流的概念(Flows)。Flows是连接不同Block的单向或者双向的数据流,可以携带不同类型的数据项。Flows 和Functional Block可以很容易支持
C4ISR结构框架。
图一 数据流和功能模块建模(Block Diagram)
模型/代码的相关
模型/代码相关是Rhapsody特有的技术。模型/代码相关是Rhapsody特有的技术。
软件代码实现不再是一个单独的依靠手工编写的过程。在Rhapsody中,
软件代码可以由模型动态生成;反过来,代码的修改也可以反映到模型中来。模型可以产生高质量的代码,这种代码既可以作为
系统模型验证的代码,也可以是系统最后提交的代码,并且这些简洁、可读性好的代码可以在其他商业IDE中很容易的被调试。
图二模型/代码相关(点击看动画)
可执行的模型
Rhapsody可以让UML模型动起来,就是说Rhapsody代码在目标机上运行的同时,运行情况动态反馈到设计模型中来,例如基于状态图的断点设置、在顺序图上捕捉不同对象之间的消息映射等等。在进行设计级调试的同时,Rhapsody支持与代码级调试工具的联合调试。通过模型级/代码级联合调试、验证,能够直观地尽早发现系统的设计错误或缺陷,从而较早地确定或降低项目风险。
图三:可执行模型,可以在构件系统时对设计进行调试和验证(点击看动画)
实时框架
一般嵌入式应用中有60-90%的代码用于内务处理,如状态机的实现、任务间的通信、容器类的实现、设计模式的应用、时钟机制的运用等等。这些代码被反复的编写,耗费了程序员的大量精力。在Rhapsody中,这些代码可以通过实时框架来自动实现。实时框架是一个垂直框架,提供了一套为嵌入式和实时应用专门选择和优化的设计模板。实时框架使得设计得模型与
操作系统无关,通过实时框架,
应用程序可以方便的从一个
实时操作系统移植到其他的操作系统。同时,实时框架可以被配置和扩展,以适应用户自己特别的操作系统和中间件。
图四:实时框架结构
对C语言的专门优化
Rhapsody 6.0包含大量的C语言的优化和增强功能,体现在对于实时框架调用和VTBL的优化、使用inline和macro加快调用速度,更重要的是增加了Interrupt-Driven Framework(IDF,中断驱动框架),这样,Rhapsody模型可以运行在8位/16位无操作系统CPU及基于各种DSP的目标机上。
逆向工程
Rhapsody可以很方便的把利用其他工具开发产生的代码引入模型中,做为模型的一部分,从而提高开发效率,提高以有技术的利用率。
文档自动生成
Rhapsody可以生成高质量的中文文档,可以生成
软件应用所需的框架结构、
运行库、编译文件、通讯方式、实施策略等。而且模型和代码的一致性更保证了文档和代码的一致性,为我们顺利的完成开发、后期经验的累积提供了很好的平台。可以通过定制模板,来生成适合具体工作要求的文档。
需求管理
在项目的整个生命周期中,捕获、跟踪与管理用户需求及需求变化的流程是项目成功的基础。Rhapsody 6.0提供了需求管理套件GateWay,可以编辑、跟踪和管理项目中建立起来的所有需求,以保证产品结果符合客户定义的需求,与
Word、
Excel和PDF有很好的集成。需求管理在开发周期中是自始至终都存在的,而且需求管理同项目管理式密不可分的。有明显的事实可以说明减少需求的错误对
应用软件开发人员实现按时且在预算内交付高质量软件的目标是最有效的行动。为了建造高质量的系统,首先必须定义需求,然后使开发来满足需求。需求不仅仅是对技术人员很重要,对其他人员也很重要。
基于模型的测试
扩展的MDD理应包含
MDT(Model Driven Testing),Rhapsody ATG(Automatic Test Generation
自动测试生成)提供高覆盖率的
测试用例,用于MC/DC分析,符合Do178B标准。ATG生成的测试用例提供给Rhapsody附加模块TestConductor,也可以输出给第三方的测试执行工具如VectorCast、LDRA等执行测试。
图五:基于模型的测试工作原理
团队开发的广泛支持
使用Rhapsody,开发团队将可以无缝和高效的在
模型驱动的开发环境合作开发,Rhapsody的集成开发技术,将系统级和
软件级的设计、代码和文档进行共享、重用以及集成变得十分容易。使得开发团队通过网络或者局域网进行很好的协作。
Rhapsody 6.0是开放的系统,可以很容易的用Rhapsody作为核心,构造一个协同的适合团队开发的和强实时性要求的 嵌入式软件开发环境。Rhapsody是一个开放的、可定制的、可扩展的设计平台。Rhapsody提供与市场上提供的优秀的 配置管理工具、需求管理跟踪工具和测试 分析工具的接口,如ClearCase、PVCS、CVS、Doors等。另外,利 用Rhapsody的API和XMI数据接口,Rhapsody可以与开发工具链上的任何工具相连接。加上Rhapsody提供的可视化的模 型区分与合并功能,真正使团队协作成为可能。同时,Rhapsody提供对标准的XML格式的支持,方便开发者共享他们 的设计成果。总之,开发人员对于合作设计和远程团队开发的选择不会因为Rhapsody而受到任何限制。
图六:开放的Rhapsody
根据第三方的报告,Rhapsody正在迅速成为国防/航空航天领域首选的MDD(
模型驱动开发,Model Driven Development)开发环境,在一系列项目中被作为主要开发工具来使用,如Joint Strike Fighter (JSF), Future Combat Systems (FCS) and F-22等,同时在通讯、医疗、汽车和消费电子等领域赢得快速持续的增长。
美国I-Logix公司是全球领先的自动化解决方案供应商,旗下最新发布的Rhapsody DoDAF是完全遵从
美国国防部DoDAF标准的执行建模工具组件。支持所有DoDAF中定义的26种“产品”。
DoDAF目的在于确保架构说明可在不同组织和专业领域间比较和关联,其中包括多国任务、多军种联合作战和业务领域。它通过操作面、系统面和技术标准面三种视图面为系统架构描述提供了规范。
I-Logix同期发布Rhapsody ATG自动测试生成组件,全面支持DoDAF测试用例自动生成。Rhapsody TestConductor提供可执行模型自动驱动测试功能。具备高级文档同步功能,自动生成或同步文档,支持DoDAF标准。
DoDAF-美国国防部架构框架
C4ISR系统,也称为“
军队指挥自动化”系统。美军新时代军事转型的核心,是从以平台为中心转向以网络为中心,并将“
网络中心战”列为未来的主要作战样式,提出了开发建设将陆、海、空和太空的各种传感器系统、指挥控制系统和武器系统集成为一体的系统之系统。为此,美国制定了(DoDAF)标准,替代了C4ISR AF2.0框架成为目前最新的美军
C4ISR系统标准。