Hello,
You might find this paper interesting
<
http://p-cos.net/documents/cstm.pdf>. It's an extension of ContextL,
that models transactions using dynamically scoped layers. It also has
an explicit protocol for defining your own STM strategies (and for
thinking about STMs in general).
Software transactional memory (STM) is a promising approach for
coordinating concurrent threads, for which many implementation
strategies are currently being researched. Although some first
steps exist to ease experimenting with different strategies, this
still re- mains a relatively complex and cumbersome task. The
reason is that software transactions require STM-specific dynamic
crosscutting adaptations, but this is not accounted for in current
STM imple- mentations. This paper presents CSTM, an STM framework
based on Context-oriented Prorgamming, in which transactions are
mod- elled as dynamically scoped layer activations. It enables
expressing transactional variable accesses as user-defined
crosscutting con- cerns, without requiring invasive changes in the
rest of a program. This paper presents a proof-of-concept
implementation based on ContextL for Common Lisp, along with
example STM strategies and preliminary benchmarks, and introduces
some of ContextL’s unique features for context-dependent variable
accesses.
--
Philip