QUICK REVIEW
[论文解读] Syntax and analytic semantics of LISA
Jade Alglave, Patrick Cousot|arXiv (Cornell University)|Aug 23, 2016
Parallel Computing and Optimization Techniques参考文献 8被引用 5
一句话总结
本文提出了 LISA 的语法和分析语义,LISA 是一种用于指定并发与并行程序的正式语言。它引入了轨迹、用于事件唯一性的戳记,以及作用于程序行为和依赖于架构特性的作用域树,通过基于轨迹的正式执行和良好形成条件,实现了对并发系统精确且组合式的语义建模。
ABSTRACT
We provide the syntax and semantics of the LISA (for "Litmus Instruction Set Architecture") language. The parallel assembly language LISA is implemented in the herd7 tool (http://virginia.cs.ucl.ac.uk/herd/) for simulating weak consistency models.
研究动机与目标
- 为 LISA 定义正式语法和分析语义,LISA 是一种面向并发与并行程序规格说明的语言。
- 通过每个进程特有的戳记确保程序轨迹中事件的唯一性,避免执行序列中的歧义。
- 通过作用域树建模程序架构和依赖关系,将其与核心语义定义解耦。
- 为组合多个进程提供一个组合式框架,并对执行轨迹施加良好形成性约束。
- 通过定义基于轨迹的语义,精确描述状态和事件转换,实现对并发程序的正式验证。
提出的方法
- 轨迹被形式化为状态-事件转换序列:σ₁ → ε₂ → σ₂ → ... → σₘ,其中 ε₁ 为起始事件。
- 戳记(θ ∈ ℙ(p))用于唯一标识每个进程中的事件,通过总序关系(≤_p)确保顺序一致性。
- 所有戳记的集合定义为 ℘ = ∪ₚ ℙ(p),不同进程之间的戳记集合互不相交(当 p ≠ q 时,ℙ(p) ∩ ℙ(q) = ∅)。
- 轨迹被分解为状态序列(τ̲)和事件序列(τ̄),支持有限和无限执行。
- 作用域树用作 cat 规范的元数据,当无声明时默认使用平凡树。
- 通过过程标识符和事件顺序关系上的逻辑约束,对轨迹施加良好形成性条件(wf)。
实验结果
研究问题
- RQ1如何为并发程序定义一种形式化语义,以确保事件唯一性和轨迹一致性?
- RQ2需要何种机制来建模依赖于架构的特性,而不影响核心语义模型?
- RQ3如何对轨迹进行形式化表示,以在统一框架下支持有限和无限执行?
- RQ4如何将进程标识符和作用域树整合到语义模型中,以支持模块化程序组合?
- RQ5何种条件可确保轨迹在 LISA 框架内是良好形成且语义有效的?
主要发现
- 将轨迹形式化为状态-事件转换序列,使得程序执行的精确建模成为可能,包括无限运行。
- 戳记确保每个进程内事件的唯一可识别性,且不同进程间的戳记集合互不相交,避免冲突。
- 对戳记施加总序关系(≤_p)支持顺序一致性,并支持对执行顺序的推理。
- 良好形成性条件(wf)被定义为对轨迹的逻辑约束,确保有效的进程交互和顺序关系。
- 作用域树与核心语义解耦,仅作为外部 cat 规范的元数据使用,从而保持语义的纯粹性。
- 组合式语义允许通过组合具有一致进程标识符和状态转换的子程序,实现程序轨迹的模块化构建。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。