Using Environment Properties to Select Agent Architectures

Using Environment Properties to Select Agent Architectures Carla Silva, Jaelson Castro and Patrícia Tedesco Centro de Informática − Universidade Feder...
Author: Junior Brown
4 downloads 1 Views 262KB Size
Using Environment Properties to Select Agent Architectures Carla Silva, Jaelson Castro and Patrícia Tedesco Centro de Informática − Universidade Federal de Pernambuco (UFPE) Av. Prof. Luiz Freire S/N, 50732-970, Recife PE, Brazil {ctlls, jbc, pcart}@cin.ufpe.br Abstract. The proper selection of an agent architecture must take into account the fact that agents inhabit different types of environments. How well an agent can behave depends on the nature of the environment, since some environments are more complex than others. The purpose of this paper is to discuss how the treatment of environments’ characteristics can be used to guide selection among agent architecture alternatives. As a result of this work we also provide a correlation catalogue between environments and agent architectures which can be used by the designer in order to select the proper agent architecture for a specific application. The outlined approach is illustrated by a preliminary study of an e-News system agents’ internal design.

1. Introduction Agent-oriented software engineering is concerned with the use of agents in the development of complex distributed systems, especially in dynamic environments [Weiss 2000]. The key problem faced by an agent is that of deciding which action it should perform in order to best satisfy its design objectives. Using the suitable agent architecture can facilitate the agent’s decision. Agent architectures are software architectures for decision-making systems that are embedded in an environment [Wooldridge 2002]. Although several agent-oriented methodologies have recently been proposed as a consequence of the increasing interest in software agents and multi-agent systems, many of them don’t take into account the environments’ characteristics to proper select the agent architectures. In this light, the purpose of this paper is to discuss how the environments’ characteristics can be used to systematically guide selection among agent architecture alternatives. In our approach, the environment’s characteristics are represented as goals to be evaluated with respect to the suitability of certain types of agent architectures. The proposed approach is illustrated by a preliminary selection of agents’ internal design for an e-News system [Silva, Castro, Tedesco and Silva 2005]. This work is being developed in the context of Tropos [Giorgini, Kolp, Mylopoulos and Castro 2005] - a requirements-driven framework aimed at the development of agentoriented systems. This paper is organised as follows: section 2 describes the most well-known agent architectures. Section 3 presents how environment’s characteristics can be treated as goals. Section 4 introduces a goal-oriented approach to select the proper agent architecture for a specific environment and presents a case study applying our approach. Section 5 discusses related work. Finally, section 6 summarises our work and points out urgent and still open issues.

67

2. Agent Architectural Design Alternatives The software designer is normally faced with the task of choosing amongst the main architecture alternatives discussed by Wooldridge [Wooldridge 2002] and Russell and Norving [Russell and Norvig 2002], as follows: − Reactive Agents – in which decision making is implemented in some form of direct mapping from situation to action [Weiss 2000]. These agents select action on the basis of the current percept, ignoring the rest of the percept history [Russell and Norvig 2002]. − Deliberative Agents – the agent maintain some sort of internal state that depends on the percept history and thereby reflects at least some of the unobserved aspects of the current state. The correct decision also depends on what state-of-affairs the agent intends to achieve and involves consideration of the future [Russell and Norvig 2002]. When an agent is deliberative, it can be further characterized as purely deliberative, learning or hybrid, since the latter two ones present additional characteristics besides the deliberative behaviour. − Learning Agents – learning allows the agent to operate in initially unknown environments and to become more competent than its initial knowledge alone might allow [Russell and Norvig 2002]. − Hybrid Agents – in which decision-making is realized via various software layers, each of which is more-or-less explicitly reasoning about the environment at different level of abstraction [Weiss 2000]. There will be at least two layers, to deal with reactive and proactive behaviours [Wooldridge 2002].

3. Environment Characteristics Agents can occupy many different types of environment [Weiss 2000]. The environment types determine the appropriate agent design and the applicability of each of the main techniques for agent implementation. Russell and Norvig [Russell and Norvig 2002] suggest the following classification of environment properties: − Accessible vs. inaccessible – An accessible environment is one in which the agent can obtain complete, accurate, up-to-date information about the environment’s state. Most moderately complex environments (including, for example, the everyday physical world and the Internet) are inaccessible [Weiss 2000]. − Deterministic vs. non-deterministic – A deterministic environment is one in which any action has a single guaranteed effect – there is no uncertainty about the state that will result from performing an action; otherwise, it is non-deterministic [Weiss 2000]. − Episodic vs. non-episodic – In an episodic environment, the agent’s experience is divided into atomic episodes (perception and action). The next episode does not depend on the actions taken in previous episodes [Russell and Norvig 2002]. In nonepisodic environments, the current decision could affect all future decisions [Weiss 2000].

68

− Static vs. dynamic – A static environment is one that can be assumed to remain unchanged except by the performance of actions by the agent. A dynamic environment is one that has other processes operating on it. Consequently, it changes in ways beyond the agent’s control [Weiss 2000]. − Discrete vs. continuous – An environment is discrete if there are a fixed, finite number of actions and percepts in it [Weiss 2000]. Taxi driving is a continuous-state and continuous-time problem: the speed and location of the taxi and of the other vehicles sweep though a range of continuous values and do so smoothly over time [Russell and Norvig 2002]. To support the agent architecture selection, we adapted the NFR-framework [Chung, Nixon, Yu and Mylopoulos 2000], which treats NFRs as goals. The analysis supported by this framework involves refining the softgoals, to sub-goals that are more specific and precise and then evaluating design alternatives (operationalised softgoals). Softgoals represent non-functional requirements (NFRs) to be satisfied, design techniques which satisfy NFRs, and arguments which help justify development decisions. Throughout the paper we use NFR-framework notations [Chung, Nixon, Yu and Mylopoulos 2000] to indicate how the operationalised softgoals (bold cloud) satisfy a softgoal (cloud). A softgoal is said to be “satisfied” when there is sufficient positive evidence and little negative evidence against it. To indicate the suitability of an agent architecture (operationalised softgoal) to a specific environment (softgoal), we adopt the NFR-framework notation which includes symbols like Help (+), Make (+ +), Hurt (−), Break (− −) and Unknown (+ −) (Figure 1). These symbols model partial/positive, sufficient/positive, partial/negative, sufficient/negative, and unknown suitability relations, respectively.

Figure 1. Softgoal Interdependency Graph

In our approach, environment characteristics are explicitly represented as goals to guide the selection of the proper agent architecture for a specific system. In Figure 1, we depict a SIG (Softgoal Interdependency Graph) where the environment types explained previously are treated as softgoals (represented as clouds) and refined through AND-decomposition. For the sake of space, the SIG was divided into two parts depicted in Figure 1 and Figure 2.

69

In the next section we describe our proposal to select the proper agent architecture regarding the environmental characteristics.

4. Selecting Agent Architectures We are going to perform an analysis to evaluate the degree of suitability of two agent architectures (reactive and deliberative) when situated in several types of environments. Analysing both the environments and agents’ characteristics, we have determined some relationships between them (Figure 1 and Figure 2). In accessible environments, agents can perceive all the information about the environment’s state. In this case, agents do not need to keep track of the environment’s state. Thus, reactive agents are suitable for accessible environments (this information is illustrated as a Make contribution link between Reactive and Observability [state environment] softgoals in Figure 1). On the other hand, although deliberative agents also work well in this environment, they have very complex reasoning mechanism for this kind of environment (illustrated as Help contribution link between Deliberative and Observability [state environment] softgoals in Figure 1). In static environments, the state only changes by an agent’s actions. In this case, deliberative agents work successfully in this environment. However, they do not need to perceive the environment anymore because they can maintain an up-to-date model of that environment by using future prediction, since they are the sole responsible for changing the environment’s state (illustrated as Help contribution link between Deliberative and Unchanged [environment state] softgoals in Figure 1). Reactive agents work well in this type of environment since they will react to environmental changes which result from their previous action performing (illustrated as Make contribution link between Reactive and Unchanged [environment state] softgoals in Figure 1). In episodic environments, the choice of action in each episode depends only on the episode itself. In this case, agents which perform decision-making based on future predictions will present a worse action selection (illustrated as Hurt contribution link between Deliberative and Independency [episodes] softgoals in Figure 1) than in nonepisodic environments. Reactive agents work successfully in these environments since these agents only map a percept to an action (illustrated as Make contribution link between Reactive and Independency [episodes] softgoals in Figure 1). In deterministic environments, the next state of the environment is fully established by both its current state and the action selected by agents. Thus, deliberative agents will successfully select action in such environments (illustrated as Make contribution link between Deliberative and Single [action effect] softgoals in Figure 1). This environment will not influence the behaviour of reactive agents since these agents only map a percept to an action (illustrated as Unknown contribution link between Reactive and Single [action effect] softgoals in Figure 1). In discrete environments, a distinct, clear number of stimuli can be perceived and actions can be performed. Reactive agents work successfully in this environment, since it presents a number of states which can be handled by the agent (illustrated as Make contribution link between Reactive and Finite [percept number] as well as Finite [action number] softgoals in Figure 1). Deliberative agents work well in such environments, since they can store the changes of environment’s states in order to select

70

the actions to perform (illustrated as Make contribution link between Deliberative and Finite [percept number] as well as Finite [action number] softgoals in Figure 1). In inaccessible environments, agents cannot perceive all the information about the environment’s state. In this case, agents need to keep track of the environment’s state. Thus, we can conclude that Deliberative agents are suitable for this environment (illustrated as Help contribution link between Deliberative and Partial Observability [state environment] softgoals in Figure 2). Reactive agents cannot wok successfully in this type of environment, since these agents cannot keep track of the environment’s state (illustrated as Break contribution link between Reactive and Partial Observability [state environment] softgoals in Figure 2). In dynamic synchronous environments, change happens between the last agent’s action and the next agent’s perception, but never during the agent’s reasoning. Reactive agents work successfully in these environments, since they will react immediately to environment changes (illustrated as Make contribution link between Reactive and Unchanged [environment state during reasoning] softgoals in Figure 2). Deliberative agents also work well in such environments, since the environment changes will update the environmental model maintained by the agent in order to properly select future actions (illustrated as Make contribution link between Deliberative and Unchanged [environment state during reasoning] softgoals in Figure 2). In dynamic asynchronous environments change happens between the last agent’s action and the next agent’s perception, as well as during the agent’s reasoning. Reactive agents work successfully in this environment since they cannot reason. Hence, they will react immediately to environment changes (illustrated as Make contribution link between Reactive and Changed [environment state during reasoning] softgoals in Figure 2). Deliberative agents will present an inappropriate action selection, since the environment can change while the agents are reasoning about which actions to perform in order to achieve a goal. Therefore, the selected actions may not satisfy the goal anymore (illustrated as Hurt contribution link between Deliberative and Changed [environment state during reasoning] softgoals in Figure 2). In non-episodic environments, the decision to perform an action in each episode could affect all future decisions. In this case, agents which perform decision-making based on future predictions will perform action selection better (illustrated as Make contribution link between Deliberative and Dependency [episodes] softgoals in Figure 2). These environments will not influence the behaviour of reactive agents since these only map a percept to an action and do not foresee the achievement of any future state of environment (illustrated as Unknown contribution link between Reactive and Dependency [episodes] softgoals in Figure 2). In non-deterministic environments, agents can never predict the state that will result from the performance of an action. In this case, agents which perform decisionmaking based on future predictions will present a worse action selection (illustrated as Hurt contribution link between Deliberative and Unforeseen [action effect] softgoals in Figure 2) than in deterministic environments. Non-deterministic environments will not influence the behaviour of reactive agents since these agents only map a percept to an action and do not expect to achieve any future state of environment (illustrated as Unknown contribution link between Reactive and Unforeseen [action effect] softgoals in Figure 2).

71

Continuous environments do not present a distinct, clear number of stimuli and actions. Reactive agents cannot work well in such environments. This kind of environment presents a large number of states and these agents would need rules for handling each environment’s state. This would make the agents very complex (illustrated as Break contribution link between Reactive and Infinite [percept number] as well as Infinite [action number] softgoals in Figure 2). Deliberative agents work well in this environment, since they can up-date the environmental model with all state’s changes in order to properly select the actions to perform (illustrated as Make contribution link between Deliberative and Infinite [percept number] as well as Infinite [action number] softgoals in Figure 2). The symbols W+, W-,√ , Χ are used to denote whether a softgoal is Weakly Satisfied, Weakly Denied, Satisfied or Denied, respectively. The √ label is used to indicate that a design decision has been chosen. The NFR-framework provides a propagation mechanism in which we can evaluate the effect of each design decision from offspring to parents. For example, in Figure 2 if we choose the Deliberative architecture as the alternative to design the agent, we can evaluate this decision against the many types of environments. Thus, according to SIG depicted in Figure 2, this choice weakly satisfies Inaccessible and Non-Deterministic environments, weakly denies Dynamic Asynchronous environments, as well as, satisfies Dynamic Synchronous, Non-Episodic and Continuous environments. This evaluation must be performed choosing each of the available design alternatives in order to record the impact of each taken decision. For the sake of space, we have shown only the impact of the choice of one design alternative (i.e. the Deliberative architecture) for some environment types (Figure 2).

Figure 2. Softgoal Interdependency Graph

Table 1 shows a correlation catalogue between the environment and the agent architecture types. It illustrates an alternative representation to what is shown in the SIG which might aid visual understanding when the number of correlation link between the softgoals is high [Chung, Nixon, Yu and Mylopoulos 2000]. This process promotes communication, analysis and comparison of agent internal designs. It also consists in a history record (with design rationale for both accepted and discarded alternatives considered), for later review, justification and evolution [Chung, Nixon and Yu 1995].

72

The correlation catalogue (Table 1) can be used to evaluate the most suitable agent architecture for the system under development. First we have to characterise the system environment, and only then we match the proper agent architecture. Table 1. Environments versus Agent Architectures

Environment Accessible Inaccessible Deterministic Nondeterministic Episodic Non-Episodic

Reactive ++ -++-

Deliberative + + ++ +

++ +-

++

Environment Static Dynamic asynchronous Dynamic synchronous Discrete Continuous

Reactive Deliberative ++ + ++ -

++

++

++ --

++ ++

For example, we are developing a multi-agent system for an Electronic Newspaper, called e-News [Silva, Castro, Tedesco and Silva 2005], which allows users to obtain news from a newspaper web site. News related to a specific subject are extracted from different and distributed news’ agencies in the Internet, translated and merged in order to provide quality news. The correlation catalogue (Table 1) can be used to select the most suitable agent architecture for the system under development. First we have to characterise the system environment, and only then we match the proper agent architecture. The e-News system is situated in the Internet which is an environment characterised as inaccessible, nondeterministic, non-episodic, dynamic and continuous. According to Table 1, the analysis has shown that for these environments the most appropriate architecture is the Deliberative one. When we select the Deliberative architecture to design the agents composing a specific system, we have to further decide if these agents are purely deliberative, hybrid or learning. This decision cannot be made taking into account the environments characteristics, but depends on the application domain and designer experience. The agents for the e-News system use a purely deliberative architecture because they do not need to perform any reactive or learning behaviour.

5. Related Works This section reviews some work related to two subjects: (i) the agent-oriented methodologies which consider the many types of environment where the agents can be situated as well as the many types of agent architectures, and (ii) the use of NFRframework to systematically select among design alternatives using softgoals as criteria. The MAS-CommonKADS [Iglesias, Garijo, Gonzalez and Velasco 1997] methodology selects among different agent architectures by analysing (i) the protocols and/or implementation platforms required by the organization, (ii) the experience of the developers, (iii) if an agent is blocked or not when making a task, (iv) if the execution time for the tasks performed by the agent is guaranteed, and (v) the necessity of agents to work with resources of other machines. The approach proposed by [Chung, Nixon and Yu 1995] suggests using an explicitly representation of Non-Functional Requirements as (potentially) conflicting or

73

synergistic goals to be addressed during the process of architectural design, and use of such goals to rationalise the overall architectural design and selection process. Our approach differs from [Iglesias, Garijo, Gonzalez and Velasco 1997] and [Chung, Nixon and Yu 1995] in that we have adopted the environments’ characteristics as guiding criteria to select among agent architecture alternatives. We focus on the problem of systematically capturing and reusing knowledge about the suitability of agent types situated in certain environments.

6. Conclusions and Future Work This paper has proposed an approach to systematically guide the selection of the proper agent architecture to design the agents situated in a specific environment. Our approach aims to promote an efficient utilization of agent architectures in order to achieve a successful agent performance. The proposed correlation catalogue between environments and agent architectures can be used by any agent oriented methodology. Further research includes to improve our approach by analysing the relationships between environemnt features and particular features of the agent types explicitly (instead of agent architectures as a whole).

Acknowledgements This work was partially supported by CNPq grants.

7. References Chung, L., Nixon, B. and Yu, E. (1995) "Using Non-Functional Requirements to Systematically Select Among Alternatives in Architectural Design", Proc. of the 1st Int. Workshop on Architectures for Soft. Systems, Seattle, Washington, pp. 31-43. Chung, L., Nixon, B., Yu, E. and Mylopoulos, J. (2000) Non-Functional Requirements in Software Engineering, Kluwer Academic Publishing. Giorgini, P., Kolp, M., Mylopoulos, J. and Castro, J. (2005) Tropos: “A RequirementsDriven Methodology for Agent-Oriented Software”, Book Chapter in Agent-Oriented Methodologies. ed.: Idea Group, pp. 20-45. Iglesias, C. A., Garijo, M., Gonzalez, J. C. and Velasco, J. R. (1997) “Analysis and design of multiagent systems using MAS-CommonKADS”, In AAAI’97 Workshop on Agent Theories, Architectures and Languages, Providence, RI. Russell, S. J. and Norvig, P. (2002) Artificial Intelligence: A Modern Approach. 2nd Edition. p. 32-56. Silva, C., Castro, J., Tedesco, P. and Silva, I. (2005) “Describing Agent-Oriented Design Patterns in Tropos”, In Proceedings of the 19th Brazillian Symposium on Software Engineering, Minas Gerais, Brazil. (To appear) Weiss, G. (2000) Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. pp. 27-78. Wooldridge, M. (2002) An Introduction to Multiagent Systems. England. pp. 15-103.

74

Suggest Documents