Some Challenges of Specifying Concurrent Program Components

Ian J. Hayes
(The University of Queensland)

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.

In John Derrick, Brijesh Dongol and Steve Reeves: Proceedings 18th Refinement Workshop (Refine 2018), Oxford, UK, 18th July 2018, Electronic Proceedings in Theoretical Computer Science 282, pp. 10–22.
Published: 24th October 2018.

ArXived at: https://dx.doi.org/10.4204/EPTCS.282.2 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org