You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@river.apache.org by Oliver Plohmann <ol...@objectscape.org> on 2010/12/02 22:47:12 UTC

Tuple spaces and actors

Hi,

has anybody thought of combining Linda-style tuple spaces with 
clojure-style agents? I just got the idea that combining actors with 
tuple spaces would be a useful fit. There is a single actor that 
controls access to the tuple space in an asynchronous actor-style 
fashion. Every access to the tuple space is queued. The queue is 
processed sequentially by a single actor associated with that tuple 
space or a sub-tree of it (hence no race conditions as with clojure 
agents). This would also automatically add event notification to the 
actors in use. The actor frameworks I've seen so far don't have that. 
Just would like to discuss this a bit with anybody interested in the idea.

Cheers, Oliver

Re: Tuple spaces and actors

Posted by Jeff Ramsdale <je...@gmail.com>.
I've not used it, but I believe that LocalSpace from Blitz provides an
embedded JavaSpace:

http://www.dancres.org/bjspj/docs/docs/javadocs/org/dancres/blitz/remote/LocalSpace.html

-jeff

On Fri, Dec 3, 2010 at 10:29 AM, Tom Hobbs <tv...@googlemail.com> wrote:
> Hi Oliver,
>
> I'm not familiar with actor frameworks, however I read your suggestion
> as saying you're thinking about the idea of using a space to act as a
> queue.  Is it right for me to say that you'd then associate a single
> producer/consumer for this space/queue?  If that's in any way
> accurate, then yes it can be done.  The space implementation in River
> (Outrigger) happens to be FIFO, and that's the implementation I've
> used to do what I've just described.
>
> As to whether Blitz can be run in vm-local mode or not, you'd have to
> hunt down a contact address for Dan Creswell and ask him -
> http://www.dancres.org/blitz/.
>
> Does that help any?
>
> Tom
>
>
> On Fri, Dec 3, 2010 at 9:20 AM, Oliver Plohmann <ol...@objectscape.org> wrote:
>> What I'm thinking of would be to combine an actor framework like Kilim,
>> actorsguild, actorsfoundry, or Akka with a tree-based or tuple-based store
>> acessed by an clojure-style agent as mediator. Using a JavaSpaces
>> implementation would give you event notification for free. Wonder whether
>> Blitz can be run in vm-local mode. Then it would be an option.
>>
>> Regards, Oliver
>>
>> Am 02.12.2010 23:30, schrieb Shay Hassidim:
>>>
>>> We call these polling (one 2 one publisher/consumer model - i.e. queue)
>>> and notify one 2 many publisher/consumer model - i.e. topic) container with
>>> GigaSpaces:
>>>
>>> For Java:
>>>
>>> http://www.gigaspaces.com/wiki/display/XAP71/Polling+Container
>>>
>>> http://www.gigaspaces.com/wiki/display/XAP71/Notify+Container
>>>
>>>
>>>
>>> For .Net:
>>>
>>>
>>> http://www.gigaspaces.com/wiki/display/XAP71NET/Polling+Container+Component
>>>
>>> http://www.gigaspaces.com/wiki/display/XAP71NET/Notify+Container+Component
>>>
>>>
>>>
>>> Shay
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: Oliver Plohmann [mailto:oliver@objectscape.org]
>>> Sent: Thursday, December 02, 2010 4:47 PM
>>> To: river-user@incubator.apache.org
>>> Subject: Tuple spaces and actors
>>>
>>>
>>>
>>> Hi,
>>>
>>>
>>>
>>> has anybody thought of combining Linda-style tuple spaces with
>>>
>>> clojure-style agents? I just got the idea that combining actors with
>>>
>>> tuple spaces would be a useful fit. There is a single actor that
>>>
>>> controls access to the tuple space in an asynchronous actor-style
>>>
>>> fashion. Every access to the tuple space is queued. The queue is
>>>
>>> processed sequentially by a single actor associated with that tuple
>>>
>>> space or a sub-tree of it (hence no race conditions as with clojure
>>>
>>> agents). This would also automatically add event notification to the
>>>
>>> actors in use. The actor frameworks I've seen so far don't have that.
>>>
>>> Just would like to discuss this a bit with anybody interested in the idea.
>>>
>>>
>>>
>>> Cheers, Oliver
>>>
>>>
>>
>>
>

Re: Tuple spaces and actors

Posted by Tom Hobbs <tv...@googlemail.com>.
Hi Oliver,

I'm not familiar with actor frameworks, however I read your suggestion
as saying you're thinking about the idea of using a space to act as a
queue.  Is it right for me to say that you'd then associate a single
producer/consumer for this space/queue?  If that's in any way
accurate, then yes it can be done.  The space implementation in River
(Outrigger) happens to be FIFO, and that's the implementation I've
used to do what I've just described.

As to whether Blitz can be run in vm-local mode or not, you'd have to
hunt down a contact address for Dan Creswell and ask him -
http://www.dancres.org/blitz/.

Does that help any?

Tom


On Fri, Dec 3, 2010 at 9:20 AM, Oliver Plohmann <ol...@objectscape.org> wrote:
> What I'm thinking of would be to combine an actor framework like Kilim,
> actorsguild, actorsfoundry, or Akka with a tree-based or tuple-based store
> acessed by an clojure-style agent as mediator. Using a JavaSpaces
> implementation would give you event notification for free. Wonder whether
> Blitz can be run in vm-local mode. Then it would be an option.
>
> Regards, Oliver
>
> Am 02.12.2010 23:30, schrieb Shay Hassidim:
>>
>> We call these polling (one 2 one publisher/consumer model - i.e. queue)
>> and notify one 2 many publisher/consumer model - i.e. topic) container with
>> GigaSpaces:
>>
>> For Java:
>>
>> http://www.gigaspaces.com/wiki/display/XAP71/Polling+Container
>>
>> http://www.gigaspaces.com/wiki/display/XAP71/Notify+Container
>>
>>
>>
>> For .Net:
>>
>>
>> http://www.gigaspaces.com/wiki/display/XAP71NET/Polling+Container+Component
>>
>> http://www.gigaspaces.com/wiki/display/XAP71NET/Notify+Container+Component
>>
>>
>>
>> Shay
>>
>>
>>
>> -----Original Message-----
>> From: Oliver Plohmann [mailto:oliver@objectscape.org]
>> Sent: Thursday, December 02, 2010 4:47 PM
>> To: river-user@incubator.apache.org
>> Subject: Tuple spaces and actors
>>
>>
>>
>> Hi,
>>
>>
>>
>> has anybody thought of combining Linda-style tuple spaces with
>>
>> clojure-style agents? I just got the idea that combining actors with
>>
>> tuple spaces would be a useful fit. There is a single actor that
>>
>> controls access to the tuple space in an asynchronous actor-style
>>
>> fashion. Every access to the tuple space is queued. The queue is
>>
>> processed sequentially by a single actor associated with that tuple
>>
>> space or a sub-tree of it (hence no race conditions as with clojure
>>
>> agents). This would also automatically add event notification to the
>>
>> actors in use. The actor frameworks I've seen so far don't have that.
>>
>> Just would like to discuss this a bit with anybody interested in the idea.
>>
>>
>>
>> Cheers, Oliver
>>
>>
>
>

Re: Tuple spaces and actors

Posted by Oliver Plohmann <ol...@objectscape.org>.
What I'm thinking of would be to combine an actor framework like Kilim, 
actorsguild, actorsfoundry, or Akka with a tree-based or tuple-based 
store acessed by an clojure-style agent as mediator. Using a JavaSpaces 
implementation would give you event notification for free. Wonder 
whether Blitz can be run in vm-local mode. Then it would be an option.

Regards, Oliver

Am 02.12.2010 23:30, schrieb Shay Hassidim:
> We call these polling (one 2 one publisher/consumer model - i.e. queue) and notify one 2 many publisher/consumer model - i.e. topic) container with GigaSpaces:
>
> For Java:
>
> http://www.gigaspaces.com/wiki/display/XAP71/Polling+Container
>
> http://www.gigaspaces.com/wiki/display/XAP71/Notify+Container
>
>
>
> For .Net:
>
> http://www.gigaspaces.com/wiki/display/XAP71NET/Polling+Container+Component
>
> http://www.gigaspaces.com/wiki/display/XAP71NET/Notify+Container+Component
>
>
>
> Shay
>
>
>
> -----Original Message-----
> From: Oliver Plohmann [mailto:oliver@objectscape.org]
> Sent: Thursday, December 02, 2010 4:47 PM
> To: river-user@incubator.apache.org
> Subject: Tuple spaces and actors
>
>
>
> Hi,
>
>
>
> has anybody thought of combining Linda-style tuple spaces with
>
> clojure-style agents? I just got the idea that combining actors with
>
> tuple spaces would be a useful fit. There is a single actor that
>
> controls access to the tuple space in an asynchronous actor-style
>
> fashion. Every access to the tuple space is queued. The queue is
>
> processed sequentially by a single actor associated with that tuple
>
> space or a sub-tree of it (hence no race conditions as with clojure
>
> agents). This would also automatically add event notification to the
>
> actors in use. The actor frameworks I've seen so far don't have that.
>
> Just would like to discuss this a bit with anybody interested in the idea.
>
>
>
> Cheers, Oliver
>
>


RE: Tuple spaces and actors

Posted by Shay Hassidim <sh...@gigaspaces.com>.
We call these polling (one 2 one publisher/consumer model - i.e. queue) and notify one 2 many publisher/consumer model - i.e. topic) container with GigaSpaces:

For Java:

http://www.gigaspaces.com/wiki/display/XAP71/Polling+Container

http://www.gigaspaces.com/wiki/display/XAP71/Notify+Container



For .Net:

http://www.gigaspaces.com/wiki/display/XAP71NET/Polling+Container+Component

http://www.gigaspaces.com/wiki/display/XAP71NET/Notify+Container+Component



Shay



-----Original Message-----
From: Oliver Plohmann [mailto:oliver@objectscape.org]
Sent: Thursday, December 02, 2010 4:47 PM
To: river-user@incubator.apache.org
Subject: Tuple spaces and actors



Hi,



has anybody thought of combining Linda-style tuple spaces with

clojure-style agents? I just got the idea that combining actors with

tuple spaces would be a useful fit. There is a single actor that

controls access to the tuple space in an asynchronous actor-style

fashion. Every access to the tuple space is queued. The queue is

processed sequentially by a single actor associated with that tuple

space or a sub-tree of it (hence no race conditions as with clojure

agents). This would also automatically add event notification to the

actors in use. The actor frameworks I've seen so far don't have that.

Just would like to discuss this a bit with anybody interested in the idea.



Cheers, Oliver