● 摘要
实时系统广泛应用于各个领域,其主要特点是:系统中的任务执行不但要结果正确,而且必须在一定的时限(Deadline)内完成[1]。最差执行时间分析(Worst-case Execution Time Analysis,简称WCET分析)用于估算实时系统中指定任务执行时间的最大值(即WCET)。这些结果作为实时调度算法的输入,来验证目标系统任务集的时间要求。WCET分析的意义在于为实时系统工程师验证实时系统的时间约束提供时间依据。WCET分析主要在三个层面进行:一为源代码层执行控制流分析,二为编译层分析,三为硬件相关的体系结构分析。本文对WCET计算源程序层分析展开了相关研究。一、本文重点研究了WCET计算中源代码层的首要任务:获取程序执行控制流。对程序控制流的定义及具体研究范围进行了讨论,并探讨了WCET计算中对输入应用语言的限制及其原因。二、研究与讨论了基于语法树的程序控制流分析技术及其关键问题,如循环嵌套和循环边界确定等,并给出了一种针对WCET计算的语法树构造方法。三、根据源代码层基于语法树的程序控制流分析的相关研究,设计与实现了一种针对ANSI C语言的控制流分析工具:ATCFC(Analysis Tool for Program Control Flow in ANSI C)。该工具可以针对某段C语言程序,分析及获取其程序控制流信息,作为进一步估算该程序WCET的基础。