Previous: Agent-Based System Engineering (ABSE) Up: Example Agent Architectures and Implementations Next: Information bus architecture (ala TIB)
The PACT experiments show how pre-existing engineering software systems can be combined to constitute a distributed system of integrated design information and services. The PACT architecture encapsulates each component system with an information agent, which serves to bridge the idiosynchrosies of access to that system's knowledge and abilities (see Figure ). Information agents use KQML as their agent communication language, with KIF as the exclusive representation language. Information agents are connected as needed, in part through an ABSE post-office agent (cf. Section ).
The experiments involved four geographically distributed engineering teams, collaborating on scenarios of design, fabrication, and redesign of a robotic manipulator. Each of the four design environments in PACT was used to model a different aspect of the manipulator (controller software, rigid body dynamics, encoder circuitry, sensors, and power system) and to reason about it from the standpoint of a different engineering discipline. Collaborative design tasks were performed including dynamics model exchange between the controls agent and dynamics agent, fine-grained cooperative distributed simulation exercising each aspect supported by the four tools, and finally design modifications suggested by the simulation. Each team was supported by its own computational environment linked via the PACT framework [Singh and Genesereth][Genesereth92] over the Internet.
The challenge in PACT was to take four existing systems, each already a specialized framework, and to integrate them via a flexible, higher-level framework. Framework building requires commitments from each party desiring participation in the shared environment to establish interface agreements and protocols of interaction. To drive the experiments with concrete goals, scenarios of interoperation among the various concurrent engineering tools, initially thwarted by tool isolation, were proposed. Next a series of interpersonal interactions were conducted among the developers of the various tools to identify the necessary information that bridged tool perspectives and enabled the execution of the driving design scenarios. Once the types of enabling knowledge had been identified (components, connectivity, attribute features, time varying values, equational functional models, etc.), agreements were reached on the form of the shareable knowledge. As a result of these interactions, an implicit ontology was created reflecting offline agreements. Over the course of the PACT experiments, the ontologies were explicitly encoded in KIF and Ontolingua {Gruber92].After the form and semantics of the knowledge content had been agreed upon, an KQML-like language Agent Communication Language was specified to allow expressions of attitude toward knowledge content such as belief, disbelief, and interest.
Each tool has been wrapped up as an information agent available as a service to other agents. Tool-specific wrappers were constructed for each tool to translate into and out of the shared ontology and to manage the tool's application programmer interface for reacting to requests and updates expressed within the KQML-like Agent Communication Language.
PACT employs a rich suite of performatives, indicating the diversity of the PACT architecture.
finin@cmsc