N. K. Kamila1, R. K. Swain2
1Department of Computer Science and Engineering C V Raman College of Engineering Bhubaneswar, India
2Department of Computer Science and Engineering Bhubaneswar Institute of Technology Bhubaneswar, India
Correspondence to: N. K. Kamila, Department of Computer Science and Engineering C V Raman College of Engineering Bhubaneswar, India.
Email: |  |
Copyright © 2012 Scientific & Academic Publishing. All Rights Reserved.
Abstract
This paper proposes the concept of complex agent which replaces several multi-agents. It focuses role based architecture for complex agent by describing the process of developing agent systems and agent dynamics in role based systems with the principles of cognitive architecture. The architecture shows that complex agent works well with less time in environment. During the course of time complex agent has either more tasks or less tasks depending upon role delegation or revocation. But from the graph it is seen that complex agent performs more tasks with respect to other agents based on roles.
Keywords:
Role Based Architecture, Complex Agent, Multi-agent, Cognitive Architecture, Tasks
Cite this paper: N. K. Kamila, R. K. Swain, Role Based Architecture for Complex Agent, American Journal of Intelligent Systems, Vol. 3 No. 1, 2013, pp. 20-27. doi: 10.5923/j.ajis.20130301.03.
1. Introduction
In this paper we have discussed role based architecture for complex agent systems. From the study of intelligent agents it is obvious that the agent architectures support the agent that are incapable of doing more than one cognitive task at a time like human being, in which different thought arises at a particular time, and also itself capable of thinking all of which that depends on its mind and putting the action/s to environment. So designing a model of role based architecture for complex agent is the current problem to the research in artificial intelligence.In computational agents that focus on decision making, manifests itself in choosing between multiple reasoning strategies and determining the amount of resources (computation, memory, bandwidth, etc.) to use in pursuing each strategy. These choices can be interpreted as an agent choosing one or more modes of operation. This mode is often based on environmental conditions. Internal environmental conditions could capture properties such as the hardware capabilities of the agent. This is particularly important for mobile agents who may wish to modify their processes based on the computation, memory and communication available to them. External environmental conditions could include characteristics of the problem instantiation being faced such as the volatility/stability of the domain or the role required to be performed by the agent.A single agent can monitor its environment and choose a decision process to perform certain tasks as per the requirement. One path to developing such a strategy is by learning optimal choices over multiple environments. This procedure is insufficient in a multi-agent team because system performance does not depend solely on environmental factors. Agents’ decisions are made based on the information available. In multi-agent systems, the information available and how often it is updated depends on the decision processes chosen by other agents. However in multi-agent systems, the performance is determined jointly by both agents.A good political system creates a good, steady, harmonious and flourishing society. A good architecture creates a strong and beautiful building. Therefore a good distributed intelligent system requires good system architecture. Role based architecture is one candidate of such architectures.From organizational and social psychological theory, an organization is composed of three key elements: participants, goals and roles[1]. Where participants represent the people working in the organization; goals represent the future achievements all the participants jointly pursue and roles represent the ways for participants to interact and achieve the goals. If we map a distributed intelligent system to an organization, we can quickly get what we need in it: agents, goals and roles.A goal is a mental representation of a process which expresses an agent’s internal anticipation and regulation[2]. Therefore it is meaningful to use roles to express a participant’s goal in an organization[3]. Further we can say that roles, role relationships for role players (agents) and role playing are all the aspects for distributed intelligent system[4].In this paper the concept and definition of complex agent and role based architecture for complex agent with the principles of cognitive architectures have been presented. The presented model explains the mechanism of how a complex agent performs several tasks of different roles. The developed algorithms have been described to explain the architecture for complex agent under different roles. The rest of the paper is now organized as follows: in section 2 literature review has been illustrated to know about the research on this area, however, section 3 gives a short overview of complex agent and its functionality. In section 4 the examples of complex agent have been explained. Thereafter we present the role of complex agent in section 5 and followed by role based task execution through examples with different roles and the corresponding algorithm. In section 6 empirical study of complex agent has been discussed, followed by the role played by single and multi agents whereas section 7 summarizes the results of this paper with future work.
2. Literature Review
In this section we survey the main ideas on agent’s performance under different roles holds by agent. In 2012, Corchado et al.[5] have presented a novel architecture which facilitates the integration of multi-agent systems, distributed services and applications to optimize the construction of ambient intelligence environments. Their architecture proposes a new and easier method to develop distributed intelligent ubiquitous systems, where applications and services can communicate in a distributed way with intelligent agents, even from mobile devices, independent of location restrictions. However, Kim et. al.[6] proposed a multi-agent system for autonomous microgrid operation. In order to build multi-agent system they have designed the functionalities of agents, interactions among agents and an effective agent protocol using an ADIPS/DASH framework. Similarly, Kianifar[7] has used the intelligent agent in wireless sensor network for optimizing power consumption. But in 2008, Karsten et. al.[8] have analyzed and managed role-based access control policies using object constraint language and first order linear temporal logic because the role is assigned to user to perform different activities in all organizations. They have attempted to formally verify role-based access control policies with the help of a theorem prover and to validate policies with the UML based specification environment system, a validation tool for OCL constraints. Woo et. al.[9] have proposed a new access control approach for multi-agent system based on the role based access control model in which amount of context information collected from various sensors have been managed and accessed by authorized person. To effectively reflect the continuously changing environment and user's role, they have also proposed dynamic RBAC scheme that employs the notion of trust evaluated with the measure of satisfaction and reputation. It also updates the user's role and permission according to the context information. The effectiveness of the proposed approach has been verified by simulation study. Noor et. al.[10] have discussed the architecture for intelligent multi-agents paradigm in decision support system. But much attention has not given on complex agent and its architecture to perform different roles based on the requirement and on its implementation.
3. Complex Agent
A single agent can monitor its environment and choose a decision process dynamically. In other words a single agent gets information from the environment which is transformed into some internal information. This internal information serves as the base input into a decision process by which an action is chosen. The agent has a choice to determine the transformation of environmental information, the internal information and decision process from a larger set of possibilities out of which necessary action is chosen. Thus the resulting element is the mode of operation that an agent chooses which has been shown in figure 1. | Figure 1. Single Agent System |
Figure 2 reveals the multi-agent system. In multi-agent system, the agent performs one or multiple tasks. In other words the internal information from an agent is also a function of the information that it receives from other agents. This represents the problem in a new way i.e. the multi-agent take decision collaboratively for which it optimizes the team behavior. Thus individual decision is avoided for the global interest irrespective of environmental inputs. Hence better action is chosen in a coordinated manner in an environmentHowever, a complex agent is simply defined as “an intelligent agent capable of doing more than one (several) task/s simultaneously in an environment”. A multi-agent is a special case of complex agent. It perceives information from the environment with sensors, store in memory, find out the number of cognitive tasks/even same task of having different informations and the possible combination of tasks for execution for certain interval of time, pick out/select the particular combination for execution in an interval of time, and finally outputs the required action/s with actuators (a1, a2, ----, an) to the environment. It simultaneously correlates with the mechanism of taking decision. | Figure 2. Multi-Agent System |
 | Figure 3. Complex Agent System |
In other words, in a complex agent system, the internal information from an agent is also a function of different information that it receives from the environment. Here the agent is same through out the execution period. But different activities/multiple tasks/same activity using different information are performed/executed that optimizes the team behavior based on the joint environment. Really the challenge would be to achieve this joint strategy in a distributed manner. The entire description of the complex agent is depicted in figure 3.
4. Examples of Complex Agent
Human being itself is a real/natural example of complex agent. Human perceives different inputs from environment through sensory organs at a time such as eyes, ears and other parts of the body and simultaneously thinking all of them or that depends on status of the mind, then execute and performs required action/s to environment through actuators such as hands, mouth, legs and other body parts. These different thinking skills, execution, perception and actions of mind are controlled by metacognition mechanism.Consider a situation where an agent is trying to coordinate its’ activities over an extended period of time. The agent can be in one of the modes of operation such as fast planning mode or long planning mode. In the fast planning mode the agent has determined that either the environment is too volatile for extended analysis or it does not have the capability to do complex deliberation. Thus it sends small messages very often about its status and immediate plans. In long planning mode, an agent has determined that the environment and its capabilities can support deeper reasoning or it may only have periodic access to communication facilities. Under this condition the agent considers all the possible state evolutions and contingent actions over a longer time horizon. It sends larger messages with details of this information but not as often.If the agent chooses its metacognition strategy based solely on environmental conditions, it may end up in different modes. Then most of the fast-planning agent will be ignored or provide insufficient information for the long-planning agent. The messages of the long-planning agent will be too cumbersome and infrequent for the fast-planning agent in multi-agent system.As complex agent is being considered for multiple activities simultaneously, the agent itself gets information from the environment through different (n number of) ways. Thus the internal information of the complex agent gets updated.
5. Role of Complex Agent
Our versatile world can be outlined with three major aspects such as “A society is formulated with roles”, “Roles are organized in structures” and “People play roles” [11],[12].This section describes ideas of different roles of complex agent and its’ corresponding role based architecture. Since a complex agent performs more than one task simultaneously, it can play different roles in an environment to perform these tasks.Consider the complex agent that can play five roles such as R1, R2, R3, R4 and R5 based upon which it performs more than one task at a time. Roles played by the complex agent mainly fall into two categories:○ Primary role (RPR)○ Secondary role (RSR)RA= Active Roles to the Agent = {R1, R2, R3, R4, R5}RPR= {R1}, RSR= {R2, R3, R4, R5} | Figure 4. Type of roles played by complex agent |
Figure 4 reveals the types of role played by the complex agent. The agent always has a single primary role that it should play under each instance.
5.1. Explanation of Role Based Task Execution through Example
Roles can be used to map the people’s natural organizations, task distributions, system analysis, system design and system construction. Further every agent is responsible for accomplishing a certain task. An agent can be considered as a self-contained object of some class which does not belong to the problem domain although it does involve itself with that domain or environment. To develop a role based system, the main tasks are specifying roles and the relationships among roles, specifying role players and assign roles to role players.To understand role-based task execution, consider a person (complex agent) plays a CEO role of any IT organization again after playing a project manager role, should we create a new role instance or replay the original role instance? This is up to the actual requirement. If it is really a different one, we need to create a new role instance. If he/she really plays the same CEO role instance as before, he/she should replay the original role instance. But it is the same complex agent which performs the tasks of different role instance. Consider the possible roles the agent that can play as follows:Primary Role (RPR) → CEO (R1)Secondary Roles (RSR) → Project Manager (R2), Project Leader (R3), Software Developer (R4), Guest Faculty (R5)Complex agent having primary role CEO (R1) of any IT organization also performs the tasks of project manager by playing the role of a Project Manager (R2) i.e. secondary role, also at the same instance he can play the role of a Software developer (R4) being a secondary role if persons concerned is absent. Also it can perform the tasks of Project Leader (R3) and Guest Faculty (R5) simultaneously. This is the property of a complex agent.That is, performing task in playing the primary role as a CEO the agent itself is able to play the tasks of two different roles that are task of project manager and task of a software developer. Thus complex agent performs simultaneous tasks of primary role and secondary roles with the position of primary role. This is described in the table - 1. Hence complex agent is said to be role based i.e. Role based complex agent.
5.2. Past Role, Active Role, Present Role and Future Role
To express an agent’s dynamic and evolving aspects, we cannot avoid time. To completely express a live agent, we need to express the agent’s past, present, active and future roles.The dynamics of agents are based on their adaptabilities. Agents are required to adapt five aspects of an intelligent system: perception strategy, control mode, reasoning tasks, reasoning methods, and meta-control Strategy. To describe the dynamics of agents in an intelligent system and help agents’ adaptability in a system, roles are a wonderful tool. Previous Roles, Active Roles, Present Roles and Next Roles are enough and qualified to express the dynamics of agents. Past rolesThe previous role of an agent is called past roles. To track an agent’s status, a record of history is required. A history record helps answering such a question: What roles did an agent play in the past? To accomplish this task, we need to introduce the concept of previous roles. It means the roles played by an agent in the past and this role has already been discarded before. Suppose a person plays a developer role again after playing a CEO role, should we create a new role instance or replay the original role instance? This is up to the actual requirement. If it is really a different one, say, a senior developer, we need to create a new role instance. If he/she really plays the same developer role instance as before, he/she should replay the original role instance.Active Roles and Present RolesAn active role means the player responds to the messages relevant to these roles. An active role should be transferred to the present role to respond to the messages. However, present role means the agent is currently playing this role, i.e., it directly responds to the messages relevant to this role. These concepts are used to express the present state of an agent. They are used to answer such questions: What are its active roles? What is its present role?Active roles are the roles a player is holding and they are ready to respond to messages. The present role is the role that is directly responding to messages. That is to say, a role player can hold many active roles at the same time and it only holds one present role at a time but can perform the tasks of other roles. Active roles can also be used to express the meaningfulness of role transition, i.e., changing the present role from one active role to another. Future RoleBut future role means that an agent hopes to play in the future is referred as its future role. To be qualified to play the future role, the agent must collect credits by serving other agents in the system. Therefore roles can be taken as goals for agents in a role-based agent system. Gradually the agent approaches their goals.From table 1, it is observed that ordering of future roles after doing the present roles depends on the agent. For example in the 1st row it may be R2→R5 or R5→R2. The columns of Present Roles and Present tasks from the 2nd row to 8th row of the table show the behavior of the role based complex agent. Figure 5 shows the role based architecture of complex agent.
5.3. Programming Logic
1. while RA ← Active roles to the agent.2. RPR ← primary roles, RSR ← secondary role.3. select RP out of RA for an instance.where RP=Present role.4. find_out (TP). TP =role based task to be executed.Case-1: 4.1. if RSR ≠ NULL. 4.1.1 RP=RPR. 4.1.2 TP=TPRCase-2: 4.2. if RSR=NULL. 4.2.1. RPR ←TSR+ (TPR). 4.2.2. TP= (TPR+TSR).Case-3: 4.3. if RP=RSR. 4.3.1. RSR ←TSR+ (TPR+TSR (if RSR=NULL)). 4.3.2. TP= (TPR+TSR).5. execute_task (TP).6. do Next Role (RN).Table 1. Description of Different Roles  |
| |
|
 | Figure 5. Role Based Architecture for Complex Agent |
6. Empirical Study of Complex Agent
To examine the empirical efficacy of the complex agent comparing with single and multi-agent, we evaluated its performance, In other words from empirical and extensive studies, it is observed that complex agent performs either one or more tasks alone based on the roles simultaneously where multi agent performs either one or more than one tasks of roles together at a time in coordination with each other. But in single agent system the agent performs single task of a role at a time which is depicted in figure 6. That means complex agent plays the primary role alone or along with secondary roles as per the designed architecture where as multi agent (several agents together) plays primary or secondary roles coordinately. This says that complex agent can replace several multi agents. However single agent can play one role at a time. How the roles are being played and executed has been explained in the algorithm. For example: in an financial institution the manager can play its own role along with the roles of other employee as per actual requirement like a complex agent without creating new role instance. In figure 6 horizontal axis stands for agents and vertical axis for roles. | Figure 6. Agent with Roles |
It has already been discussed in section 4, roles are played by agents. As time goes on roles may be added or discarded as per actual requirement. Figure 7 shows the role and the time segment for a single agent to play roles. From the figure it is seen that single agent play one role throughout. | Figure 7. Role Play Graph of Single Agent |
However figure 8 depicts the role play graph of multi agent. Here several single agents are playing the role in coordinated manner. It is observed from the figure that multi agent performs the task of single role or more role but collaborative way. The decision for action is being taken by all agents constitute multi agent. But role is always with agent. | Figure 8. Role Play Graph of Multi Agent (Several Agents) |
But figure 9 reveals the role play graph of complex agent. From the figure it is observed that complex agent has multi role always. When all secondary roles are discarded, it comes back to its primary role. Again in course of time it posses several roles to play as per actual requirement. Hence it is concluded that complex agent replaces several multi agent as per the designed architecture. | Figure 9. Role Play Graph of Complex Agent |
7. Conclusions and Future Work
This paper introduced the concept of complex agent and discussed role play with examples. Roles are fundamentals for agent system or distributed intelligent systems. By role based system architecture we know that a distributed system can be designed by role and role relationship specification. In a distributed computer environment we can consider a computer as an agent in the networked systems. Every computer added to the network is to play a role or a group of roles in order to make the distributed system perform better. Role based architecture is a guideline for distributed intelligent system builders and designers to plan and architect a distributed intelligent system.However in a distributed intelligent system, multi agent being constituted by many single agents, performs the role playing in a coordinated manner, but performing the task of single role or multiple role based upon the actual requirements where as the complex agent performs the tasks of several role at a time. Thus it can replace many multi agents. We have also discussed the role of complex agent while playing many roles with the help of corresponding architecture and algorithm. In the course of time roles of complex agent may be discarded if roles are taken care of by other agents. Our future work will be the study of metacognition on complex agent in order to see how decision is being refined, affects the action through actuators to environment.
References
[1] | Cyert, R. M. and MacCrimmon, K. R. Organizations, Lindzey, G. and Arson, E. ads., The Handbook of Social Psychology, Vol.1, Addison-Wesley, 568-611, 1968. |
[2] | Castelfranchi, C., “Modeling Social Action for AI Agents”, Artificial Intelligence, Vol. 103, 157-182, 1998. |
[3] | Zhu, H., “Encourage Contributions by Roles”, IEEE International Conference on Systems, Man and Cybernetics, Hawaii, USA, 1574-1579, Oct. 2005. |
[4] | Haibin Zhu, “A Role-based Architecture for Intelligent Agent Systems”, Proceedings of IEEE Conference on Distributed Intelligent Systems: Collective Intelligence and Applications, pp.354-362, June 2006. |
[5] | Juan M. Corchado, Dante I. Tapia and Javier Bajo, “A multi-agent architecture for distributed services and applications”, International Journal of Innovative Computing, Information and Control, Vol. 8, No. 4, April 2012. |
[6] | Hak-Man Kim, Yujin Lim and Tetsuo Kinoshita, “An Intelligent Multiagent System for Autonomous Microgrid Operation”, Energies, Vol. 5, pp.3347-3362, 2012. |
[7] | Mohammadali Kianifar, “Using Intelligent Agents in Wireless Sensor Networks As Sinks for Optimizing Power Consumption”, Australian Journal of Basic and Applied Sciences, Vol. 6, No. 8, pp. 36-42, 2012. |
[8] | Karsten Sohr, Michael Drouineaud, Gail-Joon Ahn and Martin Gogolla, “Analyzing and Managing Role-Based Access Control Policies”, IEEE Transaction on Knowledge and Data Engineering, Vol. 20, No. 7, pp.924-939, July 2008. |
[9] | Jae Wook Woo, Myung Jin Hwang, Chun Gyeong Lee and Hee Yong Youn, “Dynamic Role-Based Access Control with Trust-Satisfaction and Reputation for Multi-Agent System”, Proceedings of 24th IEEE Conference on Advanced Information Networking and Applications, pp.1121-1126, April 2010. |
[10] | Noor Maizura Mohamad Noor and Rosmayati Mohemad, “New Architecture for Intelligent Multi-Agents Paradigm in Decision Support System”, A book Chapter of Book entitled “Decision Support System”, ISBN: 978-953-7619-64-0, January 2010. |
[11] | Haibin Zhu and M. C. Zhou, “A Role-based collaboration and its kernel Mechanisms”, IEEE Transactions on Systems, Man and Cybernetics, Part C, 2006. |
[12] | Haibin Zhu, “Role Mechanisms in Collaborative Systems”, International Journal of Production Research, vol. 41, no. 1, pp. 181-193, Jan 2006. |