返回
Testing NetLogo model code
DOI:10.1016/j.ecolmodel.2026.111669.png)
摘要
En 中文
在仿真建模中,良好的代码测试实践提供了(a)效率,通过减少因使用错误软件而浪费的时间;(b)可信度,通过提供证据表明重要错误不太可能发生;以及(c)理解,通过展示复杂模型结果的产生过程。然而,代码测试在基于代理的建模中很少受到关注,许多建模项目因未检测到的代码错误而偏离轨道。我们介绍了适用于由初学者程序员在NetLogo中实现的模型的代码测试方法。实现新模型的高效周期包括:起草书面模型描述并测试代表单独过程的子模型,在编写模型代码的同时更新书面描述以纠正模糊性和错误,然后进行彻底的代码测试。随着模型的后续使用和修订,书面描述、代码和代码测试都会相应更新。我们确定了NetLogo软件中特别常见的八种错误类型。逻辑错误最难检测;通常需要为关键子模型生成详细的测试输出,然后分析该输出以查找意外结果。我们提供了生成测试输出的方法,并附有示例NetLogo代码。测试输出可以通过图形、统计方式分析,跟踪单个代理的命运,或与子模型的独立实现进行比较。当发现意外结果时,多种调试方法有助于确定它们是否由软件错误引起,如果是,则定位错误位置。记录代码测试方法和结果对于模型的可信度和效率也至关重要:记录的测试提供了代码基本无错误的证据,并使模型修订后的测试更容易重复。虽然NetLogo目前缺乏逐步调试器和单元测试器等代码测试工具,但其强大的命令使其易于为模型添加类似功能。
Keyword:
Agent-based modeling
Code testing
Individual-based modeling
NetLogo
Software
Verification
期刊
IF:
3.2
论文数:
727
被引数:
2.1W
机构
引用论文
暂无论文信息

