LAGC Semantics of Concurrent Programming Languages

02/24/2022
by   Crystal Chang Din, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/16/2022

Mechanization of LAGC Semantics in Isabelle

Formal programming language semantics are imperative when trying to veri...
research
08/04/2021

Reasoning about Iteration and Recursion Uniformly based on Big-step Semantics

A reliable technique for deductive program verification should be proven...
research
01/25/2022

Concurrent NetKAT: Modeling and analyzing stateful, concurrent networks

We introduce Concurrent NetKAT (CNetKAT), an extension of NetKAT with op...
research
10/18/2019

Programming and Symbolic Computation in Maude

Rewriting logic is both a flexible semantic framework within which widel...
research
02/21/2021

Certifying Choreography Compilation

Choreographic programming is a paradigm for developing concurrent and di...
research
11/30/2021

SteelCore: An Extensible Concurrent Separation Logic for Effectful Dependently Typed Programs

Much recent research has been devoted to modeling effects within type th...
research
09/28/2010

The Need to Support of Data Flow Graph Visualization of Forensic Lucid Programs, Forensic Evidence, and their Evaluation by GIPSY

Lucid programs are data-flow programs and can be visually represented as...

Please sign up or login with your details

Forgot password? Click here to reset