STMX is a high-performance Common Lisp library for composable Transactional Memory (TM), a concurrency control mechanism aimed at making concurrent programming easier to write and understand. Instead of traditional lock-based programming, one programs with atomic memory transactions: if a memory transaction returns normally it is committed. If it signals an error, it is rolled back. Transactions can safely run in parallel in different threads, are re-executed from the beginning in case of conflicts or if consistent reads cannot be guaranteed, and effects of a transaction are not visible from other threads until committed. This gives freedom from deadlocks, automatic rollback on failure, and aims to resolve the tension between granularity and concurrency.
Automated Business Logic (ABL) is a transaction logic engine. You define the behavior of your persistent objects declaratively, and the engine will take care of executing and enforcing your logic at commit time. Despite its simplicity, this approach is remarkably powerful, and can replace a large portion of the code in most transactional applications that use Hibernate.
The Open-Transactions project is a collaborative effort to develop a robust, commercial-grade, fully-featured, free-software toolkit implementing a full-strength financial cryptography library, API, CLI, and prototype server. Open-Transactions democratizes financial and monetary actions. You can use it for issuing currencies/stock, paying dividends, creating asset accounts, sending/receiving digital cash, writing/depositing cheques, cashier's cheques, creating basket currencies, trading on markets, scripting custom agreements, recurring payments, escrow, etc. Strong crypto is used. Balances are unchangeable (even by a malicious server). Receipts are destructible and redundant. The transactions are unforgeable. The cash is untraceable. The cheques are non-repudiable.
STM Lib is a pragmatic library implementation of software transactional memory (STM) for Java and other JVM languages (such as Scala, Clojure, and Groovy). STM is ideal for applications where data is accessed concurrently by several threads and doesn't have to be persisted in real-time. For example, chat or instant messaging servers, file sharing servers, real time search engines, and massively multiplayer online games or virtual communities. It also works for all kinds of multithreaded programs. STMlib provides transactional collection classes that implement the standard Java APIs. The locking scheme is based on 2 phase locking, which enforces Serializability. Also, transactions are automatically retried when deadlocks occur, so you don't have to.