Authorised by Academic Registrar, April 1996
Objectives At the completion of this subject students should understand the problems and methods available to build software agents; understand the differences between intentional and reactive agents; and be able to build a software agent system for a specific application.
Synopsis Examination of a number of topical issues in computing and information systems from the perspective of software agents. Adding `intelligence' to objects. Software agents: intentional and reactive. Brittleness in reactive object behaviour. Passive and active objects. Intentional notions: knowledge, belief, goals, intentions. Defining ontologies. Uncertainty in an agent's environment. Selecting what action to take. Agents that evolve and learn. Communication and cooperation between agents. Communities of agents. Market-based programming. Emergent properties. The engineering of large and complex software systems. Use of evolutionary programming techniques in deriving programs. Software technology for the development of software agents. Applications in areas such as software reuse, the World Wide Web, and cooperative work.
Assessment Exercises: 40% + Programming exercises: 60%