3

I am working on a project within which I'm representing traffic signal controllers as (master) agents, and they communicate with each other. I was going to use JADE for this, but then I came across AKKA. Now I am little confused because what I have read about AKKA shows that there is 1 master and that the master creates workers first; is that right and if so how can I implement the (all masters) agents representation?

timaschew
  • 16,254
  • 6
  • 61
  • 78
Exorcismus
  • 2,243
  • 1
  • 35
  • 68
  • could you please elaborate better on your project specifications? considering how you put it, you can implement it either way. – darlinton Apr 13 '14 at 20:44
  • 1
    so you're trying to set up a system where you have a true peer-to-peer system that has no defined master, but will work with each other. Similar to the JXTA system a while back http://en.wikipedia.org/wiki/JXTA – Archimedes Trajano Apr 14 '14 at 18:12
  • It sounds like you may have two meanings for the word "master". In Akka, agents are spawned in a hierarchy, i.e., there needs to be a tree even if only a root and all its children. Traffic signal controller "master" agents are something different. – Bob Dalgleish Apr 14 '14 at 20:50
  • 1
    from what i read, AKKA might be better than JADE , from which i inferred that both do the same thing , I thought of creating each of my peers as "actors" who communicate with each other , there is no worker principle... all peers are equal , would that be okey ? – Exorcismus Apr 15 '14 at 06:44

1 Answers1

2

So where'd you end up on this? What I've determined is that the actor model is not the same thing as the agent model, and that, in order to make agents make sense in AKKA, you need to do quite a bit yourself.

  • because AKKA is going to send all requests through a router, you need to store state in the message itself.

  • in order to emulate the masterless behavior of agent peers, you will have to build a routing master that will know which agents to send what to. Also, if you have a "repeated averaging" problem, like group opinions, that master will need to watch over the state for the problem / send the results of other agents to each agent on the next iteration.

I think you may need to ask what you're looking for in your framework. If you're looking for ruggedness, AKKA is probably an OK bet (it's inspired by ErLang), if you're looking for an agent platform that can run simulations, JADE or RePast is probably a much better bet.

At least for agent systems, AKKA is about as much of a match as ActiveMQ or ZeroMQ is (i.e. it handles some communication problems for distributed systems, but it's not an agent based framework).

Rannick
  • 598
  • 5
  • 19