Hybrid architecture consists of reactive and deliberative architectures, which act ac- cording to their needs. The reactive architecture is useful in situations when the agents ability to react on time is required. For the situations that require agent’s ability to act reasonably, deliberative/symbolic architecture can be useful. Touring Machine is one type of hybrid architecture provided by Ferguson [23]. The main point of Touring Ma- chine is to coordinate and control the actions of autonomous agents situated in dynamic worlds.
2.4
Agent Design Methodologies
The key point of designing MAS is to define the agents cooperation. Usually method- ology covers the whole life-cycle of system development, such as analysis, design, im- plementation and validation. In analysis step, agents are associated with the entities of the analysed scenarios. The capabilities and responsibilities of each agent are identified. Finally, the interactions between agents are applied [24].
Different types of methodologies have been introduced by researchers for various applications. Some of the proposed methodologies are: High-Level and Intermediate Models for Agent-oriented Methodology, MASE and Gaia methodology, etc. Based on their abilities, each methodology has some advantages and disadvantages. There is a framework to compare these methodologies and their suitability for specific applications [25].
2.4.1 High-Level and Intermediate Models (HLIM) methodology
A general-purpose multi-agent methodology model is called HLIM [26]. This method represents the development of agent systems through a series of abstraction levels where human, with machine assistance, can manipulate abstractions at one level into abstrac- tions at the next lower level. Overall, the methodology has two phases, namely, discovery phase and definition phase. The discovery phase guides the discovery of agents and their high-level behaviour, while the definition phase produces implementable definitions. The HLIM contains five models, as itemized below:
2.4 Agent Design Methodologies 21
• An internal agent model for the internal structure of agents;
• A relationship model;
• A conversational model;
• A contract model.
A high-level model provides the high-level view of the system and initial point for development. The application scenarios are tracked to describe functional behaviour, discovering agents and behaviour patterns along the way. Goals, plans and beliefs aspects of agents are described by internal model, which are derived directly from the high-level model. The relationship model describes agent relationships, such as dependency and jurisdiction. The coordination among the agents is described by conversational model. The structure of agents commitments are defined by the contract model. Contracts are created during the agents instantiation or execution as required. This methodology has a lack a detailed description of the implementation and testing phases [25].
2.4.2 MaSE methodology
MaSE methodology focused mainly on robotics; it captures goals and continues through the conceptual phase to design the system [27]. Number of graphically-based models are used to describe the agent types and their interface with the other agents, as well as an architecture-independent definition of the internal agent design. The MaSE methodology consists of analysis and design parts. The analysis part provides an overview of required system, while the design part models it into useful construction for implementing the MAS.
The analysis part is captured in three steps: capturing goals, applying use cases, and refining roles. In first step the users requirements are taken, goals are captured and turned to the system level goals. From this level, the use cases and sequence charts are extracted to initialize the set of roles and their communications paths. Finally, the third step is to refine and extend the initial set of roles and define tasks to accomplish each goal in the refining roles step. Creating agent classes, constructing conversations, assembling agent classes and system design are four steps of the design stage, that are
2.4 Agent Design Methodologies 22
In MaSE methodology, communication between agents is applied through Finite S- tate Machines which leads to an algebraic description of conversations. For this reason the method is considered to be successful and acceptable in describing interactions be- tween agents [25]. On the other hand, it does not support adaptability and mental attitudes, such as Beliefs Desires Intentions (BDI).
2.4.3 Gaia methodology
The Gaia methodology [28] is anticipated to facilitate an analyst to gradually shift from an initial ambiguous state to a more concise and methodical design which can be implemented directly. According to the Gaia methodology, the process of building MAS is similar to a process of organisational design. Hence, the relationship and interaction between hierarchical roles in one organisation would be defined as the analysis category of this Gaia methodology, which, in turn, consists of two other sub-categories, namely the role model and interaction model. For instance, the role model in this case consists of a role calledData Collector, and its responsibility is to collect data from any messages received from devices or equipment in a plant and store them in appropriate databases and tables.
According to Gaia, each role has different permissions and responsibilities related to their tasks. Each role should be responsible of its tasks to be completed in a correct way. Permission defines information resources that are allocated to each role. These resources can be the knowledge or information related to the agent. Therefore, some resources can be carried out by a role, identified as liveness. On the other hand, sometimes an agent does not change the existing condition. It is required to preserve it for some purpose, and this is defined as safety.
In the case when roles should complete their tasks according to their responsibilities, the roles may use some other activities in their own way to improve the task. This is identified as activities. The way the role interacts with other roles is called role’s protocols. The role model template is provided in Figure 2.6. The second part of analysis is to find a link between roles defined as the interaction model. This model consists of a set of protocols’ definitions, including such attributes, as its purpose, the initiator, responder, input, output information and processing.