• Aucun résultat trouvé

The Deliberative Layer

Dans le document Software agents in network management (Page 148-152)

7.2 The BDI Agent Model

7.2.1 The Deliberative Layer

The mental categories used in the proposed BDI agent model aremotivations,goals, in-tentions,beliefsandcapabilities (Figure 7.1). In the following, we recall the semantics of these mental categories and we refine them according to our particular NM-oriented BDI agent model. Afterwards, we describe the different processes included in the mental cycle.

Beliefs

Capabilities Intentions

Goals

Planning Goal Generation

Motivations

Action Excecution

Figure 7.1: Agent’s Mental Cycle

7.2.1.1 Mental Categories

Beliefs: They reflect the agent’s perception of the external world. We use a simple relational notation to express them. Each belief is a relation tuple having a deter-mined number of parameters or fields. For example, the belief “host ‘esteron’ is down” can be written as follows:

(Host :name esteron :status down).

One or more of the belief fields can be designated as a key that allows to identify the belief unambiguously. Beliefs can be asserted and retracted from the belief database.

Belief querying can be done using logical variables. For example, assuming the above belief is asserted in the agent belief database, then the statement:

(Host :name esteron :status ?s)

holds with the value of variablesbound to ‘down’. To avoid ambiguity when using variables, we use?varto bind the variable to some field value, and$varto use the value to which variablevarhas been bound.

Finally, logical expressions can be combined together using the usual logical oper-ators. For example:

(Printer :name ?p) and (OutOfOrder :host $p)

holds when variablepis bound to the name of a printer that is out of order.

Capabilities: They describe the actions that the agent can perform, mainly to in-teract with the external world. In some way, the execution of an agent action could be seen as an instantiation of a certain capability. The actions that the agent can perform can be either primitive actions, or composite actions organized inplans.

There are four types of primitive actions.

1. Sensors. They are actions that the agent performs to perceive the external world. Part of the agent’s beliefs are provided and maintained through the acti-vation of its sensors. Therefore, a sensor provides a mapping from the changes and events that occur in the network to structured beliefs.

2. Effectors. They are actions that affect the status and behavior of the managed network, for example by changing the configuration parameters of an NE.

3. Reactors.They allow the agent to perform defined actions when specified sit-uations occur on the network. The agent can use reactors to have prompt

re-actions to events that may occur. Precisely, a reactor links a plan of re-actions to a situation expressed on the agent beliefs.

4. Calculators. These are a particular kind of actions that allow to compute or deduce new beliefs from others. For example, suppose that the printing sys-tem status is Ok only if the statuses of all the printers in the network are Ok. A calculator can be used to maintain the printing system status belief by contin-uously checking the statuses of all the printers in the system.

Motivations: Motivations are the essence of agent actions. A motivation lets the agent have preferences towards certain states of its managed network. It can be viewed as an expression that the agent continuously tries to satisfy. When a mo-tivation is violated, the agent tries to figure out the reason of the violation, then generates goals that are believed to help satisfying the motivation when achieved (Figure 7.1).

At this stage, abstraction is made on which goal generation mechanism is better suited for the agent. This deliberation process should be chosen at a later stage in the agent development according to the application needs. For example, goal gen-eration can be done by comparing the motivation expression to the current beliefs.

By analyzing the resulting differences, the agent can determine what goal is to be generated.

Goals:A goal denotes a state that the agent wants to achieve through the execution of a certain plan of actions [TL94].

Similarly to the goal generation process, abstraction is made on which planning method should be used. At a later stage in the agent development process, it will be decided whether an embedded planning system or a simple search in the agent’s plans is better suited for the application requirements.

We identify two kinds of goals:achievement goalsandmaintenance goals. The ac-tion plan generated for an achievement goal should only achieve the goal at some moment in time, whereas the plan generated for a maintenance goal should ensure that the goal expression is hold continuously.

Finally, negative expressions can be used in goal expressions. This can be used for example to cause a preceding achieved goal to be cancelled (or unachieved). Of course, the planning process that is to be chosen has to take into account whether closed world assumption is assumed or not.

Intentions: An intention is an action or a plan of actions that the agent decides to execute in order to achieve a certain goal. Therefore, the intentions corresponding

to a goal are a description of how to invoke a set of agent capabilities. This descrip-tion is used by the operadescrip-tional layer to perform and control the execudescrip-tion of the generated plan (Figure 7.1).

7.2.1.2 The Mental Cycle Processes

The mental cycle relies on three processes: goal generation, planning and action execu-tion.

Goal generationis a strategic process that constantly watches the belief database to check whether the agent motivations are satisfied or not. The purpose of the goal generation process is to generate the necessary goals as soon as one or more of the agent motivations are violated. The generated goals depend on many factors and may differ even for the same type of motivation violation. Firstly, the generated goals may depend on the reason that caused the motivation to be violated. Dif-ferent reasons may cause a motivation to be no longer satisfied and the generated goals depend on the actual reason. Secondly, the generated goals may depend on the agent beliefs. This means that even for the same reason that caused a motiva-tion violamotiva-tion, the goal generamotiva-tion process may generate different goals according to the status of the network. Finally, the generated goals may depend on the status of the agent as far as the already generated goals and the running agent actions are concerned. For example, the goal generation process may take into consideration the goals that have been previously generated due to other motivation violations.

Goal generation can also provide the agent with a certain degree of pro-activeness.

Typically, goal generation may anticipate motivation violations before they even occur. This allows to generate preventive goals, which have the advantage of mini-mizing the overall time during which motivations are violated.

Therefore, the goal generation process may range from very simple reactive rules associating to each kind of motivation violation the necessary goals to generate, to a complex reasoning process requiring situation analysis and opportunity de-tection. Learning algorithms can also be incorporated. Obviously, not all the NM applications require the same goal generation algorithm. Yet in this abstract model, the goal generation process is left unspecified until the agent development process reaches a sufficiently advanced stage that allows to select a suitable goal generation algorithm.

Planningallows to generate the action plans that achieve the generated goals. In the general case, the generated plan depends on many factors. One important

fac-tor is the set of capabilities that the agent has at the time the goal is generated. An-other important factor is the present beliefs of the agent, which may lead the plan-ning process to select one particular plan among many possible others. Finally, the generated plan may depend on the actions that the agent is already running.

As in the case of the goal generation process, the planning process may range from a simple match between each type of generated goal with a predefined plan to ex-ecute, to an embedded planning tool. Similarly, and since there is no one-fits-all planning algorithm for all the NM applications, abstraction is made on which plan-ning process to use until a late stage of agent development that allows to suitably choose a planning algorithm is reached.

Action executionis the process that actually executes the agent actions. This pro-cess may also range from a very simple sequential execution of agent action plans to a complex execution environment supporting parallel threads and synchroniza-tion mechanisms. The acsynchroniza-tion execusynchroniza-tion process may also provide support for non-deterministic or uncertain actions that may not execute successfully for example.

Again, this is left unspecified until the developer is able to decide of the level of complexity required for the action execution process.

Dans le document Software agents in network management (Page 148-152)