This is the FAQ for D'Agents 2.0. It is just getting started, and will expand rapidly as we get feedback and questions from D'Agent users.
D'Agents 2.0 has much better performance than D'Agents 1.1 and has security mechanisms for protecting a machine against malicious agents.
The public version of D'Agents 2.0 supports Tcl agents only. The internal version supports Tcl, Java, Python and Scheme agents.
The exact release dates are unknown, but you can request alpha versions of the Java and Scheme modules.
Language | Availability |
---|---|
Java | Alpha release available by request (see note below) |
Python | To be determined |
Scheme | Alpha release available by request (see note below) |
NOTE: If you are interested in getting the Java or Scheme module, you'd need to find Bob Gray.
Sorry, but D'Agents is no longer supported.
Check our known bugs web page periodically
Yes, there are two mistakes and one omission. Please read Bug Report 19.
The D'Agents core can now support multiple languages. Adding this support took much longer than expected. In addition, we made the mistake of working on multiple languages and the new security mechanisms simultaneously, making it impossible to release the software until both were finished.
Check our known bugs web page periodically
There are several possibilities:
1. Make sure that the agentd.conf file includes the linesAllowedMachine localhostand
TrustedMachine localhost
2. Make sure that localhost maps to the special IP address 127.0.0.1, not to the machine's actual IP address. You can check this by typing the command
ping localhostand seeing what IP address is listed in the output. If localhost is not mapped correctly, you may need your system administrator's help to fix it.
3. Make sure that the server's Unix domain socket is on the local filessytem (i.e., make sure that the DATA_DIRECTORY specified in the Makefile is a directory on the local filesystem). If the socket is not on the local filesystem, you must change DATA_DIRECTORY in the Makefile, recompile and reinstall. (The system is much faster with the socket on the local filesystem anyway.)
Agents in D'Agents 2.0 are given a default lifetime by the StartWall and AnonStartWall fields in agentd.conf. You must set these lifetime values large enough to take into account the clock drift of your machines. (We will be fixing this requirement in later releases.) For example, if the clocks on your machines are up to 10 minutes out of sync with each other, you should set the lifetime values to 20 minutes (2 times the clock drift) plus the desired default agent lifetime. Authorized agents that want a longer lifetime can use the require command to get it.
This error message means exactly what it says. The security routines in D'Agents 2.0 require that you redirect standard input (so that it comes from either a Tcl string or a file) when you exec a Unix command. For example, instead of writing
exec whoyou instead must write
exec who << {}(The Unix who command takes no input so we just redirect standard input to an empty Tcl string.) To see an example of a correct exec command, refer to the who.jump.tcl agent that came with D'Agents, NOT to the who agent that is discussed in the old documentation for D'Agents 1.1.
The most likely problem is that you are trying one of the examples from the D'Agents 1.1 documentation without making the few changes that are necessary under D'Agents 2.0. Instead of typing in the example agents that are in the old documentation, use the updated example agents that came with D'Agents 2.0. (These updated agents were installed into the examples subdirectory during the installation process. Refer to your Makefile to get the full directory name.)
We are continuing our focus on performance, security, and fault tolerance, as well as on several support services, such as network sensing and planning, debugging and graphical agent construction.
We plan to make a release at the end of every quarter (March, June, September and December). The exact contents of each release will depend on our current research focus, current set of students, etc.