设为首页 加入收藏

TOP

10.5.4 谓词异常和可能世界
2013-10-07 12:59:49 来源: 作者: 【 】 浏览:60
Tags:10.5.4 谓词 异常 可能 世界

10.5.4  谓词异常和可能世界

您可能会回想起在guess_it游戏中,只有当特定时间间隔内达到猜测数目时,持有编码的agent才会改变编码。在这个场景中,尝试猜测编码的agent面临两个可能世界:一个世界中的编码没有改变,另一个世界中的编码发生改变。PBS对这些情形有着如下的分解。

分解5:N个agent足以在2分钟内从四百万个编码的样本中找到正确的编码。

分解6:如果编码每15秒改变一次,需要4N个代理2分钟内从四百万个编码的样本中找到正确的编码。

ValidCode( )谓词未通过单元测试,因为它没有为分解6做准备。需要注意的是,如果agent非常幸运地在15秒之内猜对了代码,那么程序将会显得处于好的工作状态。但是当您依据PBS对应用程序进行评估时,必须为PBS中的每个谓词提供一个测试案例。每个谓词引入了一个或多个可能世界。可能世界的概念是从逻辑领域拿来的。可能世界被用来表达什么必然为真、可能为真或偶尔为真。可能世界模型背后的直观想法是在事件的真实(或当前)状态之外,还有其他多种可能的事件状态,或"世界"[Fagin et al.,1995]。可能世界是agent认为可能的结果,在本例中,就是编码被改变(世界1)或编码未被改变(世界2)。应用程序的PBS清楚地定义了agent或知识源将要在什么样的可能世界中运行。对于agent的每个可能的世界,都有可接受的代码集合供agent或知识源执行。另一方面,对于不可能的世界,不存在可接受的代码供agent执行。不可能世界产生谓词异常。

PBS中的谓词引入了应用程序或agent所处的可能世界是什么。谓词异常类代表了进入到不可能世界的场景。例如,对于编码每15秒改变一次,但没有新的agent加入以适应这种改变,这在PBS中是一个不可能世界。正是这个问题导致ValidCode( )谓词失败。您可以在单元测试中运用模型检测来发现并行程序中这类软件缺陷。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇10.5 什么是标准软件工程测试 下一篇10.3.2 缺陷排除与缺陷存活

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: