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 条
  • [21] Logical semantics of concurrent constraint programming
    Ruet, Paul
    Lecture Notes in Computer Science, 1118
  • [22] On implementations and semantics of a concurrent programming language
    Sewell, P
    CONCUR'97 : CONCURRENCY THEORY, 1997, 1243 : 391 - 405
  • [23] DIRECT SEMANTICS OF CONCURRENT LANGUAGES IN THE SMOLCS APPROACH
    ASTESIANO, E
    REGGIO, G
    IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 1987, 31 (05) : 512 - 534
  • [24] Concurrent clustered programming - (Extended abstract)
    Saraswat, V
    Jagadeesan, R
    CONCUR 2005 - CONCURRENCY THEORY, PROCEEDINGS, 2005, 3653 : 353 - 367
  • [25] Abstract and concrete sentences, embodiment, and languages
    Scorolli, Claudia
    Binkofski, Ferdinand
    Buccino, Giovanni
    Nicoletti, Roberto
    Riggio, Lucia
    Borghi, Anna Maria
    FRONTIERS IN PSYCHOLOGY, 2011, 2
  • [26] Formal semantics for an abstract agent programming language
    Hindriks, KV
    de Boer, FS
    van der Hoek, W
    Meyer, JJC
    INTELLIGENT AGENTS IV: AGENT THEORIES, ARCHITECTURES, AND LANGUAGES, 1998, 1365 : 215 - 229
  • [27] VDM semantics of programming languages: combinators and monads
    Mosses, Peter D.
    FORMAL ASPECTS OF COMPUTING, 2011, 23 (02) : 221 - 238
  • [28] SEMANTICS OF PROGRAMMING LANGUAGES AND GLOBAL INTERPRETATION OF EXPRESSIONS
    RUGGIU, G
    COMPTES RENDUS HEBDOMADAIRES DES SEANCES DE L ACADEMIE DES SCIENCES SERIE A, 1972, 274 (01): : 100 - &
  • [29] ON THE SEMANTICS OF RULES IN DATABASE PROGRAMMING-LANGUAGES
    HULL, R
    JACOBS, D
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 504 : 59 - 85
  • [30] Graph rewriting semantics for functional programming languages
    van Eekelen, M
    Smetsers, S
    Plasmeijer, R
    COMPUTER SCIENCE LOGIC, 1997, 1258 : 106 - 128