The basic principles and lessons of software, knowledge, and distributed systems engineering, as well as the same scientific rigour pervading these research areas, have to be applied to the development and deployment of multiagent systems. At present, the majority of existing agent applications are developed in an ad-hoc fashion: little or no rigorous design methodology, limited specification of the requirements, ad-hoc design of agents and of multi-agent system as a whole, and little attention to non-functional requirements such as mobility, scalability, performance issues, standards. This is indeed a limitation for the widespread appliance of any new software technology. And, of course, it can be a strong limitation for agent-based computing too.
Moreover, outside the agent community, there is still no widespread acceptance of agent-based computing as a new paradigm. Many people - both from academia and from industry - still think that agents are nothing but grown-up objects, renewed with a nice, publication-appealing, name. Although the raising of some scepticism is intrinsic with the introduction of any new technology, perhaps this problem is actually exacerbated within the agent community by the lack of a clear and unambiguous terminology, of a clean set of abstractions, and, even more important, of a full understanding of the commonalties and differences between the agent paradigm and more traditional (i.e., object-based and component-based) paradigms for software development, and of the associated advantages and drawbacks. Clarifying what makes agent-based approach to the development of complex software systems different from traditional component-based and object-based approaches, and developing a discipline of agent-oriented software development accordingly, are thus necessary goals to be achieved for making agents accepted outside the agent community.
Date: 23.7.2007, 13:30-17:30
Massimo Cossentino, ICAR-CNR