Magentix2 provides support at three levels:
- Organization level, technologies and techniques related to agent societies.
- Interaction level, technologies and techniques related to communications between agents.
- Agent level, technologies and techniques related to individual agents (such as reasoning and learning).
Magentix2 uses AMQP as a foundation for agent communication. This industry-grade open standard is designed to support reliable, high-performance messaging over the Internet. It facilitates the interoperability between heterogeneous entities. Magentix2 allows heterogeneous agents to interact to each other via FIPA-ACL messages, which are exchanged over the AMQP standard.
Specifically, Magentix2 uses the Apache Qpid implementation of AMQP. Thus, Magentix2 agents use Qpid client APIs to connect to the Qpid broker and to communicate with other agents at any Internet location.
TRACING SERVICE SUPPORT
The Tracing Service Support allows agents in a Multiagent System to share information in an indirect way by means of trace events. This support is based on the publish/subscribe software pattern, which allows subscribers to filter events attending to some attributes (content-based filtering), so that agents only receive the information they are interested in and only requested information is transmitted.
In order to facilitate this labour to the platform agents, Magentix2 incorporates a Trace Manager (TM), which is in charge of coordinating the process of event tracing, allowing agents to publish/unpublish, to subscribe/unsubscribe, to trace information, or to look up available trace information at run time.
Magentix2 incorporates a security module which provides key features regarding security, privacy, openness and interoperability not offered by other current Agent Platforms. This module is based on open standards (AMQP, SSL,SASL, X.509 certificates, WS-Security, FIPA-ACL) and open source technologies (Qpid, NSS, Axis2, Rampart). The security module allows the development of not only secure but also open Multiagent systems in which previously unknown agents can enter and leave the Multiagent systems at any moment.
The main component of the security module is the Magentix2 Management Service (MMS), which is a WSSecurity compliant secure web service implemented using Apache Axis2 and its security module Apache Rampart. The MMS is in charge of controlling the creation of agent certificates for platform users. These users must authenticate themselves to the MMS with a certificate issued by a trusted third party certificate authority. Then, the MMS issues (using the Magentix2 Certificate Authority (MCA)), certificates for the agents that authenticated users create. Thus, agents can communicate to other agents in a secure way once they get a valid MCA certificate. To this aim, the Qpid broker is set to accept MCA-issued certificates.
Magentix 2 incorporates conversational agents, which is a new class of agents called CAgents. CAgents allow the automatic creation of simultaneous conversations based on interaction protocols. CAgents can use pre-defined interaction protocols, define their own interaction protocols and also dynamically change interaction protocols at runtime.
CAgents are composed of two main components: Conversation Factories (CFactories) and Conversation Processors (CProcessors). A CFactory defines an interaction protocol as finite state machines by means of nodes and arcs between them. CFactories are in charge of creating CProcessors that will execute the the defined interaction protocol. CFactories manage automatically incoming messages, deciding if a message belongs to an ongoing CProcessor or if a new one has to be created. Moreover, CFactories allow agents to maintain several conversations following simultaneously the same interaction protocol and also manage concurrence aspects.
Magentix2 platform not only has as aims to provide a guaranteed communication mechanism to the programmer, but also to provide a complete support for virtual organizations. THOMAS (Methods, Techniques and Tools for Open Multi-Agent Systems) framework has been integrated with Magentx2 with this purpose.
Agents have access to the infrastructure offered by THOMAS through a set of services including on two main components:
- Service Facilitator (SF): its functionality is like a yellow page service and a service descriptor in charge of providing a green page service.
- Organization Manager Service (OMS): it allows the creation and the management of any organization, the roles the agents play and the norms that rule their behavior.
Magentix2 implements two types of intermediary agents named SF and OMS to provide the THOMAS API to the platform agents in an easy way. Thus, they have been defined in order to address the translation between Magentix2 agents (or any external agent), that implement FIPA communication, and the services they provide.
In addition, Magentix2 offers a new communication mechanism based on the virtual organizations structure. Thus, it allows the mass communication among agents of an organization, taking into account the type of roles which agents play.
Magentix2 includes an argumentation API that allows agents to engage in argumentation dialogues to reach agreements about the best solution for a problem that must be solved. With this aim, both argumentative agents and several knowledge resources that they can use to manage arguments are provided.
Argumentative agents implement a case-based argumentation framework to generate arguments, to select the best argument to put forward taking into account their social context and to evaluate arguments in view of other arguments proposed in the dialogue. Also, they can use different dialogue strategies to exchange information and engage in the argumentation process.
Magentix2 argumentative agents are a special type of Magentix2 conversational agents that use a pre-defined interaction protocol.
JASON AND J-MOISE
Magentix2 provides native support for executing Jason agents and J-MOISE+ organizations. These frameworks have been integrated into Magentix2. Moreover, Jason agents can benefit from the reliable communication, tracing facilities and security mechanisms provided by Magentix2.
In order to allow interaction between a Magentix2 agent and the outside world, an HTTP interface service has been developed. A common use for the HTTP Interface service is a webpage that allows its users to monitor and interact with the agents running in Magentix2. However, the use of the HTTP interface is not exclusive for web pages and can be used in other scenarios.
Magentix2 distribution includes examples of agents using all the technologies that Magentix2 provides. There are examples of basic agents, conversational agents, Thomas framework, security, Jason and tracing facilities.
In order to build Magentix2 examples or any new Magentix2 project, it is necessary to include Magentix2 library in the build path of the java compiler. This library is located in the lib folder inside the Magentix2 installation folder.
Magentix2 is available in the download section of this web page. The installation of Magentix2 is completely automatic, easy and user-friendly. Thus, the installation application provides a graphical interface, which guides the user through the installation process. It is possible to make a full installation or customize it. A full installation installs all of the components that Magentix2 needs to run appropriately, whereas the custom option allows users to choose which components to install.