AJAN

AJAN (Access Java Agent Nucleus) is a modular agent web service which integrates different AI technologies in an intuitive way for creating autonomous systems. The main goal of the development is to address a heterogeneous community with an easy to use, flexible and powerful AI tool for different domains, such like 3D simulations, programmable web or home automation. AJAN is in use for different virtual reality applications, such as pedestrian or shop floor simulations (in the context of Industrie 4.0) in which multiple autonomous 3D entities has to be controlled.

The AJAN agent system was developed in the BMBF (Bundesministerium für Bildung und Forschung) projects ARVIDA and INVERSIV. In these projects, the main goal of AJAN was to simulate virtual humans such like pedestrians or workers, to evaluate traffic or shop floor scenarios. AJAN is further developed in the BMBF project Hybr-iT, in which it’s supposed to use AJAN to control beside of virtual workers, also robots in human robot collaboration simulations. Using AJAN in different domains and heterogeneous system environments, a modular web services is striven which follows the ARVIDA reference architecture to create domain independent agents. This modularity is not only needed for flexible system integration; it is also necessary to use different AI technologies to create autonomous intelligent and learning agents, e.g. to enable realistic simulations of human behaviors.

Fig.1: AJAN architecture consisting of four components: web editor (purple); triple stores (red); execution service (yellow); domain (blue + green)

An AJAN agent model with its behaviors, beliefs and domain knowledge is declaratively described in RDF (Resource Description Framework) and stored in different triplestores (see Fig.1). The agent behavior respectively the agent actions composition and execution is realized by using SPARQL and the Behavior Tree (BT) paradigm. The modularity of AJAN is enhanced by using this paradigm, which allows an easy integration of different AI technologies, such as planning or reinforcement learning. For that, AJAN offers the possibility to create own Java based plugins to extend the agent model. The execution of an agent model is done by the AJAN Execution Service, which represents all agents with their perception and actions in the considered domain. As mentioned in the introduction, a goal of AJAN is to address also persons with less programming experiences to enable them a fast and intuitive development of autonomous systems. Therefore, a web editor is available for AJAN to model agent behaviors with a graphical programming language.

Contact: André Antakli, M.Sc.