• Aucun résultat trouvé

Implementation Issues

Dans le document Software agents in network management (Page 168-173)

7.6 Discussion

7.6.3 Implementation Issues

The mapping of the BDI abstract design into a JACK implementation showed how the im-plementation can be different from the design. Even though JACK supports many agent concepts such as goals, plans, beliefs, etc., many parts of the design could not be properly mapped during implementation.

Unstructured communication

One major issue with JACK was that communication is MessageEventbased and not speech-act oriented such as KQML. The implemented communication in this case study lacks structure, and the semantics of the exchanged messages are com-pletely encapsulated in their respective handling plans. Many plans had to handle subscription semantics, while subscription could be handled once-for-all if using a KQML-like language.

This shows the advantage of using a high-level ACL (Agent Communication Lan-guage) compared to a non-structured communication mechanism. An agent ACL (Agent Communication Language) allows to shift the developer of agent-based ap-plications from the low-level tasks of implementing inter-agent facilities, such as belief subscription and notification.

No support for motivations

Another issue is that motivations had to be implemented using plans, where each plan simulates the goal generation process for a particular motivation. This is con-trary to the idea of goal generation, which is to have a unique process instead of multiple plans. A unique process for goal generation is simpler to maintain.

No support for composite goal expressions

As it is not possible to specify a composite goal expression within a JACK goal state-ment, we had to define an otherwise-useless belief template that replaces the com-posite goal expression with a unique simple expression. This leads to additional plans to maintain the coherence with the newly created belief.

The moral from this implementation is that adopting a particular agent framework implies to be tightened to the concepts defined in this framework. This emphasizes the reason for which we opted to develop our own skill-based agent architecture for NM,

instead of using an existing agent framework. This also explains why appliers of agent technology tend to build their agent support architecture from scratch, instead of reusing existing agent frameworks.

7.7 Summary and Conclusion

The contribution of this chapter is threefold. First, we proposed a BDI abstract agent model suitable for NM purposes. This proposed mental cycle can support different mechanisms for goal generation, goal planning and action execution. We also provided a multiple-stage BDI-oriented development process that uses different abstraction levels to specify the agent behavior. Second, we used this abstract BDI model to provide a BDI-oriented design of the SLD case study, different than the design proposed in Chapter 5.

The BDI-oriented design is then implemented using JACK, an agent development tool that supports BDI agent concepts. Third, we discussed the usefulness of a BDI approach, and compared it in relevant aspects to the skill-based architecture that we proposed.

Interestingly, using different agent architectures, skill-based and BDI-based, lead to completely different modeling approaches. While with the skill-based agent architec-ture, the main focus was directly onhow tolet the agent achieve its role, the BDI-based approach added a further abstraction layer that analyzedwhythe agent performs actions when undertaking its roles. This is achieved through the mapping from agent roles to ab-stract motivations, then analyzing the different situations in which these motivations are violated. Understanding the essence of agent actions by analyzing its motivations lead to a deeper understanding of the case study. Moreover, this BDI approach allows to ob-tain a more robust agent design provided that a careful motivation violation analysis is performed.

The BDI approach leads to purpose-oriented agents that initiate actions according to explicitly formulated goals and motivations. In addition, the proposed BDI model can integrate enhanced mechanisms for goal generation and planning that improve agent autonomy and endow it with a proactive behavior.

We however maintain that the based architecture excels with its dynamic skill-loading feature to support flexibility and genericity. Providing an equivalent flexibility using modular skills in a BDI approach seems to be a challenge, since the different mental categories are strongly interrelated in the mental cycle. This strong interrelation hinders a modular approach similar to our skill-based architecture.

Accordingly, we believe that our skill-based architecture succeeded to provide a

com-promise between NM requirements that strongly promote flexibility and dynamism, and agent concepts that at the same time that they provide strong means of abstractions, are also difficult to adopt in a general context.

Another conclusion, that is going to be emphasized in the next chapter, is that an agent-oriented methodology and development process strongly depends on the type of agents to be used.

We are interested in a similar comparison of our skill-based architecture with a Mobile Agent approach. The next chapter considers an MA implementation of the PVC case study and compares it to the implementation provided in Chapter 6.

Chapter 8

Assessment of Mobile Agents

through the PVC Provision Case Study

Mobile agents are an interesting metaphor for the PVC case study. An MA is a natural way of modeling a unique ATM operator that sequentially connects from a switch to the next one in order to configure PVC fragments. In this chapter, we propose to discuss an MA approach to the PVC case study and to compare it to the skill-based approach described in Chapter 6. As far as mobility is concerned, a skill-based agent is considered as a Stationary Agent (SA). Therefore, the comparison to the MA approach is focussed on the mobility aspect.

8.1 Motivation

Mobile agents, considered as autonomous programs capable of moving from one host to another during their execution, have been experimented in several management appli-cations such as the optimization of monitoring traffic, configuration management and performance monitoring and control (see Chapter 3, Section 3.3). Despite the hype that surrounds MA technology, still only few references in the literature assess on concrete basis the real advantages and shortcomings of using MAs. Proponents of MAs advocate the enhanced flexibility and the amelioration of performance and efficiency compared to classical approaches based on a central manager and a rigid set of management

pro-tocols. In that sense, MAs allow to reduce the generated management traffic by moving the client knowledge close to servers resources and accessing them locally [BP97].

In contrast, opponents of MAs argue that agent migration is likely to generate in many cases a lot of traffic and to cause serious control problems in MA-based management systems, such as load-balancing and resource access control. They assert that there is no application that can be designed with MAs and cannot be designed with classical ap-proaches. Consequently, the added-value of MAs is not clear enough to justify its deploy-ment in industrial NM applications.

Likewise, proponents of SAs advocate their innate support for cooperative manage-ment tasks and the high-level communication protocol they use. SAs are likely to reduce the generated management traffic since they exchange only concise and high-level mes-sages and do not require recurring interactivity with each other. In contrast, opponents claim that SAs lack the flexibility that MAs offer thanks to their migration capability.

In reality, there are neither available criteria nor the required expertise that help an-swering the question of whether to adopt autonomous migrating agents instead of dis-tributed cooperating stationary agents. Arguments in favor of one approach can easily be counter-balanced by arguments in favor of the other one. To our knowledge, the only relevant work that provides an objective way to evaluate the cost of selecting the MA approach in an NM problem is that described in [BP97]. Although the results reported therein are original and useful, they are limited to traffic-based criteria, namely the global generated traffic and the traffic generated around the central management station.

The thesis of Papaioannou [Pap00] is another work that objectively discusses “the ar-gument for mobility”. The thesis evaluates the use of MAs and mobile objects to build and integrate software systems that support distributed manufacturing enterprises. Pa-paioannou uses real-work case studies to assess mobile code abstractions [PE00]. These case studies are oriented towards building manufacturing information systems. We pro-pose in this chapter a similar approach specific to the NM context, and we use assess-ment criteria relevant to NM software.

This chapter indeed provides a comparison between the two agent approaches, mo-bile and stationary, that goes beyond the obviously important but not unique criterion of generated traffic, to consider other quantitative and qualitative parameters. In order to have credible and arguable comparison results, we use a representative case study as a basis to evaluate the strengths and weaknesses of both agent approaches. In Chapter 6, we have implemented an SA-based approach to the PVC provision case study, for which MAs seem to be a suitable approach as well. Therefore, we propose to base our com-parison on this case study. Interestingly, it appeared that an MA-based implementation

of the PVC provision problem has been already accomplished by the Perpetuum Mobile Procura group [PMP], and published in [PLBS98].

Since the algorithm used in [PLBS98] is not exactly the same as we used in Chapter 6, we produced an adaptation of the SA approach in which the PVC reservation phase is removed. In this way, the predominant difference between the MA and SA approaches is reduced to the mobility factor, which leads to a more focussed and consistent compari-son.

This case study is representative of a suitable NM application for both approaches.

A traditional approach would consist in a centralized management station from which the human administrator directs the multiple management queries to the consecutive ATM switches in order to create the PVC. As far as the number of exchanged messages is concerned, both MAs and SAs are used to localize these queries close to the switches, thus avoiding the multiple configuration queries to be transmitted over the network links. MAs are suitable for this problem because they may be used to accomplish dis-tributed tasks by travelling across a set of hosts and interacting locally with these hosts.

SAs are suitable because they are used to accomplish distributed tasks by cooperating with each other. Both approaches are proposed to overcome centralization and micro-management issues, typical for classical NM paradigms.

Although this comparison is based on a particular case study, most of the results ob-tained and discussed in Section 8.3 can be extrapolated to the general use of SAs and MAs in the NM context.

8.2 Mobile Agent and Static Agent Approaches to PVC

Dans le document Software agents in network management (Page 168-173)