Technical Report No. 242 - Abstract
Annette Bieniusa, Peter Thiemann, Stefan Wehr
The Relation of Version Control to Concurrent Programming
Version control helps coordinating a group of people working concurrently to achieve a shared objective. Concurrency control helps coordinating a group of threads working concurrently to achieve a shared objective. The seemingly superficial analogy between version control and concurrency control is deeper than expected. A comparison of three major flavors of version control systems (exemplified by RCS, Subversion, and Darcs) with three influential and representative approaches to concurrency control (monitors, STM, and message passing) exhibits a surprisingly close correspondences in terms of mechanism and workflow. The correspondence yields new perspectives on both, version control and concurrency control.
Report No. 242 (PostScript)