armin | 9 Dec 2002 17:36

Re: Hilfe: DRb/TupleSpace - Problem

> > Ich habe begonnen, mich mit Rubys TupleSpace zu beschaeftigen und bin auch
> > gleich auf ein Problem gestossen, das ich mir nicht erklaeren kann. Auch
> > im Netz habe ich dazu nichts gefunden. Vielleicht kann mir jemand von euch
> > dabei helfen?
>
> entschuldige die bloede frage:  was ist tupelspace, und wofuer kann
> man es gebrauchen?
>
Ich habe seit Monaten nichts mehr damit gemacht, aber ich
denke so in etwa ist es.

Der Name Tuple kommt aus der Mathematik und beschreibt ein Array von
Werten. Ein Tuple-space kann verteilt sein in einem greren Tuple-Space,
wie eine Schachtel in einer Schachtel oder die bekannten russischen Puppen.

Jeder Tuplespacke kennt drei Operatoren:
- out: ein Tuple speichern
- in:  ein Tuple aus dem Tuple space herausholen
- rd:  ein Tuple aus dem Tuple space auslesen, aber es bleibt im
Tuplespace.

Die Methoden in und rd sind sehr maechtig, da sie einen
Mustervergleich durchfuehren knnen. Gibt man hier ein Muster an,
wird der Tuplespace ein Tuple zurueckliefern, auf welches das Muster
passt.

Wenn unser kommunaler Tuplespace registriert, welche Musiktitel man sich
gerade anhrt, kann man diese Information (mit dem Benutzernamen als Schlssel) speichern:

ts.out [ 'armin', track ]

Jemand in Amerika koennte nun herausfinden was ich gerade anhre:

name, track =
  ts.rd [ 'armin', nil ]

Das (einfache) Muster ist in diesem Beispiel der Parameter von #rd: Der
Tuplespace wird alle Eintraege liefern, die "armin" im ersten Wert hat.

Beim Wechsel zum nchsten Musikstck kann man den alten Eintrag lschen und
einen neuen einschieben.

ts.in [ 'armin', nil ]
ts.out [ 'armin', track ]

In der Regel wird man anspruchsvollere Protokolle fur Tuplespaces mit
diesen einfachen Operationen implementieren.

Ciao,
	-A.
-----------------------------------------------
Armin Roehrl, http://www.approximity.com
Training, Development and Mentoring
OOP, XP, Java, Ruby, Smalltalk, .Net, Datamining, Parallel computing,
Webservice

Gmane