使用 TTCN - 3 测试嵌入式控制系统
在测试领域,对于离散控制系统的测试已经有了较为成熟的方法,但对于连续控制系统以及离散与连续系统部分之间关系的基于规格的测试,仍存在不足。TTCN - 3 尤其缺乏对连续和混合行为进行测试的相关概念。为了满足测试连续行为的需求,我们对 TTCN - 3 进行了扩展。
连续 TTCN - 3 的扩展
为了使核心语言满足测试连续行为的要求,我们引入了以下概念:
- 流、流端口和流变量的概念;
- 由全局时钟表示的时间概念及其在测试行为中的采样;
- 控制流结构的定义,以支持对连续行为(结合离散行为)的引导式提供和评估。
类型定义
TTCN - 3 提供了一个复杂的类型系统,用于定义数据结构和测试组件的结构化组装。为了与环境交互,TTCN - 3 使用端口的概念,并区分端口的不同通信特性。为了支持连续系统测试,我们为 TTCN - 3 补充了所谓的流端口。
流端口是一个具有历史记录的命名变量,与基于消息和基于过程的端口不同,它在采样时间定义的每个步骤都接收一个值。我们可以使用运算符 @
和 []
来访问流的当前值和历史记录。例如, x_1@timevalue
可以访问 x_1
在某个特定时间点的分配, x_1[i]
可以访问写入 x_1
的第 i
个值。
以下是流端口类型定义及其在组件类型定义中使用的示例: