Although there has been a lot of work done on multi-agent systems, Single Function Agents (SiFAs) are a relatively new way of building multi-agent systems.
Three systems have been developed at WPI using SiFAs. The first one of these, I3D [Victor & Brown 94], was a system that integrates part design and manufacturing plan production for Powder Processing Applications. It used cooperative expert agents that assisted a human designer in the design of simple powder ceramic components by offering cost estimation, material selection, process simulation, and inspection planning. The agents used in I3D were:
The agents were carefully sequenced, and all possible conflicts that might occur were anticipated in advance and removed during development of the system.
The second system built was I3D+ [Victor & Brown 94]. It had agenda-based scheduling of the agents and also allowed conflicts about the values of parameters to occur among agents. The conflicts were classified into six types depending on the relation between agents' local goals and the global goal as shown in table 2.1. The agents used simple negotiation schemes depending on the goal specified in the requirements.
Table 2.1: Conflicts in I3D+
SNEAKERS [Douglas et al. 93] was built to train users in Concurrent Engineering. The user interacted with agents that had different functions and points of view. SNEAKERS did not have selectors, estimators, or planners, but in addition to advisors and critics, it had the following types of agents:
The points of view that SNEAKERS had were design, manufacturing, assembly, cost, packaging, marketing, safety, and disposal,
After these systems, SINE was developed as a platform to build multi-agent design systems using SiFAs [Brown et al. 94]. It was possible to simulate the negotiation behavior of I3D+ using SINE. The work on SINE formalizes the SiFA model by classifying SiFAs as points on a three dimensional matrix with axes as labeled function, point of view, and target. Agents of a design system are classified according to their functions as estimator, evaluator, selector, advisor, critic, praiser, and suggestor. SINE proposes a communication language between agents, classifies some of the possible conflicts and describes simple communication patterns for negotiation. The SiFA paradigm and the SINE work is discussed in detail in chapter 3.