信息物理融合系统WCET分析工具与挑战
2019-12-01罗韶杰张立臣
文/罗韶杰 张立臣
1 信息物理融合系统WCET相关概念
信息物理系统是这样一类系统:其通过集成先进的感知、计算、通信和控制等信息技术以及自动化控制技术,构建了物理世界与信息世界中人、机、物、环境和信息等因素通过高效协同适时交互以达到相互映射的复杂系统,其实现了系统里面资源自动配置和运行的三个需求:按需响应、快速迭代和动态优化。信息物理融合系统具有实时的特性和需求,所以其调度需要以任务的WCET作为输入之一,因此WCET分析是CPS任务调度的基础之一。
一个任务的最坏执行时间指的是此任务在特定的硬件平台上去执行所需要的时间长度的最大值。最坏执行时间的分析是具有实时性要求的系统的调度分析中最重要的事情之一。实时计算的主要特征是在给定时间内或在给定期限内完成计算的要求。计算或执行时间通常在某种程度上取决于输入数据和其他可变条件。然后重要的是找到最坏情况下的执行时间(WCET)并验证它足够短以满足所有情况下的截止期限。
2 WCET分析的类别
WCET 分析可以分成静态分析、动态测量和混合方法共3 类方法。动态测量方法指的是直接在目标环境中运行程序,通过尽可能多的测试用例来得出程序的WCET。因此其测量工具有模拟器、逻辑分析仪和示波器等,主要应用在工业上。静态分析方法则通过抓取和分析程序代码,综合程序所有可能的输入,系统运行状态和软硬件间平台及交互的前提下,对软硬件进行建模分析以确定其最坏执行时间,而无需真实地运行程序。静态分析首先进行代码的高层分析和结合硬件的低层分析,然后通过3种方法之一求解WCET,分别是基于路径的、基于隐藏路径的和基于语法树的分析方法。混合方法指的是结合静态分析和动态测量两种方法,综合考虑并求解WCET的方法。
3 WCET分析的工具
现有的一些工具使用的是程序的纯静态分析;而其他的另一些工具将静态分析与程序部分执行时间的动态测量相结合,即使用的是混合方法。下面列举几种常用的工具,除此之外还有OTAWA、MTime、TuBound等工具。
3.1 aiT
AbsInt的aiT是一个时间验证工具。采用静态WCET分析用于计算任务实际WCET的安全上限。它的目标处理器范围较为广,从简单的体系结构到较为复杂的体系结构都有。aiT的主要输入是二进制可执行文件,从中重构控制流程图。在这个图上,进行了几个静态分析来计算每个指令的执行时间。然后使用全局路径分析来计算任务的整体WCET界限。然后将分析结果可视化给用户。
3.2 Bound-T
Bound-T是芬兰航天中心为欧洲航天协会开发的一个WCET分析工具,其由Tidorum Ltd.公司进行商业分销和支持,基于可执行代码进行静态WCET 分析,因为Bound-T是通过从可执行文件中提取和解码二进制指令来构造控制流和调用图,所以其分析过程是独立于程序的源代码的,因此可以对不同的语言开发的程序进行WCET 分析。Bound-T专注于具有可预测时序的微控制器。不考虑高速缓存和其他具有非常动态性的硬件组件。
4 WCET分析面临的挑战
WCET的动态测量方法由于其用例范围可能是无限的,无法完全覆盖到,因此使用这种方法得出来的分析值可能会低于真实的WCET值,若使用这种小于真实WCET的值来分配时间给实时任务,可能会造成任务无法按时完成从而导致不可预料的后果。
在静态分析WCET方面,与大多数程序分析应用程序不同,WCET工具必须分析机器代码,而不仅仅是源代码。这意味着分析依赖于目标处理器,因此WCET工具通常会有几个不同的版本,每个版本分别对应着每个支持的目标处理器甚至每个具有特定缓存和内存接口的目标系统。机器代码分析的某些部分也可能依赖于生成机器代码的编译器。例如,switch case语句中的控制流分析可能对编译器通过地址表使用跳转的惯用方法很敏感。然而现在处理器和编译器的种类繁多,内部的技术也不尽相同,导致现有的WCET分析工具无法全部或广泛顾及到。
通常,WCET工具使用简化近似值,从而确定WCET的上限,而非真正的WCET。真正的WCET和所求得的上限之间的差异,在某些情况下可能比较大,即估算的WCET精确度在某些情况下可能较低,导致分配给任务的时间和临界资源可能会过多,而造成较大的时空资源的浪费。对于大多数真实的、非平凡的程序来说,完全自动的WCET分析是不可能的,这意味着仍然需要手动注释或断言来定义诸如循环迭代边界之类的基本信息。对此类注释的需求以及注释的编写形式取决于WCET工具和要分析的目标程序。
5 结束语
自21世纪以来,世界上的信息化水平越来越高,越来越普及,并渗透进了物理世界。物理世界和信息世界早已不是互相独立的个体了,信息物理融合系统就是一个印证,信息物理融合系统广泛应用于智能电网、车联网和自动驾驶等和我们生活息息相关的诸多领域,WCET分析作为CPS的重要基础技术之一,其发展牵动着CPS。
WCET分析领域发展了二三十年,取得了一些成果,但也存在着很多不足,面临着很多挑战,因此需要更多的相关领域人员参与其研究,结合高速发展的现代科学技术,推进WCET的进一步发展,使其更好地造福CPS和更多的领域。