协议开发工具
协议软件开发 /lx 发表于2004-12-07, 13:11
随着协议工程技术的进程,各种协议开发工具软件相应产生,有一些工具已作为商品投入市场.这些软件工具可以分成三类,第一类工具用于协议设计(综合)。第二类用于协议实现,第三类用于协议测试.各类工具的功能和作用归纳如下:
(1)协议设计工具(Tool for specification develop)
协议设计工具包括文本生成工具、静态分析工具、动态分析工具、性能分析工具、文本转换工具五种。
a.文本生成(Specification Creation)工具
这类工具的主要功能是输人、编辑、产生协议形式描述文本,包括:
ü
文本编辑器
ü
图形编辑器
b.静态分析 (Static analysis)工具
这种工具对协议的形式描述文本作静态分析,包括:
ü
拼写和语义检查
ü
语法分析
ü
交叉引用
ü
视见域规则检查
c.动态分析(Dynamic analysis)工具
这种工具对协议进行动态分析,验证其正确性,包括:
ü
模拟仿真
ü
逻辑证明
d.性能分析(Performance analysis)工具
这种工具主要分析协议执行效率(吞吐量和时延).
e.文本转换 (Specification transformation)工具
协议的形式描述可以是文字的,表格的,图形的,文本转换工具将一种形式的协议文本转换成另外一种形式,以便用于不同场合.
(2)协议实现工具(Tools for the creation of implementation code)
协议实现工具主要由各种翻译程序和子程序库组成,它向协议实现者提供一组半自动化实现工具.这类工具包括翻译程序,协议数据单元支撑程序,子程序库三种。
a.翻译程序
翻译程序旨在将形式描述文本转换成程序设计语言的源代码,例如:
ESTELLE 到 C,Pascal,…
LOTOS 到 C,Pascal,…
SDL 到 C,C++ ,CHILL,…
b.ASN.1支撑程序
ASN.l(Abstract Syntax Notation 1 抽象句法表示法1)是两大国际标准化组织ITU和ISO共同制定的一个标准(ITU X.208,ISO 8824),主要用来表示通信过程中数据的数值。在OSI协议中,PDU及其它数据结构由ASN.l语言定义,ASN.l同时定义这些数据结构编码规则。ASN.l支撑工具旨在向协议实现者提供定义和编码PDU的工具。
c.子程序库
子程序库是面向具体实现环境的,它有助于减少手工程序量。
(3)协议测试工具(Tools for testing of protocol implementation)
协议测试工具包括测试系统,分析工具和测试集(test suite)选择工具。
目前,人们开发的协议开发工具往往有多种功能,很难将它们归于那一类。有的协议开发工具将协议设计和实现工具集合在一起,有的甚至还包括测试集生成工具。
参考文献[3]中列出了多种协议开发工具,但在我国应用较多的是Telelogic Tau。Telelogic Tau 由多套工具组成,主要用于实时软件系统的开发,其中,SDL Suite适用于协议开发,TTCN Suite适用于协议测试。SDL(Specification and Description Language)语言是ITU-T制定标准和协议时使用的形式化语言。TTCN(Tree and Tabular Combined Notation 树型表格联合表示法)是ISO和ITU为协议一致性测试制定的系列标准之一(ISO/IEC 9646-3,ITU X.290),现已成为世界上应用最广泛的专用编程测试语言。
Telelogic Tau SDL Suite主要用于协议的设计、描述、验证及实现,支持图形化的SDL编辑、在线仿真和验证、代码自动生成、MSC(消息顺序图)编辑及测试用例(test case)自动生成等。SDL Suite由以下几部分组成:
²
SDL Editor SDL编辑器,支持图形化的SDL编辑,同时提供一个在线检查的分析器,可以立即标出编辑中的静态语法和语义错误。
²
SDL Simulator SDL仿真器,支持在开发环境下进行SDL系统的仿真运行,仿真结果可自动生成MSC。仿真器还可以自动穷举搜索SDL系统的所有路径,保证系统的每一个状态都是可达的。
²
SDL Validator SDL验证器,结合MSC验证系统行为是否与需求描述一致。
²
SDL Translator 代码自动生成器,支持三种代码生成:第一种是无限制的C代码生成器,支持一般的C和C++代码生成;第二种是优化的C代码生成器,支持小型嵌入式系统的优化代码生成,能满足这种系统对代码效率、最小内存和高性能的要求;第三种是CHILL代码生成器。由于在仿真和验证阶段使用的代码与最后生成的代码是相同的,这就保证了测试系统与实际运行系统的一致。
²
MSC Editor MSC编辑器,支持图形化的MSC编辑。
SDL Suite还支持与实际目标环境的集成。它包含一个运行库,提供SDL系统与环境打交道的源代码,支持多种操作系统,开发者可以在单任务、多任务和分布式系统之间进行选择。自动生成的代码加上指定操作系统的运行库源代码,经过合适的C编译器编译连接,即可在实际环境中运行。
Telelogic Tau TTCN Suite可以作为通信协议的测试集生成工具,支持协议一致性测试。 TTCN Suite提供给测试工程师强大的TTCN编辑器、句法分析器和编译器,可将测试方案转化为C代码,在测试设备上运行。
Telelogic Tau还提供了从SDL系统设计和MSC直接生成TTCN测试集的功能。