Generalized Committed Choice
Joxan Jaffar, Roland Yap and Keny Zhu
Abstract
We present a generalized committed choice construct for concurrent
programs that interact with a shared store.
The generalized committed choice (GCC)
allows multiple computations from different alternatives
to occur concurrently and later commit to one of them.
GCC generalizes the traditional committed choice in Dijkstra's
Guarded Command Language to handle {\em don't know} non-determinism
and also allows for speculative computation.
The main contribution of the paper is to introduce the GCC programming
construct and the associated semantics framework
for formalizing GCC.
We give some experimental results which show that the power
of GCC can be made practical.