第3章:TTCN-3基础-笔记

来源:互联网 发布:蓝牙控制小车app源码 编辑:程序博客网 时间:2024/05/24 15:41

结构

1、标示符

  • 必须包含字母,可以包含下划线
  • 以字母开头,区分大小写

2、模块

  • 定义部分
  • 可选的控制部分

3、范围

  • 模块定义部分
  • 模块控制部分
  • 元件类型
  • 函数
  • altstep
  • test case
  • 语句块
  • 实例
  • 用户定义名称类型

4、常数

  • 关键字const
  • 必须在声明的时候赋值
  • 不能使用rnd()函数

5、变量

  • 关键字var
  • 不能再模块层声明,即不允许全局变量
  • 声明时可以赋值,如果为赋值前读或用将导致run-time error

9、函数

  • 关键字function在模块定义部分中定义
  • type前加in传递数,outinout传递reference
  • 支持外部函数external

11、参数初始值

  • in可以有初始值,outinout不能有
  • 带初始值的参数后面跟无初始值的参数,中间使用破折号隔开

语句

1、操作符、表达式、赋值

  • 数学:+, -, *, /, mod, rem
  • 关系:==, <, >, != , >=,<=
  • 逻辑:not and, or, xor
  • 字符:not4b, and4b, xor4b, or4b
  • 字符串:&, <<, >>, <@, @>

2、选择语句

  • if-else
  • select-case

3、循环

  • for
  • do-while
  • while
    支持break和continue

4、label和goto

  • label:定义逻辑语句块中独一无二的标签
  • goto:直接跳到同一语句块中label的位置,不允许跨函数、test case或控制部分的跳,也不允许跳入循环和if-else。

5、log

  • 可以log变量、数组元素、常数、函数参数;也可log测试组件引用、模板、timer和相关TTCN-3操作
  • 函数参数只有当return定义时才可以被引用
  • 不建议log影响测试动作或包含loop结构的实例

6、控制部分

  • 相当于main函数

7、预处理宏

  • 宏可以使用在定义或控制部分
  • 模板和注释中的字符串值不会被宏替换
0 0