Palo Alto Collaborative Testbed

Previous: Agent-Based System Engineering (ABSE) Up: Example Agent Architectures and Implementations Next: Information bus architecture (ala TIB)

Palo Alto Collaborative Testbed

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.

Networking
The PACT framework provides an infrastructure postal service to allow agents to delegate all message delivery responsibilities. To utilize the postal service, individual agents employ the register performative to make the postal service aware of its presence. The postal service is capable of handling forward messages addressed to any registered agent. Other message traffic is point-to-point between agents to reduce the overhead of a centralized bottleneck (e.g. during a distributed simulation).

Notification
The PACT experiments exercised concurrent engineering design scenarios. Embodied within the concept of concurrent engineering environment is the tenet that all affected parties of recent design changes will be notified of the change so they may assess the impact. Notification is triggered by detection of change in information of interest. The traditional query oriented approach for requesting existing known information does not support notification, since the interest is assumed to expire after the answer is returned. What is needed is a performative whose semantics convey the monitoring nature of a notification request. Consequently, heavy use is made of the subscribe performative to convey the conditions triggering a notification. As a simple example of the utility of subscribe within PACT, one agent (NextCut) posts a persistent interest in the type of motor applying torque to the manipulator arms. This way if the motor changes, the consequences of the change in the motor's features can be evaluated.

Facilitation
PACT is currently building sophistication into the infrastructure to provide mechanisms for locating registered agents with capabilities suited to fulfilling specific information interests. This way an agent with an information need would allow the infrastructure to broker the service request to agents who have stated capabilities matching the request. To enable this process, service provider agents would be forced to advertise their capabilities via the advertise performative. Followup to these advertisements occurs using the broker-one and recommend-one performatives.

Generator, Multi-response
To provide flexibility on the packaging of transmitted knowledge and support a local tool's paradigm, provide a variety of mechanisms to specify the form of interesting information. (For architectures which cannot handle asynchrony, provide mechanism to get all answers back at once, allow asynchronous incremental transmission for forward-chaining agents, or support generators).

finin@cmsc