这番比较应该先从纠正一个认识开始。成熟的仿真软件已经具备了一些能力,而我此前一直以为这些能力普遍缺失:
- 引导式解释与探索。 STELLA 可以分阶段展示模型的结构,将结构与行为联系起来,并发布交互界面。En-ROADS 则用于让群体参与者在一个可运行的气候模型中测试政策、技术和经济情景。
- 协作开发模型。 AnyLogic 支持 Git 工作流,并提供一种旨在减少开发者之间冲突的多部分模型格式。Simulink 提供能够识别模型结构的比较、代码审查和三方合并功能。
- 可追溯性与测试。 Simulink 的 Requirements Toolbox 将需求与模型、代码和测试关联起来,找出缺漏,并显示哪些产物会受到某项变更的影响。Vensim 支持结构分析、校准、单位检查、模型测试和行为约束。
- 多种建模范式。 AnyLogic 在同一个环境中结合了系统动力学、基于智能体的建模和离散事件仿真。Simile 支持模块化子模型。Topos Institute 和 StockFlow.jl 关注的是形式化组合,而不只是把几张图放进同一个文件。
仍有两个问题看起来有充分的证据支持。第一,要可靠地组合用不同形式体系和工具构建的模型,依然很困难。第二,贯穿整项研究的来源与演变记录,通常散落在论文、访谈、数据集、电子表格、模型文件、实验输出、需求、决策以及后续解释之中。一个工具或许能处理工作流程中某一部分的来源与演变记录,却未必能保留贯穿整个流程的论证脉络。
其他一些所谓的缺口,目前仍是有待回答的问题,而非已经证实的结论。我还不知道,现有工具在多大程度上支持技术参与者与非技术参与者共同审查、对同一证据提出相互竞争的解释,或是用同一个持续维护的对象来进行分析、作出实际运行中的决策和面向公众的解释。
下一步有价值的比较,是考察一个真实的工作流程,而不是罗列更多功能。记录每个工具在各个阶段——问题界定、证据、可运行的模型、实验、决策和解释——分别生成了什么产物,再记录不同阶段之间有哪些内容必须复制或重建。这样就能回答一个范围更明确的问题:我们是否需要一个新的思考环境,还是说,更有价值的工作其实是将已有的能力连接起来并呈现出来。