Software:MaSMT

From HandWiki
MaSMT
Developer(s)B. Hettige, A. S. Karunananda, G. Rzevski
Stable release
3.0 / 9 September 2017; 6 years ago (2017-09-09)
Written inJava
Operating systemCross-platform
TypeMulti-agent system framework
LicenseGNU LGPL
Websitesourceforge.net/projects/masmt/

MaSMT is a free, lightweight Multi-agent system development framework, design through the Java environment. The MaSMT3 framework provides three types of agents, namely ordinary agent and managing agent and root agent. The managing agent capable to handle set of ordinary agent and the root agent capable to handle set of manager agents. MaSMT3.0 includes few features than the previous versions. MaSMT 3.0 includes root agent to handle swam of agents, Environment handling features to dynamically store agent's ontology, and notice board has been introducing to see required messages and events. In addition to these main features, agent status monitor has been introducing to view transporting messages. Multi-agent technology is modern software palindrome that capable of handling the complexity of a software system and providing intelligent solutions through the power of agent communication. A framework is a useful tool to develop multi-agent system and it saves lot of programmer's time and provides standards for the agent development.

About MaSMT

Multi-agent technology is a modern software palindrome that capable of handling the complexity of a software system and providing intelligent solutions through the power of agent communication. A framework is a useful tool to develop a multi-agent system and it saves much programmer's time and provides standards for the agent development. MaSMT (Multi-Agent System for Machine Translation) released as Open Source under the GNU General Public License (GPL). Hence, the license allows using the software to examine and modify the source code and to develop applications based on the platform. The framework has been completely developed through the Java and provides Cross-platform capabilities. There is no prerequisite on MaSMT agents. First Open source version of the MaSMT was released on 2 March 2016 for to provide general infrastructure for the multi agent system development. The new version of the MaSMT includes some modification of the MaSMT to achieve best performance. MaSMT3.0 includes few features than the previous version including root agent to handle swam of agents, Environment handling features to store agent's action and mail transport agent to send and reserving messages as emails. In addition to these main features, activity monitor has been introducing to view transporting messages.

Infrastructure

This section briefly describes the structure of the MaSMT agents. The MaSMT framework provides three types of agents, namely ordinary agent, manager agent and root agent. The regular agents are the action holding agents of the framework; precede relevant tasks according to the given messages. A manager agent consists of some ordinary agents within its control. The root agent is the top level agent in the system which is capable to handle set of manager agents. Through the root agent, it is much easy to manage a swarm of agents. Further, manager agents can directly communicate with other manager agents as well as its root agent. Each and every ordinary agent in the system assigns to a particular manager agent. and manager can assign to a particular root agent. A regular agent (ordinary agent) in a swarm can directly communicate only with the agents in its swarm and its manager. The framework primarily implements infrastructure of the agents, required actions to handle agent's environment, message parsing activities to agent communication and action monitoring facilities to view an agent's action for implement multi-agent system easily.

Agent Model

MaSMT agents consist of an abstract model of the agents. Each agent in the system consists of group, role, and agent id. According to the MaSMT architecture, any group consists of one-to-many roles and any role includes some MaSMT agents with independent agent id. Further, MaSMT agents are capable of changing their role or group at run-time. Therefore, an agent can appear in the different swam as it required. However, only one place at a time Figure 1 shows the abstract agent model of the MaSMT system. MaSMTAbstractAgent class is used to model the entire requirement of the abstract model.

MaSMTAbstractAgent

MaSMTAbstractAgent is an abstract model of the each agent in the MaSMT framework and which is used to identify each agent independently. The abstract agent consists of a group, a role, and an agent id. In another word, each agent of the MaSMT system has an id and assigns for the particular group and a role. For instance, an agent in a group ‘communicate’ and role is read_message and id is1 then complete agent name of the abstract agent is donated as; read_message.1@communicate

MaSMT Agent

MaSMTAgent is the ordinary agent in the framework, normally called as an action agent. MasMT agent consists of an abstract agent, two message queues (in-queue and out-queue), access rule, communication module, Environment controller, Status monitor and notice-board reader to handle the agent's functionalities.

MaSMT Agent's Life circle

The MaSMT agent is a Java thread consists of three sections on its life circle such as active, live and end. The active section starts when the agent is going to activate. After completing the active section, the agent moves to its live section. The agent is in the live section while its live property is true. That can be done through the method ‘setLive(false)’ The agent does it all the actions such as read messages reply for the messages are doing in the live section. In addition, a developer can change the delay of the agent's live circle. The end section of the MaSMT agent appears when the agent is going to die. Figure 3 shows the life-circle of the MaSMT agent.

MaSMT Manager

The MasMT Manager is a controlling agent of the system with additional features than the MaSMT ordinary agents. According to the MaSMT architecture, The manager agent consists of an abstract agent, two message queues (in-queue and out-queue), access rule, communication module, Environment controller, Status monitor, notice-board reader, network access agent and Message transport agent to archive managers functionalities. The MaSMT manager can fully control its client agent(s). The Manager agent in the MaSMT creates all its client-agent automatically (as required) at the initialization stage or whenever its use. The manager can directly access its client agents and send messages to them or control them as required. Further, manager agent can control the priority of the agents and the state of the agents. This facility removes the unnecessary workload from its client agents. The in-Queue of the managers is a queue used to store incoming messages. The manager adds messages for the out-queue, where the messages need to send to others group. In addition to the above basic module, MaSMT manager agent consists of net access agent and message transport agent. The net access agent supports client-server communication for the system. This agent provides facilities to connect any managers on the net through the client-server networking. Message transport agent provides message transport facilities to the manager. Figure 4 shows the architecture of the MaSMT Manager. Compare with MaSMT agent, the manager agent has full control of the notice board. Therefore, message transport agent capable to handle peer-to-peer broadcast and notice-board based agent communications.

MaSMT Root Agent

MasMT Root is a special type of Manager agent (MaSMT Manager) that capable to handles managers in the multi agent system. This MaSMT Root agent can fully control its client managers same as the manager handle its client agents. Further, the root agent can create, remove or control (handle agent priority) its client manager(s). The in-Queue of the root agent is a message queue that uses to store incoming messages (messages are coming from another machine). The Root agent also adds messages on out-queue where messages need to send to others machines. Same as MaSMT Managers The Root agent consists of Message transport agent and net access agent to handle messages. Theoretically, Root agent is the top level manager of MaSMT system. Therefore, only one root agent available for a multi agent system in a machine. However, the root agent able to communicate with another root agents through the Net access agent.

MaSMT Messages

Multi-agent systems are distributed systems that normally run concurrently. Communication among others is the hidden factor behind the success of the multi-agent systems. This agent communication is done through the messages. Therefore, number of standard available for the agent communication including FIFA-ACL. With considering all the above, MaSMT uses a message type named MaSMTMessages. MaSMTMessage is a type of agent's communication message, uses to communicate with agents. The MaSMT Messages design by using FIPA-ACL message standards. MaSMT uses MaSMTMessage (a message) to communicate between MaSMT agents as well as another agent through the FIPA-ACL message standard.

MaSMT Message Parsing

This section briefly describes message parsing methods used in the MaSMT system. MaSMT support peer-to-peer, broadcast and noticeboard methods to message parsing.

Application of MaSMT

Using the framework number of the multi-agent system has been developed including Natural Language Processing applications such as English to Sinhala Agent-based Multi-agent system, Sinhala Ontology Generator and Multi-agent based Morphological Analyzer.[citation needed] In addition to the above Intelligent chatbot and a communication platform for Agricultural domain, File sharing application through the distributed environment has already developed through the MaSMT.[citation needed]

References

  1. B. Hettige, A. S. Karunananda, G. Rzevski, "MaSMT: A Multi-agent System Development Framework for English-Sinhala Machine Translation", International Journal of Computational Linguistics and Natural Language Processing (IJCLNLP), Volume 2 Issue 7 July 2013.
  2. B. Hettige, A. S. Karunananda, G. Rzevski, "Multi-agent solution for managing complexity in English to Sinhala Machine Translation", International Journal of Design & Nature and Ecodynamics, Volume 11, Issue 2, 2016, 88 – 96.
  3. B. Hettige, A. S. Karunananda, "Octopus: A multi-agent chat-bot", Proceedings of 8th International Research Conference KDU 2015.
  4. B. Hettige, A. S. Karunananda, G. Rzevski, "Multi-agent System Technology for Morphological Analysis", Proceedings of the 9th Annual Sessions of Sri Lanka Association for Artificial Intelligence (SLAAI), Colombo, 2012
  5. B. Hettige, A. S. Karunananda, G. Rzevski, "A Sinhala Ontology Generator for English to Sinhala Machine Translation", Proceedings of KDU International Research Symposium 2014
  6. HMHR Jayarathna, B Hettige, "AgriCom: A communication platform for agriculture sector", Proceedings of the 8th IEEE International Conference Industrial and Information Systems (ICIIS), 2013.
  7. L D S B Weerasinghe, B Hettige, R P S Kathriarachchi and A S Karunananda. Resource Sharing in Distributed Environment using Multi-agent Technology. International Journal of Computer Applications 167(5):28-32, June 2017.

External links