Many Agent Oriented methodologies use the metaphor of the human organization in which agents play one or more roles and interact with each other. Human organization models and structures are consequently used to design Multi Agent Systems.
Concepts like role, social dependency, and organizational rules are used not just to model the environment in which the system will work, but the system itself. Given the organizational nature of a Multi Agent System, one of the most important activities in an Agent Oriented methodology results in the definition of the interaction and cooperation models that capture the social relationships and dependencies between agents and the roles they play within the system. Interaction and cooperation models are generally very abstract, and they are concretized implementing interaction protocols in later phases of the design.
Although the Agent-Oriented Programming (AOP) paradigm was introduced more than ten years ago by Yoav Shoam in his seminal work (Shoham, 2013), still there are no Agent Oriented languages used in practice for developing a Multi Agent System.
65
In analyzing the present system, it would be good to state the problems of all the existing agent oriented methodologies. While individual agent-oriented methodologies are useful for restricted situations, a more flexible approach can be found in the use of an enhanced model.
Furthermore, repository of method fragments can be built up and, from this, a selected number of fragments can be abstracted to form an enhanced intelligent model.
The ROADMAP methodology aims to support the engineering of large-scale open systems. It extends the GAIA methodology by introducing use-cases for requirement gathering, explicit models of agent environment and knowledge, and an interaction model based on AUML interaction diagrams (Wooldridge Jennings, 2014). The original GAIA role model is also extended with a dynamic role hierarchy. This role hierarchy is carried into design and will have a run-time realization, allowing social aspects to be explicitly modeled, reasoned and modified at run-time.
ROADMAP promotes the view of software systems as computational organizations. Agents in a system are similar to individuals in a human organization, while the roles in ROADMAP encapsulate regulations, processes, responsibilities and team roles by which individuals function within a human organization. They specify, support and constraint an agent’s behaviors in the organization. When the expected behaviors in the organization are explicitly represented at run-time, agents can verify each other’s behavior, and misbehaving agents can be identified and removed or replaced. The ROADMAP methodology encourages an iterative approach and expects details of the models to be filled in when applicable. During the analysis phase, the six analysis models are created to allow conceptualization of the system as an organization. During the design phase, the initial conceptualization of the system is optimized for the chosen quality goals, such as performance. ROADMAP prescribes rich models to explicitly deal with roles of agents, the environment and knowledge in the system.
The methodology provides strong support for engineering complex open systems, but is less suitable for application not requiring these properties. The architecture of ROADMAP is shown in Figure 3.1
66
Figure 3.1 The ROADMAP Architecture: source from Wooldridge & Jennings, 2012
MaSE methodology aims to provide developers guidance from requirements to implementation. Multiagent Systems Engineering (MaSE) (DeLoach, 2012) is an agent-oriented software engineering methodology which is an extension of the object-agent-oriented approach. MaSE does not view agents as being necessarily autonomous, proactive, etc.; rather agents are simple software processes that interact with each other to meet an overall system goal. (DeLoach, 2012). MaSE's authors argue that, regarding agents in this way.
In addition, all the components in the system are equally treated regardless of whether they possess intelligence or not. Because of this inherent perspective, MaSE is constructed according to the application of existing object-oriented techniques to the analysis and design of multi agent systems. As a software engineering methodology, the main goal of MaSE is to provide a complete-lifecycle methodology to assist system developers to design and develop a multi-agent system. The architecture of MaSE is shown in Figure 3.2
67
Figure 3.2. MaSE's Architecture (Source from DeLoach, 2012)
68
The Prometheus methodology is a process for specifying, designing, and implementing intelligent agent systems, which has been developed over the last few years in collaboration with Agent Oriented Software (A company which markets the agent development software platform JACK (Padgham & Michael,2012), as well as agent solutions. The goal in developing Prometheus is to have a process with defined deliverables, which can be taught to industry practitioners and undergraduate students who do not have a background in agents, and which they can use to develop intelligent agent systems.
The Prometheus methodology is a detailed AOSE methodology, which aims to cover all of the major activities required in the developing agent systems (Padgham & Michael, 2012). The aim of Prometheus is to be usable by expert and non-expert users. The methodology uses an iterative process which consists of three phases: system specification, architectural design and detailed design.
Prometheus supports the engineering of conventional closed systems with controlled and trusted agents. It specifically supports the BDI framework, and focuses on functionalities see figure 3.3. Its concrete nature and detailed models and processes allow easy transition from the conventional OOSE approaches and make it very suitable for conventional applications such as an intelligent web server.
However, it lacks support for advanced properties such as openness and is not suitable for systems requiring these properties.
69
Figure 3.3: Prometheus Overview (extracted from Padgham & Michael, 2012)
3.3.1 Advantages of Existing System.
These are some of the advantages of the existing agent-oriented methodologies which are based on strong disciplined foundations:
1) The existing system supports both levels (micro and macro levels) to construct and develop agent systems.
2) ROADMAP and MaSE are considered as an extension of the software engineering approach provides a solid base for the development of multi-agents systems.
3) Prometheus use well-known techniques such as UML, which is particularly interesting. These techniques facilitate comprehension and communication between the various agents involved during software development (Sabas, Delisle and Badri 2012).
4) Prometheus constitute an extension of knowledge-based methods provide models that take into account the agents' internal states much better.
5) ROADMAP provides relatively elaborated support for reusable models, which is a valuable aspect for any methodology.
70
3.3.2 Disadvantages of Existing System.
The existing agent- oriented methodologies suffer from some difficulties which are the main reasons for a number of limitations emerge. Those difficulties prevent agent-oriented methodologies from being utilized and practiced in a wide manner.
1) There is no existing agreement or accord on agent theory. Up until this point in time, no oriented standards have been established and accepted as standard. No agent-oriented methodology will be able to spread unless the agent model is standardized.
This standardization is refers to what characteristics define an agent, what types of architecture are available for agents, what agent organizations are possible, and what types of interactions there are between agents, etc.
2) None of these methodologies are used and none are exploited in a wide manner.
3) All research that examined and compared properties of these methodologies has suggested that none of them are completely suitable for industrial development of MAS.
4) There is no systematic approach to identify the components of MAS. Most current methodologies require the designers and developers to identify all agents of the system.
Therefore, a designer experience is very important and is essential for producing a quality MAS. Designers should be trained beforehand to have the necessary skills for such projects.
5) Although, there are new languages for programming agent behavior, there are no adequate development tools for representing agent structure. Languages tend to focus mainly on particular agent architecture.
6) Selecting a suitable methodology to be followed for MAS development processes is not an easy task. Therefore, a precise methodology needs to be presented to guide the team of developers towards the achievement of objectives.
7) Comparing methodologies is often difficult. This difficulty arises from the fact that it is not easy to evaluate them because they usually differ in their premises, covered phases, models, concepts and the supported multi-agent system properties.
8) There is no agreement on what a methodology is and on what it should consist of.
71