Agent-Oriented Software Development

Communications and Information Technology Ontario (CITO)
Research Project
Principal Investigators:
   Prof. John Mylopoulos, Computer Science, U. of Toronto (Project Leader)
   Prof. Yves Lesperance, Computer Science, York University
   Prof. Eric Yu, Information Studies, U. of Toronto
Duration:  2000-2002

Software technologies are evolving rapidly, thanks to the driving forces of new application areas such as Enterprise Resource Planning, the World-Wide Web, and Electronic Commerce. This evolution places new demands on software, including ever more open architectures, ability to migrate across computing platforms, and interface with unforseeable operating environments. To meet such demands, software engineers are embracing an agent-oriented programming paradigm. Agents are software systems which show varying degrees of autonomy, possess social skills e.g., ones for communication and negotiation, are able to perceive and react to their environment, generate and execute plans to meet goals, can also be proactive. The foundations of such a programming paradigm are being investigated in research areas such as Distributed AI (DAI), while the paradigm itself is gaining a foothold in industries ranging from Telecommunications  (e.g., Mitel) to the Internet and Electronic Commerce. This paradigm promises to give software whose architecture  can change at run-time to meet unforseen requirements, also software that has an open-ended repertory of methods for meeting a given functionality.

We are interested in developing a software development methodology for agent-based software systems. The key concepts used during software development, according to our methodology, will be those of agent and goal. We propose that our methodology spans early phases of software development ranging from requirements analysis to design. We note that the notions of agent and goal are used in the Requirements Engineering literature (e.g., [ISRE99]) but focus narrowly on requirements and assume that goals and agents have been turned into software functionalities and qualities by the time requirements engineering is complete. Also, these concepts play a prominent role in DAI, but the focus is on agent programming, with no attention paid to requirements analysis or design.

Back to Eric Yu homepage