<h1>To-do list for the Mobile Agent System software of OpenAI</h1>

<style type="text/css">
span.term { font-style: italic; color: rgb(0, 0, 192) }
code {
	color: green;
	font-family: monospace;
	font-weight: bold;
}
.announce  {
	margin-left: 40;
	margin-right: 5%;
	color: rgb(192, 101, 101);
}

div.navbar { text-align: center; }
div.contents {
	background-color: rgb(204,204,255);
	padding: 0.5em;
	border: none;
	margin-right: 5%;
}
.tocline { list-style: none; }
table.exceptions { background-color: rgb(255,255,153); }
</style>

<h2>Remote Classloader</h2>
<p></p>
<ul>
    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.
    <p></p>
    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.
    <p></p>
    If you can help, give me a yell at thornhalo@users.sourceforge.net.
    <p></p>
    <b>UPDATE:</b> <i>01-24-2002</i> This has been resolved.  Please reference <a
    href="https://sourceforge.net/tracker/index.php?func=detail&aid=497365&group_id=21435&atid=371485">bug
    #497365</a>
</ul>
<p></p>

<h2>Security</h2>
<p></p>
<ul>
    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.
    <p></p>
    <b>UPDATE:</b> <i>01-30-2002</i> I've put together a <a
    href="http://openai.sourceforge.net/OSMoSys_SecurityPlans.txt">brief
    synopsis</a> of what I'm looking for in terms of security for the agent
    system.
</ul>
<p></p>

<h2>DaemonServices</h2>
<p></p>
<ul>
    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
    thornhalo@users.sourceforge.net.
</ul>
<p></p>
