第1章 网络协议及开发概论
1.1 早期的通信及协议
1.1.1 早期的通信系统
1.1.2 协议缺陷的教训
1.2 通信与计算机的结合
1.2.1 数据通信
1.2.2 计算机网络
1.3 网络协议及其基本元素
1.3.1 网络协议的定义
1.3.2 网络协议的基本要素
1.3.3 简单协议的分析
1.4 分层结构与OSI模型
1.4.1 分层结构的意义
1.4.2 OSI模型
1.5 网络协议的开发过程
思考与练习
第2章 协议的形式化模型
2.1 有限状态机(FSM)
2.1.1 FSM的基本定义
2.1.2 FSM的化简与复合
2.1.3 协议的FSM模型
2.2 Petri网
2.2.1 Petri网的基本定义
2.2.2 Petri网的性质
2.2.3 Petri网的分析
2.2.4 协议的Petri网模型
2.3 时态逻辑(TL)
2.3.1 基本术语
2.3.2 时态逻辑系统
2.3.3 协议的TL模型
2.4 通信进程演算
2.4.1 CCS的基本定义
2.4.2 CCS的扩展
2.4.3 协议的CCS模型
思考与练习
第3章 网络协议的形式描述语言
3.1 ESTELLE
3.1.1 概述
3.1.2 模块及相关概念
3.1.3 模块通信
3.1.4 状态转换
3.1.5 ESTELLE描述举例
3.2 LOTOS
3.2.1 概述
3.2.2 进程及相关概念
3.2.3 行为算子
3.2.4 抽象数据类型
3.2.5 LOTOS描述举例
3.3 SDL
3.3.1 概述
3.3.2 结构的定义
3.3.3 进程的行为
3.3.4 通信机制
3.3.5 数据
3.3.6 SDL描述举例
思考与练习
第4章 协议的形式化验证
4.1 协议性质概述
4.2 系统断言语言
4.2.1 字符串及其运算
4.2.2 抽象结构
4.2.3 断言语言CTL
4.2.4 CTL算子的不动点特性
4.2.5 CTL描述举例
4.3 不变性分析
4.4 可达性分析
4.5 符号模型检验
4.5.1 有序二叉判决图
4.5.2 基于OBDD的符号模型检验
思考与练习
第5章 协议的形式化综合
5.1 概述
5.2 FSM网及其性质
5.3 协议的串行综合
5.4 协议的交替功能综合
5.5 冲突和同步的解决方法
5.5.1 竞争冲突解决策略
5.5.2 冲突标识方法
5.5.3 同步的充要条件
思考与练习
第6章 网络协议的测试
6.1 协议测试概述
6.1.1 一致性测试
6.1.2 故障模型
6.1.3 协议测试结构
6.1.4 协议测试级别
6.1.5 协议测试流程
6.2 协议测试语言TTCN
6.2.1 TTCN简介
6.2.2 TTCN-3核心语言
6.2.3 简单测试案例
6.3 控制流测试序列设计
6.3.1 测试的基本假设
6.3.2 测试序列生成算法
6.4 数据流测试序列设计
6.4.1 数据流测试的概念
6.4.2 数据流测试序列生成
思考与练习
第7章 协议的分析验证工具
7.1 SPIN工具
7.1.1 概述
7.1.2 Promela语言
7.1.3 SPIN的应用
7.2 SMV工具
7.2.1 概述
7.2.2 SMV输入语言
7.2.3 SMV的应用
思考与练习
第8章 电子商务协议的形式化分析
8.1 电子商务协议设计概述
8.2 典型电子商务协议
8.2.1 SET协议
8.2.2 Netbill协议
8.2.3 Digicash协议
8.3 电子商务协议的逻辑分析
8.3.1 逻辑分析概述
8.3.2 BAN逻辑
8.3.3 Kailar逻辑
8.4 电子商务协议的模型检验分析
8.4.1 模型检验分析概述
8.4.2 安全性的模型检验分析
8.4.3 原子性的模型检验分析
思考与练习
参考文献