虚拟圆桌会议Part 1——嵌入式系统信息安全

作者:JEFF SHEPARD   翻译:BMR技术部

嵌入式系统安全包含功能安全(Functional Safety)和信息安全(Security)。EE World组织了这次“虚拟圆桌会议”,该会议由Jeff Shepard(JS)主持,小组成员包括IAR Systems嵌入式安全解决方案总经理Haydn Povey(HP)Silicon Labs物联网安全高级产品经理Mike Dow(MD)LDRA Technology销售和市场副总裁Jim McElroy(JM)HCC Embedded创始人及首席执行官Dave Hughes(DH)

让我们看看国外大咖们关于嵌入式系统信息安全是怎么说的?

当嵌入式开发人员首次开始实现信息安全时,最具挑战性的学习方面是什么?

JS

HP

实现信息安全最具挑战性的方面是了解你要保护的内容,保护谁免受攻击,以及资产的价值或攻击可能导致的影响。对于任何机构来说,这些都是非常难以解答的问题,特别是其潜在的影响,因为参考点相对较少。例如,在最近的一系列攻击发生之前,保护操作技术(Operational Technology-OT)免受恶意软件攻击的必要性被各机构认为是相对低优先级的事项,但许多攻击导致了数千万美元的损失。解决方法是采用一个标准,例如用于消费电子的EN 606345或用于工控和智慧城市应用的IEC 62443。这些标准概述了信息安全的基本要求,例如无固定密码和找到正确的加密身份;公开需要版本管理和代码签名的漏洞;以及需要一个可靠的安全启动过程实现设备更新,保证设备可信并解决缺陷。还有许多其他要求,如安全的通信,但一旦设备有了坚实的安全基础,这些要求很容易实现。

MD

通常,对于信息安全开发的新人来说,最具挑战性的方面是理解信息安全的基本原理。信息安全技术与其他技术一样,你必须了解技术的工作原理才能实现它。我认为很多工程师过度关注密码学,这会吓到他们。如果他们可以从系统工程师的角度思考,并将算法视为一个带有输入和输出功能的黑匣子,这样就简化了过程,使基本概念更容易掌握。事实是,如果你不知道非对称加密和对称加密之间的区别—或者哈希函数的作用—你就会不知所措,不太可能实现安全,或者安全性很差。

JM

对于嵌入式软件开发人员来说,学习面临的最大挑战可能集中在理解信息安全需要考虑的内容:安全硬件、安全通信协议、安全操作系统、安全启动、加密、静态和传输中的数据安全、消除安全漏洞的安全编码实践、健壮性测试等。考虑的内容很多,开发一个健壮和安全的嵌入式系统的成本往往也是一个主要考虑因素,需要根据被开发系统的预期风险做出决定。

DH

所有嵌入式开发都具有挑战性,信息安全需求增加了挑战,而挑战程度取决于目标系统特定的安全需求。起点是对你所构建系统的风险进行详细评估,减轻每个风险,同时始终注意风险的混合复杂性。

为了增强嵌入式系统和设备的安全性,设计者可以做的最简单的事情?

JS

DH

设计者需要对他们的设备应该防范的风险进行正确的评估,这是构建安全案例的核心,并确保最终的设计专注于产品的实际需求,避免不必要的复杂性,减少攻击面!

JM

设计者所能做的最简单的事情是应用自动静态分析,利用最新的安全编码标准,如MISRA和CERT,确保安全编码实践和消除安全漏洞。对于嵌入式软件,最佳实践认识到需要从一开始就考虑安全性。在系统建立后,增加安全既不划算,也不起作用。安全编码实践需要在整个组织机构中应用、检查和标准化。实现这一目标的最简单和高效的方法是遵从自动化标准,这也大大提高了嵌入式系统的整体安全性。

MD

在交付产品之前锁定调试端口,这听起来很简单,但你会惊讶有多少次没有这样做。另一个最基本的任务是基于不可变的信任根进行安全启动,安全启动是对抗各种攻击矢量的最有效工具之一。

HP

设计者能做的最简单的事情就是使用正确的工具。安全的实现有许多细微之处和挑战,不能期望每一位工程师都能成为密码学专家。使用正确的工具可以将安全从复杂的工程挑战过渡到每个团队都可以实现的东西。同时也需要与设计师的CISO(信息安全管理员)团队合作。产品标识、漏洞披露和修补方法等方面都是CISO每天在其IT系统上使用的技术,将正确的技术运用到产品中,我们可以确保安全和可用性的平衡。

一般来说,嵌入式设备的安全维护和更新实施情况如何?

JS

JM

大多数嵌入式设备,一旦部署后,就会独立运行,仅在识别到安全漏洞时被“修补”。一旦发现漏洞,往往为时已晚,有价值的信息可能已经被窃取;或者系统已被恶意软件渗透,等待合适的时机执行操作。对这些系统的更新可能需要将系统连接到网络,或者打开设备进行OTA更新。这种修补也需要安全的通信。

MD

不幸的是,安全地OTA更新并不简单;您需要一个安全的启动加载程序和大量的示例代码和文档。在选择供应商时,询问他们对该功能的支持情况非常重要。

HP

通常,许多更新和维护方案都不是很好。没有使用签名来保护代码,从而使恶意软件能够被部署,应用中的许多操作处于较高的等级,显然需要假定系统的所有方面都可能受到损害。事实上,更新的首要原则应该是每个设备都可能受到威胁,因此每个设备都需要一个安全的地方来恢复和补救。在我们的解决方案中,我们专注于自动创建一个健壮、安全的启动管理器,它完成所有裸机工作,以确保设备引导到一个干净安全的空间,然后在那里检查正确的格式化、签名和加密的更新。这种多级方法假定在产品的生命周期内会有许多软件版本,因此,还必须集成版本控制和反滚机制。

DH

 我认为对这样一个问题没有普遍的答案,因为每个设备都有不同的风险。你必须根据设备的目标进行评估。如果数据不是一个安全风险,为什么要保护它?进行正确的风险评估,根据评估建立缓解措施的公司将对其解决方案有很高的信心,不这样做的人无法提出任何有意义的主张。

大多数嵌入式设计人员是否理解安全启动配置的重要性,以及如何和何时使用安全启动来增强嵌入式系统的安全性?

JS

MD

在过去的五年时间里,运行Linux的微处理器中的安全启动里得到了很好的理解和广泛的使用。对于内置闪存的微控制器来说,安全启动仍然是一个非常新的概念,很多工程师没有尝试过。来自ETSI和NIST的IoT新需求,在运行之前对代码进行身份验证,推动了微控制器(MCU)的安全启动需求。

DH

大多数嵌入式开发人员的工作与安全启动配置无关。如果系统设计人员的风险评估要求安全启动,那么相关专家会实现这一点。

JM

在设备被攻击的风险较高的行业(例如航空电子系统、自动车辆控制系统、医疗输液泵),对安全启动重要性的了解更为普遍。这些系统需要最高的信息安全和安全保证等级,因为设备操作人员、乘客或病人的生命和安全可能因设备操作不当而受到不利影响。在松散连接或独立设备中,安全启动配置经常被忽略。

HP

大多数嵌入式开发人员都知道安全启动管理器很重要,然而,即使有了ARM TF-M(Trusted Firmware-M)等技术,安全系统的构建和支持也是一个长期工作。全球网络安全专家缺口约350万,这些需求并不奇怪,很少有工程师有足够的知识来理解他们正在保护什么,在保护谁,以及如何更好地实施解决方案。事实上,EN303645规范要求所有消费类嵌入式系统都有一个安全的启动框架,IEC62443工业物联网在工业领域也是如此。实际上,没有连接的设备不需要安全的启动管理器。

感谢我们的小组成员分享他们的见解和经验!请继续关注虚拟圆桌会议Part 2—— “嵌入式系统的功能安全”!

JS


1.从嵌入式角度分析“可解释性”对人工智能的影响!

2.【MCU】寄存器、标准库、HAL库、LL库,这么多库!你叫我怎么选?

3.用Linux开发嵌入式项目拢共分几步?

4.程序本身如何知道自身大小?这是鸡生蛋还是蛋生鸡的问题!

5.国产集成开发环境助力国产RISC-V打破国外巨头在芯片技术上的垄断

6.做嵌入式开发时,你是怎么实现LCD显示的?

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

目录 知识产权..........................................................................................................................................................13 前言 13 1 本文研究范围........................................................................................................................................14 2 参考........................................................................................................................................................14 3 定义和缩写............................................................................................................................................15 3.1 定义................................................................................................................................................................. 15 3.2 缩写................................................................................................................................................................. 17 4 介绍........................................................................................................................................................17 4.0 概述................................................................................................................................................................. 17 4.1 核心语言和表示格式..................................................................................................................................... 18 4.2 描述的一致性................................................................................................................................................. 19 4.3 一致性............................................................................................................................................................. 19 5 基本语言元素........................................................................................................................................19 5.0 概述................................................................................................................................................................. 19 5.1 语言元素的顺序............................................................................................................................................. 20 5.1.1 向前引用.................................................................................................................................................... 20 5.2 参数化............................................................................................................................................................. 21 5.2.0 静态参数化和动态参数化........................................................................................................................ 21 5.2.1 参数传递——传参和传值........................................................................................................................ 21 5.2.1.0 概要...................................................................................................................................................... 21 5.2.1.1 使用传参的方法传递参数.................................................................................................................. 22 5.2.1.2 使用传值的方法传递参数.................................................................................................................. 22 5.2.2 形参和实参列表........................................................................................................................................ 22 5.2.3 空形参列表................................................................................................................................................ 22 5.2.4 嵌入式参数列表........................................................................................................................................ 22 5.3 范围规则......................................................................................................................................................... 23 5.3.0 概要............................................................................................................................................................ 23 5.3.1 形参的作用范围........................................................................................................................................ 24 5.3.2 标识符的唯一性........................................................................................................................................ 25 5.4 标识符和关键字............................................................................................................................................. 25 6 类型和值................................................................................................................................................25 6.0 概要................................................................................................................................................................. 25 6.1 基本类型和值................................................................................................................................................. 26 6.1.0 简单基本类型和值.................................................................................................................................... 26 6.1.1 基本串类型和值........................................................................................................................................ 27 6.1.2 存取单个串元素........................................................................................................................................ 29 6.2 基本类型的子类型 ......................................................................................................................................... 29 6.2.0 概要............................................................................................................................................................ 29 6.2.1 值列表........................................................................................................................................................ 29 6.2.2 值域............................................................................................................................................................ 29 6.2.2.0 概要...................................................................................................................................................... 29 6.2.2.1 无限值域.............................................................................................................................................. 30 6.2.2.2 列表和值域的混合.............................................................................................................................. 30 6.2.3 串长度限定................................................................................................................................................ 30 6.3 结构化的类型和值......................................................................................................................................... 30 6.3.0 概要............................................................................................................................................................ 30 6.3.1 记录类型和值............................................................................................................................................ 31 6.3.1.0 概要...................................................................................................................................................... 31 6.3.1.1 引用一个record类型的字段................................................................................................................ 32 6.3.1.2 record类型的可选元素........................................................................................................................ 32 6.3.2 集合(Set)类型和值............................................................................................................................... 32 6.3.2.0 概要...................................................................................................................................................... 32 6.3.2.1 对集合类型字段的引用...................................................................................................................... 33 6.3.2.2 集合中的可选元素.............................................................................................................................. 33 6.3.3 单一类型的记录和集合类型.................................................................................................................... 33 6.3.4 枚举类和值................................................................................................................................................ 34 6.3.5 联合类型.................................................................................................................................................... 35 6.3.5.0 概要...................................................................................................................................................... 35 6.3.5.1 对union类型字段的引用..................................................................................................................... 35 6.3.5.2 可选性和联合类型.............................................................................................................................. 36 6.4 任意类型......................................................................................................................................................... 36 6.5 数组................................................................................................................................................................. 36 6.6 递归类型......................................................................................................................................................... 37 6.7 类型兼容性..................................................................................................................................................... 37 6.7.0 概要............................................................................................................................................................ 37 6.7.1 非结构化类型的类型兼容性.................................................................................................................... 37 6.7.2 结构化类型的类型兼容性........................................................................................................................ 38 6.7.2.0 概要...................................................................................................................................................... 38 6.7.2.1 枚举类型的兼容性.............................................................................................................................. 38 6.7.2.2 record和record of类型的类型兼容性.................................................................................................. 38 6.7.2.3 set和set of类型的类型兼容性............................................................................................................. 39 6.7.2.4 子结构的兼容性.................................................................................................................................. 40 6.7.3 成分类型的类型兼容性 ................................................................................................................................... 40 6.7.4 通信操作的类型兼容性............................................................................................................................ 40 6.7.5 类型变换.................................................................................................................................................... 40 7 模块(Modules )..................................................................................................................................40 7.0 概要................................................................................................................................................................. 40 7.1 模块的命名..................................................................................................................................................... 41 7.2 模块参数......................................................................................................................................................... 41 7.2.0 概要............................................................................................................................................................ 41 7.2.1 模块参数的默认值.................................................................................................................................... 41 7.3 模块定义部分................................................................................................................................................. 41 7.3.0 概要............................................................................................................................................................ 41 7.3.1 组定义........................................................................................................................................................ 42 7.4 模块控制部分................................................................................................................................................. 43 7.5 从模块引入..................................................................................................................................................... 43 7.5.0 概要............................................................................................................................................................ 43 7.5.1 可引入定义的结构.................................................................................................................................... 44 7.5.2 使用引入操作的规则................................................................................................................................ 45 7.5.3 递归引入Recursive import ........................................................................................................................ 47 7.5.4 引入单个定义............................................................................................................................................ 48 7.5.5 引入一个模块的所有定义........................................................................................................................ 48 7.5.6 引入组........................................................................................................................................................ 49 7.5.7 引入相同种类的定义................................................................................................................................ 49 7.5.8 处理引入中的名字冲突............................................................................................................................ 50 7.5.9 处理相同定义的多个引用........................................................................................................................ 50 7.5.10 从非TTCN-3模块中引入定义.................................................................................................................. 51 8 测试配置................................................................................................................................................51 8.0 概要................................................................................................................................................................. 51 8.1 端口通信模型................................................................................................................................................. 52 8.2 连接上的限制................................................................................................................................................. 52 8.3 抽象测试系统接口 ......................................................................................................................................... 54 8.4 定义通信端口类型 ......................................................................................................................................... 55 8.4.0 概要............................................................................................................................................................ 55 8.4.1 混合型端口................................................................................................................................................ 55 8.5 定义通信类型................................................................................................................................................. 56 8.5.0 概要............................................................................................................................................................ 56 8.5.1 在一个成分中声明本地变量和定时器.................................................................................................... 56 8.5.2 定义带有端口数组的成分........................................................................................................................ 57 8.6 SUT 内部的编址实体...................................................................................................................................... 57 8.7 成分引用......................................................................................................................................................... 57 8.8 定义测试系统接口 ......................................................................................................................................... 58 9 常量声明................................................................................................................................................59 10 变量声明................................................................................................................................................59 11 定时器声明............................................................................................................................................59 11.0 概要................................................................................................................................................................. 59 11.1 定时器做参数................................................................................................................................................. 60 12 消息声明................................................................................................................................................60 13 过程特征的声明....................................................................................................................................60 13.0 概要................................................................................................................................................................. 60 13.1 阻塞的和非阻塞的通信中的过程特征.......................................................................................................... 61 13.2 过程特征的参数............................................................................................................................................. 61 13.3 远程过程的返回值......................................................................................................................................... 61 13.4 例外描述......................................................................................................................................................... 61 14 模板声明................................................................................................................................................62 14.0 概要................................................................................................................................................................. 62 14.1 消息模板的声明............................................................................................................................................. 62 14.1.0 概要............................................................................................................................................................ 62 14.1.1 用于发送消息的模板................................................................................................................................ 63 14.1.2 用于接收消息的模板................................................................................................................................ 63 14.2 过程特征模板的声明..................................................................................................................................... 63 14.2.0 概要............................................................................................................................................................ 63 14.2.1 用于过程调用的模板................................................................................................................................ 64 14.2.2 用于接收过程调用的模板........................................................................................................................ 64 14.3 模板匹配机制................................................................................................................................................. 65 14.4 模板参数化..................................................................................................................................................... 66 14.4.0 概要............................................................................................................................................................ 66 14.4.1 带有匹配属性的参数化............................................................................................................................ 66 14.5 作为参数传递模板 ......................................................................................................................................... 67 14.6 修改模板......................................................................................................................................................... 67 14.6.0 概要............................................................................................................................................................ 67 14.6.1 修改模板的参数化.................................................................................................................................... 68 14.6.2 嵌入式修改模板........................................................................................................................................ 68 14.7 改变模板字段................................................................................................................................................. 68 14.8 匹配操作......................................................................................................................................................... 68 14.9 操作的值......................................................................................................................................................... 69 15 运算符....................................................................................................................................................69 15.0 概要................................................................................................................................................................. 69 15.1 算术运算符..................................................................................................................................................... 71 15.2 串运算符......................................................................................................................................................... 71 15.3 关系运算符..................................................................................................................................................... 71 15.4 逻辑运算符..................................................................................................................................................... 73 15.5 位运算符......................................................................................................................................................... 73 15.6 移位运算符..................................................................................................................................................... 74 15.7 循环移位运算符............................................................................................................................................. 75 16 函数和可选步........................................................................................................................................75 16.1 函数................................................................................................................................................................. 75 16.1.0 概要............................................................................................................................................................ 75 16.1.1 函数的参数化............................................................................................................................................ 76 16.1.2 调用函数.................................................................................................................................................... 76 16.1.3 预定义的函数............................................................................................................................................ 77 16.2 可选步............................................................................................................................................................. 78 16.2.0 概要............................................................................................................................................................ 78 16.2.1 可选步的参数化........................................................................................................................................ 78 16.2.2 可选步中的局部定义................................................................................................................................ 78 16.2.2.0 概要...................................................................................................................................................... 78 16.2.2.1 可选步中局部定义初始化的限制...................................................................................................... 79 16.2.3 可选步的调用............................................................................................................................................ 79 16.3 用于不同成分类型的函数和可选步.............................................................................................................. 80 17 测试例....................................................................................................................................................80 17.0 概要................................................................................................................................................................. 80 17.1 测试例的参数化............................................................................................................................................. 81 18 程序语句和操作的纵览........................................................................................................................81 19 基本的程序语句....................................................................................................................................83 19.0 概要................................................................................................................................................................. 83 19.1 表达式............................................................................................................................................................. 83 19.1.0 概要............................................................................................................................................................ 83 19.1.1 布尔表达式................................................................................................................................................ 83 19.2 赋值................................................................................................................................................................. 84 19.3 日志语句......................................................................................................................................................... 84 19.4 标签语句......................................................................................................................................................... 84 19.5 Goto语句......................................................................................................................................................... 84 19.6 If-else 语句...................................................................................................................................................... 85 19.7 for语句............................................................................................................................................................. 86 19.8 While语句 ....................................................................................................................................................... 86 19.9 do-while语句................................................................................................................................................... 86 19.10 停止执行语句................................................................................................................................................. 87 20 行为的程序语句....................................................................................................................................87 20.0 概要................................................................................................................................................................. 87 20.1 选择性行为..................................................................................................................................................... 87 20.1.0 概要............................................................................................................................................................ 87 20.1.1 选择对象行为的执行................................................................................................................................ 89 20.1.2 选择对象的选择和去除选择.................................................................................................................... 90 20.1.3 选择对象中的Else分支............................................................................................................................. 90 20.1.4 空................................................................................................................................................................ 91 20.1.5 alt语句的再次求值.................................................................................................................................... 91 20.1.6 作为选择对象的可选步的调用................................................................................................................ 91 20.2 repeat语句........................................................................................................................................................ 91 20.3 交叉的行为..................................................................................................................................................... 92 20.4 返回语句......................................................................................................................................................... 93 21 默认处理................................................................................................................................................93 21.0 概要................................................................................................................................................................. 93 21.1 默认机制......................................................................................................................................................... 94 21.2 缺省引用......................................................................................................................................................... 94 21.3 激活操作......................................................................................................................................................... 95 21.3.0 概要............................................................................................................................................................ 95 21.3.1 参数化可选步的激活................................................................................................................................ 95 21.4 去激活操作..................................................................................................................................................... 95 22 配置操作................................................................................................................................................96 22.0 概要................................................................................................................................................................. 96 22.1 创建操作......................................................................................................................................................... 96 22.2 连接和映射操作............................................................................................................................................. 97 22.2.0 概要............................................................................................................................................................ 97 22.2.1 一致性连接和映射.................................................................................................................................... 98 22.3 断开连接和取消映射操作 ............................................................................................................................. 98 22.4 MTC、System和Self 操作.............................................................................................................................. 98 22.5 启动测试成分操作 ......................................................................................................................................... 99 22.6 停止测试成分操作 ......................................................................................................................................... 99 22.7 运行操作....................................................................................................................................................... 100 22.8 完成操作....................................................................................................................................................... 100 22.9 使用成分数组............................................................................................................................................... 101 22.10 带有成分的any和all的使用总结.................................................................................................................. 102 23 通信操作..............................................................................................................................................102 23.0 概要............................................................................................................................................................... 102 23.1 通信操作的通用格式 ................................................................................................................................... 103 23.1.0 概要.......................................................................................................................................................... 103 23.1.1 发送操作的通用格式.............................................................................................................................. 103 23.1.2 接收操作的通用格式.............................................................................................................................. 104 23.2 基于消息的通信........................................................................................................................................... 104 23.2.0 概要.......................................................................................................................................................... 104 23.2.1 发送操作.................................................................................................................................................. 105 23.2.2 接收操作.................................................................................................................................................. 105 23.2.2.0 概要.................................................................................................................................................... 105 23.2.2.1 接收任意消息.................................................................................................................................... 106 23.2.2.2 在任意端口上接收............................................................................................................................ 106 23.2.3 触发操作.................................................................................................................................................. 106 23.2.3.0 概要.................................................................................................................................................... 106 23.2.3.1 在任意消息上的触发........................................................................................................................ 107 23.2.3.2 在任意端口上的触发........................................................................................................................ 107 23.3 基于过程的通信........................................................................................................................................... 107 23.3.0 概要.......................................................................................................................................................... 107 23.3.1 调用操作.................................................................................................................................................. 108 23.3.1.0 概要.................................................................................................................................................... 108 23.3.1.1 处理对一个调用的响应和例外........................................................................................................ 109 23.3.1.2 处理调用的超时例外........................................................................................................................ 109 23.3.1.3 调用不带返回值、输出参数、输入/出参数和例外的阻塞类过程................................................ 110 23.3.1.4 调用非阻塞类过程............................................................................................................................ 110 23.3.2 getcall操作............................................................................................................................................... 110 23.3.2.0 概要.................................................................................................................................................... 110 23.3.2.1 接收任意调用.................................................................................................................................... 111 23.3.2.2 在任意端口上获得调用.................................................................................................................... 111 23.3.3 应答操作.................................................................................................................................................. 111 23.3.4 获得应答操作.......................................................................................................................................... 112 23.3.4.0 概要.................................................................................................................................................... 112 23.3.4.1 获得任意应答.................................................................................................................................... 113 23.3.4.2 在任意端口上获得应答.................................................................................................................... 113 23.3.5 Raise操作................................................................................................................................................. 113 23.3.6 捕获操作.................................................................................................................................................. 113 23.3.6.0 概要.................................................................................................................................................... 113 23.3.6.1 超时例外............................................................................................................................................ 114 23.3.6.2 捕获任何意外.................................................................................................................................... 114 23.3.6.3 在任意端口上的捕获........................................................................................................................ 114 23.4 检查操作....................................................................................................................................................... 115 23.4.0 概要.......................................................................................................................................................... 115 23.4.1 检查任意操作.......................................................................................................................................... 115 23.4.2 在任意端口上的检查.............................................................................................................................. 115 23.5 控制通信端口............................................................................................................................................... 116 23.5.0 概要.......................................................................................................................................................... 116 23.5.1 清除端口操作.......................................................................................................................................... 116 23.5.2 启动端口操作 (The Start port operation )............................................................................................ 116 23.5.3 停止端口操作.......................................................................................................................................... 116 23.6 any和all与端口一起使用.............................................................................................................................. 117 24 定时器操作..........................................................................................................................................117 24.0 概要............................................................................................................................................................... 117 24.1 启动定时器操作........................................................................................................................................... 117 24.2 停止定时器操作........................................................................................................................................... 118 24.3 读定时器操作............................................................................................................................................... 118 24.4 运行定时器操作........................................................................................................................................... 118 24.5 超时操作....................................................................................................................................................... 119 24.6 与定时器一起使用的any和all的总结.......................................................................................................... 119 25 测试判定操作......................................................................................................................................119 25.0 概要............................................................................................................................................................... 119 25.1 测试例判定................................................................................................................................................... 120 25.2 判定值和重写规则....................................................................................................................................... 120 25.2.0 概要.......................................................................................................................................................... 120 25.2.1 错误判定.................................................................................................................................................. 121 26 外部动作..............................................................................................................................................121 27 模块控制部分......................................................................................................................................122 27.0 概要............................................................................................................................................................... 122 27.1 测试例的执行............................................................................................................................................... 122 27.2 测试例的终止 (Termination of test cases )................................................................................................ 122 27.3 测试例的控制执行....................................................................................................................................... 122 27.4 测试例选择................................................................................................................................................... 123 27.5 控制部分中定时器的使用 ........................................................................................................................... 124 28 描述属性..............................................................................................................................................124 28.0 概要............................................................................................................................................................... 124 28.1 显示属性....................................................................................................................................................... 124 28.2 值的编码....................................................................................................................................................... 125 28.2.0 概要.......................................................................................................................................................... 125 28.2.1 编码属性.................................................................................................................................................. 125 28.2.2 变量属性.................................................................................................................................................. 125 28.2.3 专用串...................................................................................................................................................... 126 28.2.4 无效的编码.............................................................................................................................................. 127 28.3 扩展属性....................................................................................................................................................... 127 28.4 属性的范围................................................................................................................................................... 127 28.5 属性的重写规则........................................................................................................................................... 127 28.6 改变引入语言元素的属性 ........................................................................................................................... 128 附录A (范式): BNF和静态语义...................................................................................................................130 A.1 TTCN-3 BNF .......................................................................................................................................130 A.1.0 概要............................................................................................................................................................... 130 A.1.1 语法描述的转换........................................................................................................................................... 130 A.1.2 语句终结符................................................................................................................................................... 130 A.1.3 标识符........................................................................................................................................................... 130 A.1.4 注释............................................................................................................................................................... 130 A.1.5 TTCN-3终结符.............................................................................................................................................. 131 A.1.6 TTCN-3句法BNF形式.................................................................................................................................. 132 A.1.6.0 TTCN模块............................................................................................................................................... 132 A.1.6.1 模块定义部分.......................................................................................................................................... 133 A.1.6.1.0 概要.................................................................................................................................................... 133 A.1.6.1.1 Typedef定义....................................................................................................................................... 133 A.1.6.1.2 常量定义............................................................................................................................................ 134 A.1.6.1.3 模板定义............................................................................................................................................ 134 A.1.6.1.4 函数定义............................................................................................................................................ 136 A.1.6.1.5 过程特征定义.................................................................................................................................... 136 A.1.6.1.6 测试例定义........................................................................................................................................ 136 A.1.6.1.7 可选步定义........................................................................................................................................ 137 A.1.6.1.8 引入定义............................................................................................................................................ 137 A.1.6.1.9 组定义................................................................................................................................................ 138 A.1.6.1.10 外部函数定义.................................................................................................................................... 138 A.1.6.1.11 外部常量定义.................................................................................................................................... 138 A.1.6.1.12 模块参数定义.................................................................................................................................... 138 A.1.6.2 控制部分.................................................................................................................................................. 139 A.1.6.2.0 概要.................................................................................................................................................... 139 A.1.6.2.1 变量实例化........................................................................................................................................ 139 A.1.6.2.2 定时器实例化.................................................................................................................................... 139 A.1.6.2.3 测试成分操作.................................................................................................................................... 139 A.1.6.2.4 端口操作............................................................................................................................................ 140 A.1.6.2.5 定时器操作........................................................................................................................................ 141 A.1.6.3 类型.......................................................................................................................................................... 141 A.1.6.4 值.............................................................................................................................................................. 142 A.1.6.5 参数化...................................................................................................................................................... 143 A.1.6.6 With语句.................................................................................................................................................. 143 A.1.6.7 行为语句.................................................................................................................................................. 144 A.1.6.8 基本语句.................................................................................................................................................. 145 A.1.6.9 其它产生式.............................................................................................................................................. 146 附录 B (范式): 匹配引入值..................................................................................................................147 B.1 模板匹配机制......................................................................................................................................147 B.1.0 概要............................................................................................................................................................... 147 B.1.1 匹配特殊值................................................................................................................................................... 147 B.1.1.1 省略值...................................................................................................................................................... 147 B.1.2 匹配机制代替值........................................................................................................................................... 147 B.1.2.0 概要.......................................................................................................................................................... 147 B.1.2.1 值列表...................................................................................................................................................... 148 B.1.2.2 值列表的补集.......................................................................................................................................... 148 B.1.2.3 任意值...................................................................................................................................................... 148 B.1.2.4 任意值或空.............................................................................................................................................. 148 B.1.2.5 值域.......................................................................................................................................................... 149 B.1.2.6 超集.......................................................................................................................................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值