Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Simon Friis Vindum
examples
Commits
45704cf0
Commit
45704cf0
authored
Jun 11, 2020
by
Simon Friis Vindum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add readme
parent
390663b1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
0 deletions
+21
-0
theories/logrel/F_mu_ref_conc/examples/queue/README.md
theories/logrel/F_mu_ref_conc/examples/queue/README.md
+21
-0
No files found.
theories/logrel/F_mu_ref_conc/examples/queue/README.md
0 → 100644
View file @
45704cf0
# Michael Scott queue
The Michael-Scott queue (MS-queue) is a fast and practical concurrent queue. In
this example we prove that both the original MS-queue, and variant of it, is a
contextual refinement of a queue implemented using course grained concurrency.
The variant of the MS-queue closely resembles
`ConcurrentLinkedQueue`
in the
Java standard library
`java.util.concurrent`
.
For a more detailed description of the queue and the proofs see the notes
[
Proof
of Contextual Refinement of Michael-Scott Queue using Logical Relations in
Iris
](
FIXME
INSERT LINK TO NOTES).
## Overview of the files.
*
`common.v`
: Common definitions that are identical across the two variants of
the queue.
*
`MS_queue`
: An implementation of both the original MS-queue and the variant.
*
`CG_queue`
: An implementation of a course grained queue, a linked list guarded
by a lock.
*
`refinement_variant.v`
: Refinement proof of the variant of the MS-queue.
*
`refinement_original.v`
: Refinement proof of the original MS-queue.
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment