The agent interface is a simple network protocol. Thus agents can be implemented in any language that can use Internet sockets. The agent's implementation language does not have to support any other form of output because the network protocol lets the agent send its debug output to the simulator in the form of text messages and map symbols. It should be easy to write the client side network code by looking at the server side network code and the example implementation of a client in Ada. If you chose to develop your agents in Ada, you don't have to bother with the network protocol, just fill the procedure bodies with your agent code.