39-405 Engineering Design
Agents and Agent-Based Systems

Tournament Down
This is an interdisciplinary course with three goals: to learn about

An engineering design process has two major parts: (1) designing the problem and (2) designing the solution. Both are critical. Students learn a lot about the latter part in their other courses, but little about the former. To address this discrepancy, we will cover techniques for arriving at good specifications of design problems, and techniques for expressing such specifications. In particular, we will cover the development of well posed problems, process for dealing with multiple and conflicting goals, the design of solution spaces, and the specification of tests over these spaces.

Solving engineering problems in industry involves teams of people with diverse backgrounds. A major activity for these teams is to negotiate a vocabulary with which to communicate about the problem, how the team members will attack it, how they will make decisions and how they will keep track of decisions made in the past. With the advent of the internet, these teams can work together and even when geographically dispersed. The course will examine collaborative processes and how to support them, particularly with the use of computer-based aids. We shall consider such systems as Lotus Notes and document management systems.

The project for the course will involve designing and building software agents for competitive commodity trading. This topic has been selected because much of our future computing will be done by agents rather than mere programs. Many of these agents will be autonomous, distributed over networks of computers, and self-organizing: given a task, appropriate agents will select and organize themselves into teams in which they will cooperate to perform the task. The task could be large, such as designing a new computer, or small and more personal, such as managing one's stock account or selecting one's insurance carrier. Software houses will soon begin to produce such agents. The idea for a good agent will be reason enough to launch a new company and could make one rich.

What is an autonomous agent?
How can such agents organize and cooperate?
How they learn (convert experience into additional competence)?
The lectures will cover these topics and students will learn about them by building agents and making them compete against one another.

The course is open to all CIT seniors and all graduate students. Others should get permission from the instructor.


Tournament Down