1. Layered and object-based game semantics
- Author
-
Zhong Shao, Paul-André Melliès, Arthur Oliveira Vale, Jérémie Koenig, Léo Stefanesco, Department of Computer Science (YALE), Yale University [New Haven], Institut de Recherche en Informatique Fondamentale (IRIF (UMR_8243)), Centre National de la Recherche Scientifique (CNRS)-Université Paris Cité (UPCité), Design, study and implementation of languages for proofs and programs (PI.R2), Centre National de la Recherche Scientifique (CNRS)-Inria de Paris, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Université Paris Cité (UPCité)-Institut de Recherche en Informatique Fondamentale (IRIF (UMR_8243)), Centre National de la Recherche Scientifique (CNRS)-Université Paris Cité (UPCité)-Centre National de la Recherche Scientifique (CNRS)-Université Paris Cité (UPCité), Collège de France - Chaire Sciences du logiciel, Collège de France (CdF (institution)), Centre National de la Recherche Scientifique (CNRS)-Université de Paris (UP), Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Paris (UP)-Institut de Recherche en Informatique Fondamentale (IRIF (UMR_8243)), Centre National de la Recherche Scientifique (CNRS)-Université de Paris (UP)-Centre National de la Recherche Scientifique (CNRS)-Université de Paris (UP), Chaire Sciences du logiciel, and Université Paris Diderot - Paris 7 (UPD7)-Centre National de la Recherche Scientifique (CNRS)
- Subjects
Game semantics ,Semantics (computer science) ,Computer science ,Concurrency ,Linear logic ,0102 computer and information sciences ,02 engineering and technology ,computer.software_genre ,01 natural sciences ,[INFO.INFO-CL]Computer Science [cs]/Computation and Language [cs.CL] ,CCS Concepts: • Theory of computation → Program verification ,Refinement calculus ,[INFO.INFO-FL]Computer Science [cs]/Formal Languages and Automata Theory [cs.FL] ,0202 electrical engineering, electronic engineering, information engineering ,Object type ,Layer (object-oriented design) ,Safety, Risk, Reliability and Quality ,program refinement ,[INFO.INFO-MS]Computer Science [cs]/Mathematical Software [cs.MS] ,[MATH.MATH-CT]Mathematics [math]/Category Theory [math.CT] ,Abstraction (linguistics) ,[INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL] ,[INFO.INFO-GT]Computer Science [cs]/Computer Science and Game Theory [cs.GT] ,Program specifications ,Programming language ,[INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO] ,020207 software engineering ,Object (computer science) ,certified abstraction layers ,game semantics ,• Software and its engineering → Correctness object-based semantics ,[MATH.MATH-LO]Mathematics [math]/Logic [math.LO] ,010201 computation theory & mathematics ,[MATH.MATH-AT]Mathematics [math]/Algebraic Topology [math.AT] ,[MATH.MATH-QA]Mathematics [math]/Quantum Algebra [math.QA] ,Logic and verification ,[MATH.MATH-AG]Mathematics [math]/Algebraic Geometry [math.AG] ,Abstraction ,Program semantics ,computer ,Software - Abstract
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.
- Published
- 2022
- Full Text
- View/download PDF