产品介绍:
您软件的执行时间是多少?
+ 确定软件的最差情况执行时间
+ 确定最差情况下执行的代码
+ 优化最差情况的瓶颈
+ 消除与时间有关的错误
+ 提供代码覆盖率信息
最差执行时间分析
各个软件模块的最大执行时间的精确信息,称为最差情况执行时间(WCET)。确保软件执行时间满足约束条件要求是保证实时系统能够正常工作的关键。
RapiTime提供了一个完整的解决方案用以确定系统的WCET,适用于各种实时系统软件的执行时间分析。
主要特点
RapiTime能够:
- 确定各个组件准确的WCET
- 标识出在最差情况下所执行的代码
- 对影响最差情况的瓶颈和它们在最差情况执行时间中所占的比例提供详细的分析
- 提供代码覆盖率的信息
- 生成执行时间配置文件用于说明由于硬件的变化而引起的执行时间的变化
分析能力
RapiTime 可以方便的生成进行WCET 报表,用图表的方式显示执行时间的变化,对于在最差情况下执行的代码使用不同的颜色进行表示。
RapiTime 可以分析数十万行计的 C 或 Ada 代码
RapiTime 支持8、16和32位 CPU,支持高级处理器上的硬件功能,如数据和指令缓存、流水线和分支预测单元。
创新
RapiTime将三种创新性的技术组合在一起:
- RapiTime认识到对于处理器来说最佳的模型就是处理器本身。RapiTime 使用在线测试用于测量代码分支的执行时间。
- 相比之下,离线的静态分析是确定代码整体架构及执行路径的最好方法,因此RapiTime 使用路径分析技术来构建代码结构的一个精确的模型。
- RapiTime将测量和路径分析的信息组合在一起,进一步计算最差情况执行时间,并能够根据硬件的不同准确地捕获每个单个路径上执行时间的变化。
RapiTime 是唯一能够对高级处理器进行WCET分析的商用软件
BAE使用RapiTime在“鹰”式飞机项目中
“鹰”式飞机的任务计算机上的飞行操作程序(OFP)由数十万行Ada 程序组成,做为25个独立的分区(partition)运行在一个PowerPC 7410处理器上。
客户希望将OFP的整个执行时间减少10%。项目的重点集中在其中的4个partition上,这4个partition的运行时间占了总时间的25%。项目组使用RapiTime工具降低了这4个partition的执行时间。
最差执行时间的瓶颈
与不同常规的技术不同,RapiTime是从代码真实执行时间的角度来识别WCET,能够识别出在最差情况下所执行的Ada代码,而常规的技术只能识别出最频繁执行的代码以及执行时间的平均值。
对最长执行时间的贡献
将对程序结构的静态分析与时间跟踪信息相结合从而进行全面的测试,RapiTime 可以提供每个子程序对于最差情况执行时间的影响信息并识别出需要进行优化的子程序。
模拟
接着使用RapiTime可以分析这些子程序通过优化后能够降低执行时间的可能性,对于一些子程序来说,对其进行优化能够降低这些子程序潜在的执行时间,而对于另外一些子程序来说,进行优化可能使得最差情况执行路径中的执行代码发生变化从而起不到应有的效果。
通过对候选的待优化程序进行检查,检查Ada的源代码以及在某些情况下由编译器产生的对象代码。通过检查发现,有些结构代码对于最差情况执行时间的影响很大,同时有很大的优化空间。
代码优化
优化包括:删除重复的对大型数据结构的拷贝,重写部分代码使得编译器可以生成更有效的对象代码(这部分在最差情况中被某个子程序调用超过700次),使用查找表代替某些条件判断(这部分在最差情况中被调用了450次)。
将最差情况执行时间降低了23%
通过使用RapiTime对系统的最差情况执行时间进行分析,经过优化后的程序减少了23%的WCET。这对于软件的开发和验证工作有很大的影响,确保了软件的效率和时间。
为了达到降低WCET的目的,只需要对所选分区中子程序1%的代码进行修改就可以了
通过本阶段的工作,最差执行时间已经能够满足预期的要求,同时,该阶段的成功意味着设计者未来可以不需要昂贵的硬件升级就能够容易的将新功能添加到任务计算机中。
“我们很欣喜通过使用RapiTime很容易的达到了我们这一阶段的目标。”BAE项目的软件经理Dean Armstrong表示“我们的项目组正在研究如何在将来的“鹰”式飞机的软件开发中将RapiTime做为一个标准化的工具。
获得BAE系统主席奖
为了表彰RapiTime为“鹰”式教练机项目的成功所做的贡献,RapiTime被授予了BAE系统主席奖,双方会在新一代的“开放架构的任务计算机”项目中继续展开合作。
|