论文部分内容阅读
随着网络服务要求的提高,网络系统的协议也变的越来越复杂,在这种情况下,需要合适的方法、技术来对协议进行正确性验证和测试[1][2].对协议本身的逻辑正确性进行校验的过程称之为验证[3].协议的正确性验证试图在协议具体实现前最大限度的检测和纠正协议错误和缺陷.协议的测试是在协议实现后,用实验的方法检验协议标准文本所规定的功能是否与协议实现执行时完成的功能一致.
在对协议验证和测试的工作中应尽可能的使用形式化的技术,使得验证和测试工作具有坚实的理论基础并且更加精确化和规范化.
本文主要采用基于Petri网的形式化分析方法针对协议的验证和测试问题开展了如下几个方面的研究工作.
1) 形式化的建模技术是协议验证和测试工作的基础.本文给出了三种对协议建立Petri网模型的形式化方法,分别是基于协议实体行为描述语言CPEBSDL(Commutafion Protocol Entity Behavioral Specification and DescriptionLanguage)的Petri网建模方法PMA_CPEBSDL,基于协议实体行为描述语言文法G的Petri网建模方法,基于协议实体行为序列表达式的Petri网建模方法.在一定程度上解决了根据协议文本直接手工建立协议模型易出错的问题,提高了协议Petri网模型的可靠性.
2) 提出了基于Petri网关联矩阵、状态方程及可达图的协议验证方法.这些验证方法给出了Petri网模型的性质和协议实际物理特性之间的对应关系.通过分析网模型的活性、P-不变量(s-不变量)、T-不变量、有界性、公平性等性质,实现了对协议死锁、活锁、资源守恒性、错误的动作序列的可恢复性、接收或发送缓冲区的溢出、遗漏或重复接收报文等特性的验证.
3) 提出了用Petri网理论对协议一致性测试的方法和步骤.解决了一致性测试中的两个难点问题.①测试集和测试例的表示和生成;②被测实现的实际响应序列和预期响应序列的比对.测试集用模拟协议功能的网模型表示,测试例用网模型的进程表示,通过求解网模型的进程表达式给出尽可能覆盖协议所有行为的测试例.
文中结合了很多具体的实例对协议的验证和测试方法给出了详细说明.