AJA is an acronym for Adaptable Java Agents.
AJA tool consists of two programming languages:
AJA agents have the following features:
A higher-level language used for the description of the main agent parts.
This language is called HADL, which is the acronym for Higher Agent
- A lower-level language used for the programming of the agent parts defined
in HADL. This language is called Java+. It is actually Java enriched with the
constructs for accessing higher-level agent parts defined in HADL.
- Agent is static (not mobile).
- Agent communicates with other agents using a construct called negotiation.
The messages sent can be encrypted or digitally signed in order to ensure the
security of the system.
- Agent possesses adaptable parameters and neural nets that adapt themselves
when the environment changes.
- Agent has reflexes, which are the reactive component of the agent
- Agent can perform its actions parallel. Action executions are synchronized.
- Agent is accessible via Internet, because it acts as a simple HTTP server.
People can use this way to communicate with an agent.
- Agent has Java Swing based graphical user interface. Its owner uses this
interface to communicate with the agent.
- Because of the fact that Java+ language extends Java, it is possible to use all
useful Java features in the implementation of AJA agents (e.g. JDBC for the
The PhD thesis describing AJA and ideas behind AJA is available in download section.