Supporting change impact analysis for intelligent agent systems
Software maintenance and evolution is an important and lengthy phase in the software life-cycle which can account for as much as two-thirds of the total software development costs. Intelligent agent technology has evolved rapidly over the past few years as evidenced by the increasing number of agent systems in many different domains. Intelligent agent systems with their distinct characteristics and behaviours introduce new problems in software maintenance. However, in contrast to a substantial amount of work in providing methodologies for analysing, designing and implementing agent-based systems, there has been very little work on maintenance and evolution of agent systems. A critical issue in software maintenance and evolution is change impact analysis: estimating the potential effects of changes before they are made as an agent system evolves. In this paper, we propose two distinct approaches to change impact analysis for the well-known and widely-developed Belief-Desire-Intention agent systems. On the one hand, our static technique computes the impact of a change by analysing the source code and identifying various dependencies within the agent system. On the other hand, our dynamic technique builds a representation of an agent's behaviour by analyzing its execution traces which consist of goals and plans, and uses this representation to estimate impacts. We have implemented both techniques and in this paper we also report on the experimental results that compare their effectiveness in practice.