To-do list for the Mobile Agent System software of OpenAI
While there is a mechansim for doing what I call "asynchronous automatic
remote classloading", there is still a bug to be worked out. I need
someone with strong serialization and classloading knowledge to assist me
in tracking down the problem.
The bug shows up during the deserialization process. All of the class
data appears to be in the classloader, but in some instances for agents
whose data was loaded remotely, deserialization fails saying that
the serialVersionUID is "0". This should not be the case for the examples
that I was running as they are serializable objects and not proxy classes.
It also doesn't happen all of the time and the same objects *always* work
fine if they are in the classpath of the receiving node.
If you can help, give me a yell at email@example.com.
UPDATE: 01-24-2002 This has been resolved. Please reference bug
Security is always a problem with mobile code. I've architected the
mobile agent system so that adding security *should* flow smoothly. The
addition of the remote classloading definitely increases the risk. I've
added a way to disable the remote classloader, but a Java security policy
still needs to be implemented. I don't want to lock things down like
applets are locked down by having separate classloaders for each applet,
but I do want a way to specify permissions that the DaemonServices, Agents,
and MobileAgents have. I also want to specify permissions for individual
types of these objects.
UPDATE: 01-30-2002 I've put together a brief
synopsis of what I'm looking for in terms of security for the agent
I'd like to get some basic DaemonServices written and bundled up with the
agent system. Such things as database interfaces or web interfaces or any
other "services" that a node could provide are prime candiates. Each
service and its related classes should most likely go into its own
subpackage in the agent system - like net.openai.ai.agent.database. If you
have ideas for services that you'd like to see in the agent system or would
like to develop one of the previously mentioned services, contact me at