[ANN] kats-0.1a - a smalltalk transaction service

Stephen Pair spair at advantive.com
Wed Aug 1 16:13:55 UTC 2001


Kats is an in-memory transaction service for Smalltalk (Squeak
specifically).  You'll find the downloads and information at:
	http://spair.swiki.net/kats 

It's a 0.1 alpha release with very little documentation.  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)

I wanted to release this under a license compatible with the Squeak
license and basically require that derivative works be required be
released under the same open source license as the original while
allowing both commercial and non-commercial use of the transaction
system.  I started modifying the Squeak license, but didn't feel
comfortable doing so (because IANAL, and because I figured Apple
probably has a copyright on the license itself), so I resorted to the
LGPL...if anyone sees any problems with this, please let me know.

- Stephen





More information about the Squeak-dev mailing list