10.4.4 agent解决方案模型的PBS(2)
下面是程序清单10-1、程序清单10-2、程序清单10-3和程序清单10-4的程序概要,其中程序清单10-4将会在本章稍后部分出现。
程序概要10-1
程序名:
- pguess_it (程序清单10-1 )
描述:
这个程序是个"猜谜(guess it)"游戏。如果您在2分钟内猜对了,您就在游戏中获胜。如果猜测是由6字符编码组成且编码只包含字符(a~z,0~9)的组合,并考虑到重复是允许的,则猜测是正确的。
ValidCode谓词的声明是为了表达如下陈述:
- This is the code the trusted agent handed you.
这个陈述是通过调用ValidCode( )谓词来检测的。ValidCode( )谓词产生4个进程,每个进程依次产生两个线程。它的实现是被封装的。
必需的库:
- rt
所需的其他源文件:
- pguess_it.cc (见程序清单10-1)、posix_process.cc
(见程序清单10-4)、valid_code.cc (见程序清单10-3)和posix_queue.cc
注意:
由于长度过长,posix_queue.cc在本书中并未完整地列出,可在http://www.wrox.com中下载到posix_queue.cc的完整代码,以及书中其他示例代码。
必需的用户定义头文件:
- posix_process.h (见程序清单5-3)、valid_code.h
(见程序清单10-2)和posix_queue.h (见程序清单7-3)
编译和链接指令:
- c++ -o pguess_it pguess_it.cc valid_code.
cc posix_process.cc posix_queue.cc -lrt
测试环境:
- Linux Kernel 2.6
- Solaris 10、gcc 3.4.3和gcc 3.4.6
处理器:
- Multicore Opteron、UltraSparc T1和Cell Processor
注释:
无
2. 如何知道代码有效
您使用了标准软件工程测试技术,但是是在PADL、PBS和本章前面提到的3个基本问题的上下文下使用的。为了回答这个问题,您需要了解将PBS作为成功的基本量尺,标准软件工程测试可以进行到什么程度。