TSpaces

TSpaces ist ein Projekt am IBM Almaden Research Center. Es wird von den Projektbeteiligten als erweitertes Tuplespace-Modell (siehe Tuplespace) mit Datenbankfunktionalität beschrieben.

Bei einem TSpace wird ein Tupel durch eine Instanz der Klasse Tupel oder SubclassableTupel repräsentiert. Die einzelnen Elemente eines Tupels sind Instanzen der Klasse Field. Jedes Field-Objekt hat einen Typ und einen Wert. Ein TSpace ist eine Instanz der Klasse TupleSpace, es stellt eine Multimenge von Tupel-Objekten dar.

Die mit einem Tuplespace möglichen Operationen finden sich als Methoden der Tuplespace-Klasse wieder:

• waitToTake - entnimmt ein auf ein Template passendes Tupel,
• waitToRead - liest ein Tupel ohne es zu entnehmen,
• write - speichert ein Tupel.


Es gibt noch nicht-wartende Varianten der waitToTake- und waitToRead-Methoden (take und read), die null zurückgeben, wenn kein passendes Tupel gefunden werden kann.

Eine Erweiterung zum klassischen Tuplespace ist die scan-Methode, die analog zur read-Methode arbeitet, aber nicht nur ein passendes Tupel liefert, sondern die Menge aller passenden Tupel zum Resultat hat.

TSpaces unterstützen Transaktionen. Ein oder mehrere TSpaces können einem Transaktionsobjekt zugeordnet werden. Danach werden alle Operationen der zugeordneten TSpaces innerhalb der Transaktion ausgeführt. Ein Aufruf der commit- oder abort-Methode des Transaktionsobjekts beendet die Transaktion.

Informationen zu TSpaces finden sich im Internet unter www.almaden.ibm.com/cs/TSpaces.