[LWN Logo]
[LWN.net]
From:	 "Stephen Pair" <spair@advantive.com>
To:	 
Subject: [ANN] kats 0.1a - a Smalltalk transaction service
Date:	 Fri, 3 Aug 2001 15:06:13 -0400

Kats is an in-memory transaction service for Smalltalk (Squeak is the first
port available). You'll find the downloads and information at:

http://spair.swiki.net/kats

It's a 0.1 alpha release with very little documentation as of yet. Briefly,
a few of the features:

- multi-level transactions

- two-phase commit protocol

- compiler modifications to allow transparent support for transactions

- object locking (for pessimistic concurrency...read, write, and exclusive
locks)

- customizable conflict detection algorithm (default just detects any
concurrent mutations (on any inst var) of the same objects)

- a transaction explorer (and modified process browser to show the
transaction associated with a process)

- a transactional inspector for viewing the state of objects in a given
"state context" (transaction)

- a transactional workspace to evaluate expressions in the context of a
given transaction

- an optional "execution context" model for transactions (built mainly to
highlight differences in this system with traditional TP monitors)

- a transaction aspect installer (for adding/removing transaction
capabilities to existing classes)

- a TxObject class, which can be subclassed for automatic transaction
support

- a couple of special transactional classes to illustrate specializing the
conflict detection algorithm (TxCounter and TxBag)

It is available under LGPL.

- Stephen