A thread-safe Term Library
@article{Groote2021ATT, title={A thread-safe Term Library}, author={Jan Friso Groote and Maurice Laveaux and P.H.M. van Spaendonck}, journal={ArXiv}, year={2021}, volume={abs/2111.02706} }
Terms are one of the fundamental data structures for computing. E.g. every expression characterisable by a context free grammar is a term. Remarkably, terms are not yet standard in common programming languages although term libraries have already been proposed in the 1990-ies. We developed a thread-safe Term Library. The biggest challenge is to implement hyperefficient multi-reader/single writer mutual exclusion for which we designed the new busyforbidden protocol. Model checking is used to…
Figures and Tables from this paper
References
SHOWING 1-10 OF 23 REFERENCES
Generator of efficient strongly typed abstract syntax trees in Java
- Computer ScienceIEE Proc. Softw.
- 2005
The authors present a Java back-end for ApiGen a tool that generates implementations of abstract syntax trees, characterised by strong typing combined with a generic interface and maximal sub-term sharing for memory efficiency and fast equality checking.
Lock-free parallel and concurrent garbage collection by mark&sweep
- Computer ScienceSci. Comput. Program.
- 2007
Generation of abstract programming interfaces from syntax definitions
- Computer ScienceJ. Log. Algebraic Methods Program.
- 2004
Concurrent tries with efficient non-blocking snapshots
- Computer SciencePPoPP '12
- 2012
This work describes a non-blocking concurrent hash trie based on shared-memory single-word compare-and-swap instructions and shows how to implement an efficient lock-free snapshot operation for concurrent hash tries.
Wait-free concurrent memory management by Create and Read until Deletion (CaRuD)
- Computer ScienceDistributed Computing
- 2001
Experiments indicate that the CaRuD algorithm is very suitable for multiprocessing and uses atomic counters for reference counting and consensus variables to ensure exclusive access.
Lock-free dynamic hash tables with open addressing
- Computer ScienceDistributed Computing
- 2004
An efficient lock-free algorithm for parallel accessible hash tables with open addressing, which promises more robust performance and reliability than conventional lock-based implementations and turned to the interactive theorem prover PVS for mechanical support.
ATerms for manipulation and exchange of structured data: It's all about sharing
- Computer ScienceInf. Softw. Technol.
- 2007
A Database Approach to Distributed State Space Generation
- Computer ScienceElectron. Notes Theor. Comput. Sci.
- 2008
Implementing parallel and concurrent tree structures
- Computer SciencePPoPP
- 2019
This tutorial will focus on an algorithmic framework for parallel balanced binary trees, which works for multiple balancing schemes, including AVL trees, red-black trees, weight-based trees, and treaps, and the corresponding implementation is available as a library.
Cones and foci: A mechanical framework for protocol verification
- Computer ScienceFormal Methods Syst. Des.
- 2006
This work defines a cones and foci proof method, which rephrases the question whether two system specifications are branching bisimilar in terms of proof obligations on relations between data objects, and applies this framework to the Concurrent Alternating Bit Protocol.