I'm happily using eve for my bachelor project.
I use pubnub to connect agents wherever they are to my network. They offer smart home capabilities to work together to get smart home logic working.
But then I'm stuck.
How can I dynamically find agents? I need something where I can find agents that offer a specific method.
At the moment I can only hardcode the agentId.
I use a special agent class to send actions to actors/sensors. This class should be accessed without knowing the Id. So a broadcast (or something like it) could send the request out and one of them sends an answer.
Especially this part of @josdejong answer is interesting:
When one agent is created by another agent, they can remember each other. When an agent is made part of some group or organization, it can see the other agents in the same group.
How does this work?
Eve doesn't have built in support for discovery mechanisms, but here are a few ideas:
Create a single directory service listing all existing agents. Agents have to register there. Can possibly register with extra tags like some group or capability. A centralistic solution.
Let each agent store a list of its own contacts, the agents that it knows of. When some agent needs an agent with specific capabilities, it can ask around whether some of their contacts know an agent who can do X, and their contacts can ask their contacts, etc. Will need a max search depth and prevention of circular loops. I'm sure there are interesting papers for such a discovery algorithm :)
As for subscribing on events on other agents: this functionality is still missing in the JavaScript implementation.
Hello!
I'm happily using eve for my bachelor project. I use pubnub to connect agents wherever they are to my network. They offer smart home capabilities to work together to get smart home logic working. But then I'm stuck. How can I dynamically find agents? I need something where I can find agents that offer a specific method. At the moment I can only hardcode the agentId. I use a special agent class to send actions to actors/sensors. This class should be accessed without knowing the Id. So a broadcast (or something like it) could send the request out and one of them sends an answer.
Especially this part of @josdejong answer is interesting:
When one agent is created by another agent, they can remember each other. When an agent is made part of some group or organization, it can see the other agents in the same group.
How does this work?I also like the Publish-subscribe model described here: http://eve.almende.com/concepts/protocol.html Are there any examples for that? I didn't seem to find any :-(
Thank you in advance!