Methodologies for transforming sequential algorithms into concurrent ones using synchronization primitives other than locking have been discussed in the literature.
In this report I describe an abstract computational model which allows to concentrate on the aspect of concurrency while reasoning about protocols. Starting with some simple algorithms, a methodology is developed which is similar to one introduced by Herlihy. The Guided Copy Method however is superior to existing methodologies as it explains how to improve space and thus time efficiency.
This report contains a brief history of wait-free protocols, an abstract description of data structures, and comments on memory management. Proofs are kept informal for readability and brevity.