Layered and Object-Based Game Semantics

被引:5
作者
Vale, Arthur Oliveira [1 ]
Mellies, Paul-Andre [2 ,3 ]
Shao, Zhong [1 ]
Koenig, Jeremie [1 ]
Stefanesco, Leo [4 ]
机构
[1] Yale Univ, New Haven, CT 06520 USA
[2] CNRS, Inst Rech Informat Fondamentale IRIF, Paris, France
[3] Univ Paris, Paris, France
[4] MPI SWS, Saarbrucken, Germany
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2022年 / 6卷 / POPL期
基金
美国国家科学基金会;
关键词
object-based semantics; certified abstraction layers; game semantics; program refinement; FULL ABSTRACTION; CONCURRENT; VERIFICATION; FUNCTORS;
D O I
10.1145/3498703
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Large-scale software verification relies critically on the use of compositional languages, semantic models, specifications, and verification techniques. Recent work on certified abstraction layers synthesizes game semantics, the refinement calculus, and algebraic effects to enable the composition of heterogeneous components into larger certified systems. However, in existing models of certified abstraction layers, compositionality is restricted by the lack of encapsulation of state. In this paper, we present a novel game model for certified abstraction layers where the semantics of layer interfaces and implementations are defined solely based on their observable behaviors. Our key idea is to leverage Reddy's pioneer work on modeling the semantics of imperative languages not as functions on global states but as objects with their observable behaviors. We show that a layer interface can be modeled as an object type (i.e., a layer signature) plus an object strategy. A layer implementation is then essentially a regular map, in the sense of Reddy, from an object with the underlay signature to that with the overlay signature. A layer implementation is certified when its composition with the underlay object strategy implements the overlay object strategy. We also describe an extension that allows for non-determinism in layer interfaces. After formulating layer implementations as regular maps between object spaces, we move to concurrency and design a notion of concurrent object space, where sequential traces may be identified modulo permutation of independent operations. We show how to express protected shared object concurrency, and a ticket lock implementation, in a simple model based on regular maps between concurrent object spaces.
引用
收藏
页数:32
相关论文
共 53 条
  • [1] Abramsky S, 2000, INFORM COMPUT, V163, P409, DOI 10.1006/inco2000.2930
  • [2] Abramsky Samson, 1997, LINEARITY SHARING ST, P297, DOI [10.1007/978- 1-4757-3851-3_10, DOI 10.1007/978-1-4757-3851-3_10]
  • [3] [Anonymous], 1999, NATO ASI Series, DOI DOI 10.1007/978-3-642-58622-41
  • [4] [Anonymous], 2015, DEEPSPEC SCI DEEP SP
  • [5] Position paper: the science of deep specification
    Appel, Andrew W.
    Beringer, Lennart
    Chlipala, Adam
    Pierce, Benjamin C.
    Shao, Zhong
    Weirich, Stephanie
    Zdancewic, Steve
    [J]. PHILOSOPHICAL TRANSACTIONS OF THE ROYAL SOCIETY A-MATHEMATICAL PHYSICAL AND ENGINEERING SCIENCES, 2017, 375 (2104):
  • [6] Appel AW, 2011, LECT NOTES COMPUT SC, V6602, P1, DOI 10.1007/978-3-642-19718-5_1
  • [7] Back R.-J., 1999, REFINEMENT CALCULUS, DOI [10.1007/978-1-4612-1674-2, DOI 10.1007/978-1-4612-1674-2]
  • [8] A GAME SEMANTICS FOR LINEAR LOGIC
    BLASS, A
    [J]. ANNALS OF PURE AND APPLIED LOGIC, 1992, 56 (1-3) : 183 - 220
  • [9] A Grainless Semantics for Parallel Programs with Shared Mutable Data
    Brookes, Stephen
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 155 : 277 - 307
  • [10] A semantics for concurrent separation logic
    Brookes, Stephen
    [J]. THEORETICAL COMPUTER SCIENCE, 2007, 375 (1-3) : 227 - 270