On the Use of Agents as Components of Software Systems
Federico Bergenti, Michael N. Huhns · Kluwer Academic Publishers eBooks · 2006
Software agents are increasingly being used as building blocks of complex software systems. In this chapter we discuss the benefits and the drawbacks that a developer faces when choosing agents for the realization of a new system, instead of a more mature technology such as software components. In particular, we first compare agents to components and then highlight the differences and similarities engendered by the metaphors and abstractions that each provides. Then, we concentrate our comparison on reusability because of general agreement that reusability is one of the most important features to consider when adopting a development technology. We exploit agent-oriented concepts to define formally an asymptotic level of reusability, and we show how agents and components approximate it. The result of such a comparison is that agents are intrinsically more reusable than components. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.