paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Lineage-Based Referencing DSL for Computer-Aided Design

面向计算机辅助设计的基于谱系的引用 DSL
PLDI 7(PLDI)2023匹配度 2/10 · 该论文是面向CAD领域的DSL与形式语义工作,虽涉及程序语言设计和形式化,但未涉及静态分析在ML/Agentic程序中的应用、LLM辅助静态分析/形式化验证、浮点程序分析或贝叶斯程序分析,与用户核心研究交叉方向几乎无关。引用 8 inbox
Dan Cascaval, Rastislav Bodik, Adriana Schulz
crossref: 2026-09-10

AI 速览

一句话:提出基于谱系的引用DSL,将CAD引用作为一等构造,安全表达参数变化下的几何元素选择。

3D CAD 模型可视为生成几何的程序,通过修改参数实现几何变更,但程序用引用从几何中选择元素并传给操作。当参数改变导致拓扑变化,尤其目标元素不存在时,现有系统依赖启发式推断意图,引用会丢失或被任意切换,产生无效模型。本文分析现有引用方案的失效模式,形式化评价标准,提出将引用作为一等语言构造的 DSL,用用户查询内省元素历史并在所有路径上安全定义引用;给出可查询的细粒度元素谱系语义,并证明满足所需性质。最后在 2.5D CAD 内核中实现,展示真实引用场景,并能安全表示在现有 CAD 系统中导致引用断裂的模型。

问题
CAD 程序通过引用选择几何元素,但参数变化引起拓扑变化时,现有引用语义无法表达用户意图,目标元素可能不存在,导致引用丢失或被任意切换,模型失效。
方法
分析失效模式并形式化评价标准,提出以引用为一等构造的 DSL,用户编写查询内省元素历史,并定义可查询的细粒度元素谱系语义。
评估
在 2.5D CAD 内核中实现,通过真实引用场景展示系统能安全表示现有 CAD 系统会出现引用断裂的模型。
原文摘要(Abstract)

3D Computer-Aided Design (CAD) modeling is ubiquitous in mechanical engineering and design. Modern CAD models are programs that produce geometry and can be used to implement high-level geometric changes by modifying input parameters. While there has been a surge of recent interest in program-based tooling for the CAD domain, one fundamental problem remains unsolved. CAD programs pass geometric arguments to operations using references, which are queries that select elements from the constructed geometry according to programmer intent. The challenge is designing reference semantics that can express programmer intent across all geometric topologies achievable with model parameters, including topologies where the desired elements are not present. In current systems, both users and automated tools may create invalid models when parameters are changed, as references to geometric elements are lost or silently and arbitrarily switched. While existing CAD systems use heuristics to attempt to infer user intent in cases of this undefined behavior, this best-effort solution is not suitable for constructing automated tools to edit and optimize CAD programs. We analyze the failure modes of existing referencing schemes and formalize a set of criteria on which to evaluate solutions to the CAD referencing problem. In turn, we propose a domain-specific language that exposes references as a first-class language construct, using user-authored queries to introspect element history and define references safely over all paths. We give a semantics for fine-grained element lineage that can subsequently be queried; and show that our language meets the desired properties. Finally, we provide an implementation of a lineage-based referencing system in a 2.5D CAD kernel, demonstrating realistic referencing scenarios and illustrating how our system safely represents models that cause reference breakage in existing CAD systems.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot1958,
  title = {A Lineage-Based Referencing DSL for Computer-Aided Design},
  author = {Dan Cascaval and Rastislav Bodik and Adriana Schulz},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {PLDI},
  year = {2023},
  doi = {10.1145/3591223}
}