Some Challenges of Specifying Concurrent Program Components

10/23/2018
by   Ian J. Hayes, et al.
0

The purpose of this paper is to address some of the challenges of formally specifying components of shared-memory concurrent programs. The focus is to provide an abstract specification of a component that is suitable for use both by clients of the component and as a starting point for refinement to an implementation of the component. We present some approaches to devising specifications, investigating different forms suitable for different contexts. We examine handling atomicity of access to data structures, blocking operations and progress properties, and transactional operations that may fail and need to be retried.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

10/23/2018

Refining Santa: An Exercise in Efficient Synchronization

The Santa Claus Problem is an intricate exercise for concurrent programm...
03/29/2021

Deriving Laws for Developing Concurrent Programs in a Rely-Guarantee Style

In this paper we present a theory for the refinement of shared-memory co...
06/21/2018

Strict Linearizability and Abstract Atomicity

Linearizability is a commonly accepted consistency condition for concurr...
04/04/2018

Maintenance of Strongly Connected Component in Shared-memory Graph

In this paper, we propose a generic concurrent directed graph (for share...
06/26/2018

Verification of Shared-Reading Synchronisers

Synchronisation classes are an important building block for shared memor...
02/08/2020

Paving the way for Distributed Non-Blocking Algorithms and Data Structures in the Partitioned Global Address Space

The partitioned global address space has bridged the gap between shared ...
09/07/2017

Enhancing KiWi - Scalable Concurrent Key-Value Map

We take a relatively fresh wait-free, concurrent sorted map called KiWi,...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.