Locally Abstract, Globally Concrete Semantics of Concurrent Programming Languages

被引:0
|
作者
Din, Crystal Chang [1 ]
Haehnle, Reiner [2 ]
Henrio, Ludovic [3 ]
Johnsen, Einar Broch [4 ]
Pun, Violet Ka I. [5 ]
Tarifa, S. Lizeth Tapia [4 ]
机构
[1] Univ Bergen, Dept Informat, Thormohlens Gate 55, N-5006 Bergen, Norway
[2] Tech Univ Darmstadt, Dept Comp Sci, Hochschul Str 10, D-64289 Darmstadt, Germany
[3] Univ Lyon, CNRS, LIP Lab, EnsL,Inria,UCBL, 46 Allee Italie, F-69364 Lyon, France
[4] Univ Oslo, Dept Informat, Postboks 1080 Blindern, N-0316 Oslo, Norway
[5] Western Norway Univ Appl Sci, Inndalsveien 28, N-5063 Bergen, Norway
关键词
Denotational semantics; trace semantics; compositionality; continuations; concurrent programming languages; program logics; program calculus; FULLY ABSTRACT; FAIRNESS; SYSTEM;
D O I
10.1145/3648439
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Formal, mathematically rigorous programming language semantics are the essential prerequisite for the design of logics and calculi that permit automated reasoning about concurrent programs. We propose a novel modular semantics designed to align smoothly with program logics used in deductive verification and formal specification of concurrent programs. Our semantics separates local evaluation of expressions and statements performed in an abstract, symbolic environment from their composition into global computations, at which point they are concretised. This makes incremental addition of new language concepts possible, without the need to revise the framework. The basis is a generalisation of the notion of a program trace as a sequence of evolving states that we enrich with event descriptors and trailing continuation markers. This allows to postpone scheduling constraints from the level of local evaluation to the global composition stage, where well-formedness predicates over the event structure declaratively characterise a wide range of concurrency models. We also illustrate how a sound program logic and calculus can be defined for this semantics.
引用
收藏
页数:58
相关论文
共 50 条
  • [41] A fully abstract may testing semantics for concurrent objects
    Jeffrey, A
    Rathke, J
    17TH ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 2002, : 101 - 112
  • [42] A Labelled Semantics for Soft Concurrent Constraint Programming
    Gadducci, Fabio
    Santini, Francesco
    Pino, Luis F.
    Valencia, Frank D.
    COORDINATION MODELS AND LANGUAGES, COORDINATION 2015, 2015, 9037 : 133 - 149
  • [43] A Methodology for Concurrent Languages Development based on Denotational Semantics
    Ciobanu, Gabriel
    Todoran, Eneia Nicolae
    11TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC 2009), 2009, : 290 - 298
  • [44] An operational semantics for probabilistic concurrent constraint programming
    Di Pierro, A
    Wiklicky, H
    1998 INTERNATIONAL CONFERENCE ON COMPUTER LANGUAGES, PROCEEDINGS, 1998, : 174 - 183
  • [45] Support for implementation of evolutionary concurrent systems in concurrent programming languages
    Pandey, Raju
    Browne, J.C.
    Lecture Notes in Computer Science, 1123
  • [47] A FULLY ABSTRACT MODEL FOR CONCURRENT CONSTRAINT PROGRAMMING
    DEBOER, FS
    PALAMIDESSI, C
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 493 : 296 - 319
  • [48] Use Concurrent Programming Models to Motivate Teaching of Programming Languages
    Leavens, Gary T.
    ACM SIGPLAN NOTICES, 2008, 43 (11) : 93 - 98
  • [49] FULLY ABSTRACT DENOTATIONAL MODELS FOR NONUNIFORM CONCURRENT LANGUAGES
    HORITA, E
    DEBAKKER, JW
    RUTTEN, JJMM
    INFORMATION AND COMPUTATION, 1994, 115 (01) : 125 - 178
  • [50] M-nets: An algebra of high-level Petri nets, with an application to the semantics of concurrent programming languages
    Best, E
    Fraczak, W
    Hopkins, RP
    Klaudel, H
    Pelz, E
    ACTA INFORMATICA, 1998, 35 (10) : 813 - 857