Current projects
In general, the system AOT should include the following basic components: restricted formal language with the appropriate syntax and semantics for describing the internal state of an agent, which is determined by several parameters such as beliefs, desires, intentions and commitments; programming language for the specification of agents, including the primitive commands such as REQUEST and INFORM; agentifikator, which converts the neutral components in the programmable agents.
The main properties required of agents, are:
Autonomy – the ability to perform actions on its own;
Homogeneity / heterogeneity – the ability to combine homogeneous or heterogeneous functions; The presence of “intelligence”, learning, behavioral modification to improve their own efficiency;
Active behavior, the constant exchange of information “inside” the agent and between agents and environments;
Communication skills – data exchange with external environment;
Perception of the environment – the existence of special “means” the perception of the environment the agent;
Mobility – moving the agent inside other software and physical environments and / or components.
Implementation
Distributed object architectures (CORBA, DCOM, Java RMI, WEB-services), having many of these properties have the following disadvantages:
- the need for recompilation of program code when making changes to objects and interfaces;
- inability to dynamically adapt the behavior of software objects, depending on the state and behavior of the medium;
- inability to work explicitly with the models of knowledge;
Distributed Object Wednesday JADE (based on Java RMI, Java CORBA IDL, Java Serialization and Java Reflection API) gives Java agents following properties:
Autonomy, ability to perform actions on its own: the agent should be the list of behaviors, which can be recharged asihronno, that is in standby mode and in the “busy – we are working.”
Stability: not having a side effect after each behavior has the ability to rollback.
Active behavior: lies in the fact that in case of failure, performed cyclical attempts to execute the current one, and then move on to the next step behavior. The behavior of the agent is busy – it does not interact with the environment. After completion of the current behavior, the agent moves to the next on the list, and if no list – awaiting the appearance of such. Same object, if successful, has no shutter, and in case of failure – casts the problem.
Mobility: the ability to transmit an agent in another container. This property arises from the lack of after each conduct a side-effect.