[发明专利]一种实时性能测试方法与系统在审
申请号: | 201410367384.0 | 申请日: | 2014-07-29 |
公开(公告)号: | CN104111890A | 公开(公告)日: | 2014-10-22 |
发明(设计)人: | 康一梅;张浩中 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L29/06 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 成金玉;李新华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 性能 测试 方法 系统 | ||
技术领域
本发明涉及嵌入式系统性能测试领域,尤其涉及嵌入式系统上对实时性有较高要求的应用程序的时间性能测试。
背景技术
嵌入式系统中的实时应用程序的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这个结果的时间。嵌入式实时应用程序要求能够在确定的时间内或在指定的时刻完成特定的系统功能或能够与外部或内部的组件同步或异步地做出响应。因此,在设计和实现嵌入式实时应用程序时,需要对程序中的每一个组件的运行时间都能够做到必要精度的预估,否则很难保证在确定的时间内获得想要的处理结果。
现在嵌入式实时应用程序开发人员在进行应用程序开发时,为了预估应用程序中的每一个组件确切地运行时间,只能通过在每个需要预估运行时间的组件前后插入桩语句,并在多次人工运行程序之后才能确定该组件是否满足实时性要求。这样做的缺点非常明显:人工插装很繁琐,相当浪费精力,无法做到对同一条件多次验证,而且得到多次运行程序相关组件的运行时间的统计结果;很难对源代码中出现的递归、循环、扇出等语句块的运行时间进行预估;获取时间的精度与程序员所掌握的获取系统时间的技能相关,一般程序员无法保证获取到高精度的时间数值。所以,需要有一种可以能够对用户所关心的嵌入式实时应用程序中的多个组件进行自动实时性能分析的方法和工具来解放相关开发人员。
发明内容
本发明的技术用于解决问题:克服现有技术的不足,提供一种能够自动对嵌入式实时应用程序进行实时性能进行检测的方法和系统,应用这个方法完成的系统可以根据用户的需要,自动完成对应用程序中的函数、任务,以及函数或任务中的循环、递归或扇出调用等组件运行时间的测量,并能根据测量的结果和用户预先输入的实时性能预期结果,给出该应用程序的实时性能分析报告,以便用户能够根据分析报告优化应用程序中不符合要求的组件。本发明实现了对嵌入式实时应用程序的实时性能全自动测试,具有测试过程全自动化、误差小和结果详尽的优点,完全能够满足用户对于嵌入式实时应用程序实时性能测试的需求。
为了实现上述目的,本发明提供了一种能够自动对嵌入式实时应用程序进行实时性能进行检测的方法,该方法包括以下步骤:
A.在上位机中对应用程序源代码进行时间特征建模,以便能够得到该应用程序源代码的所有关键时间节点的信息。如图2所示,所述应用程序的时间特征模型的关键时间节点包括时间起始节点、时间截止节点、递归关键时间节点、循环关键时间节点、扇出关键时间节点、函数或任务结束节点、return结束节点;其中循环关键时间节点又包含for循环关键时间节点、while循环关键时间节点和do…while关键时间节点。其中,return是指程序语言中的返回语句的关键字;for、while和do…while是程序编程语言中常见的三种循环控制结构的关键字。
B.利用所述建模过程得到的应用程序时间特征模型完成所述源代码的插桩操作。在对源代码插桩时,需要考虑时间特征模型中的每一个关键时间节点的运行时特征和该节点前后是否有其他语法结构来确定桩语句的位置;影响桩语句插入位置的原因包括关键时间节点前后是否存在其他语句、关键节点前后是否存在圆括号或花括号、关键节点中是否存在return语句等。
C.将所述源代码编译链接好后下载到下位机,并通过所述上位机启动所述应用程序。利用上位机启动所述下位机上的应用程序需要搭建上位机与下位机的专用通信渠道,可以利用串口通信协议或TCP/IP协议完成启动指令的传输和反馈信息的回传。这里的TCP/IP指的是因特网最基本的网络通讯协议,由网络层的IP协议和传输层的TCP协议组成。
D.所述应用程序在运行期间采集测试数据,并根据预先设定的传输规则将实时存储到特定数据容器的数据传回所述上位机。由于只关注函数或任务,以及时间特征模型关键节点的运行时间,故在所述应用程序运行期间采集到的每一条记录只需包含时间信息归属对象编号和运行时间信息;运行时间的检测精度可以根据需要设定为毫秒或纳秒。下位机中用于存储前述记录的数据容器可以采用消息栈、消息队列或消息邮箱来充当,但推荐使用消息栈来存储运行时间记录。所述的传输规则指的是下位机向上位机传输采集到的测试数据的上传时间和上传频率的定义;由于下位机的存储器容量有限,再加上频繁上传数据对应用程序的实时性能有极大的影响,故需要对传输规则进行定义,最理想的情况是在下位机上的应用程序运行完毕后再将所有存储到的数据回传到上位机中处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410367384.0/2.html,转载请声明来源钻瓜专利网。