论文
作为存储库的建筑物:KIR,代理编写的建筑信息模型的类型化中间表示
A Building as a Repository: KIR, a Typed Intermediate Representation for Agent-Authored Building Information Models
摘要
创建建筑信息模型的自主代理需要的不仅仅是访问主机 API。他们需要表达他们的意图、编译器代表他们决定的内容、被拒绝的内容、执行后观察到的内容以及仍然未知的内容。我们提出了 KIR,一种类型化的中间表示形式,其中建筑物被编写为保存在版本化存储库中的程序,并降低到托管应用程序作为构建目标。 KIR 围绕七种方式进行组织,在这些方式中,生成器写入有状态、部分可观察的主机时会默默地出错,并在数据中给出每个表示:不明确的选择器变成候选者的类型化拒绝;默认保留其来源;不会被检查的义务在执行前被命名;空洞的证人被静态地拒绝;丢失的事务响应将变为状态 UNCONFIRMED,并具有重试前验证规则;相反的路径遵循人口普查不变量;并且决策受到摘要的约束,与它们所针对的状态相关。在具有 83 个操作合同和 Revit 作为唯一后端的固定快照上,离线实验拒绝 42 个带有诊断代码的压力测试程序中的 29 个,并且没有未捕获的异常,将 377 个见证义务中的 38 个命名为不可见证,在 7 个规定的不变量下承认 100 个执行、见证和接受状态组合中的 31 个,并且在 219 个证书运行中没有发现空见证;一座 60 层的塔楼有 11,263 个 KIR 字符,而 C# 则有 3,709,235 个字符。本机 Revit 运行从项目记录中报告,并与再现结果分开。与直接编写主机代码的代理进行受控比较已指定但尚未执行;这是主要的悬而未决的问题。