lEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 21, NO. 6, NOVEMBEWDECEMBER 1991 1391
An Intelligent Agent Framework for Enterprise Integration
Jeff Y. C. Pan and
Abstract- A software technology for integrating people and computer systems in large, geographically dispersed manufac- turing enterprises is described. The framework is based on the vision of a very large number (perhaps tens of thousands) of computerized assistants, known as Intelligent Agents, or Us. Each IA supports a clearly discernible task or job function, automating what it can and calling on the services of other IAs when necessary. IAs can interact directly via a message bus, o r through a shared, distributed model (i.e., knowledge base) of the enterprise. Humans participate in this society of agents through personal assistants (or PAs), a special type of IA that knows how to communicate both with humans, through multimedia interfaces, and with other L4s and the shared knowledge base. Underlying the framework is the notion of an enterprise model that is built by dividing complex enterprise operations into a collection of elementary tasks or activities. Each such task is then modeled in cognitive terms and entrusted to an IA for execution. CASE tools supported by a library of activity models permit every individual in an enterprise to model the activities with which they are personally most familiar. The preliminary experimental results suggest that this divide and conquer strategy, leading to cognitive models that are buildable and maintainable by end-users, is a viable approach to real-world distributed AI. Moreover, it is believed that such a grass-roots, incremental modeling approach is the only practical way to integrate a complex enterprise.
NCREASINGLY, the productivity of complex, global en- I terprises is limited not by labor or capital, but information. Getting a product rapidly to market, for example, depends on countless, highly interdependent decisions by hundreds or thousands of individuals, senior executives to production workers, spread around the globe at corporate headquarters, engineering centers, factories, suppliers, and subcontractors. Decision making under these conditions is understandably slow, suboptimal and conflict prone. Such problems are only exacerbated by current computer systems that typically support individual departments (e.g., MIS, MRP, CAD, CAM), but rarely work effectively together. Similar observations can be made about managing virtually any large enterprise from a far- flung financial institution to a hospital, to the armed forces. An integrated enterprise computing environment must serve four fundamental needs:
Manuscript received December 7, 1990; revised April 2, 1991. This work was supported by the Defense Advanced Research Projects Agency under contracts N00014-87-K-0729 and N00014-90-5-4016.
The authors are with the Enterprise Integration Technologies Corporation, 459 Hamilton Ave., Suite 100, Palo Alto, CA 94301.
IEEE Log Number 9102920.
Jay M. Tenenbaum
Information Access-it should be easy to access the wealth of information resources and services available through corpo- rate networks. Too often, those that need information do not know where to look or what commands to use. In general, data will have to be integrated from many sources to create customized information presentations for each individual.
Monitoring and Automation-even if one knows where and how to get information there is simply too much to keep track of. People and software need to be notified of decisions or events that affect them, so that they can take appropriate action.
Cooperative Work-people and computers need to work effectively as teams across time (e.g., through various stages of a product lifecycle) and space (e.g., design and production engineers working concurrently to resolve a problem). Team members need to share knowledge and information, and be alerted to potentially conflicting decisions.
System Integration-independently developed software packages must be easily integrated into the framework so that they interoperate seamlessly and are easily used and maintained. Additionally, the framework must provide an incremental path for migrating the enterprise from a purely people-based operation toward an environment in which people and computers work cooperatively. This evolution must occur without interrupting on-going operations.
B. A Vision of the IA Framework
In response to the above needs, we are creating a software framework for integrating people and computer systems in large, geographically dispersed manufacturing enterprises. It is based on the vision of human agents interacting with a large number of computerized assistants, known as intelligent agents, or IAs. Each IA supports a clearly discernible task or job function, automating what it can and calling on the services of other IAs, as well as human agents, when necessary. IAs can interact directly via a dedicated message bus, or through shared data- and knowledge-bases. In our instantiation of this vision, illustrated in Fig. 1, these roles are played, respectively, by the IA Network and the MKS knowledge service [l], . The core of MKS is a comprehensive object-oriented model of the enterprise and how it functions. The MKS model includes descriptions of personnel, facilities, equipment, inventory, manufacturing processes, and other corporate as- sets. It also captures the flow of information, decisions and materials through the enterprise-how things get done. The model is wired into the enterprises information infrastructure (databases, CIM systems, accounting systems, etc.) so that it continuously reflects the actual state of the enterprise. Agents
0018-9472/91$01.00 0 1991 IEEE
1392 IEEE TRANSACTIONS ON SYSTEMS. MAN. AND CYBERNETICS, VOL. 21, NO. 6. N0VEMBER;DECEMBER 1991
Fig. 1. An IA-based enterprise integration framework.
interact with these information resources through the model via high-level service protocols that insulate them from details such as where information resides. They can also register with the model their interest in particular events, and be notified when they occur. MKS thus serves agents as a repository for shared knowledge, and a center for information exchange.
IAs model the perceptual, reasoning, action and commu- nication skills involved in performing human job functions, such as those of an equipment operator, production scheduler, engineer, purchasing agent or manager. IAs must therefore know what to look for, what to do when they see it, and who to tell, just like the person they model. Interactions among IAs follow the established corporate lines of communication and procedures. Collectively, IAs and their communication links form an active, operational model of an enterprise.
To participate in this society of agents, humans require the services of personal assistants (or PAs). PAs belong to a special class of IAs that know how to communicate with humans through E-mail, graphical editors, and other standard modalities (e.g., beepers, faxes, telephone). They also know how to translate between these human modalities and IA network protocols. To facilitate the interaction, ones PA maintains a personal model that includes where they currently are, how they can be reached, what information they would like monitored through the knowledge service, and what actions to take, either in response to messages from IAs or notifications from the knowledge service. For example, reports of minor trouble might be forwarded auto- matically to a human subordinate or an IA, whereas a report of major trouble might warrant being paged. When a person responds to an IA message through their PA, that person is, in effect, acting as their own activity model. PAs thus provide an element of completeness, enabling the modeling of activities that are too complex or too important to delegate to IAs. Moreover, PAs can help by anticipating and presenting supporting information from the knowledge service that will enable an individual to make informed decisions. Such an architecture supports the notion of man/machine cooperative work, as articulated by Winograd . Indeed, it goes further in allowing tasks gradually to be handed off to IAs so that ultimately they can be performed interchangeably by a person or their agent.
In addition to supporting traditional human activities, IAs can also automate a variety of tasks for which people may be too expensive or otherwise limited (e.g., too slow, too
inattentive). Think of IAs as an inexhaustible source of cheap labor that can provide dedicated human-like services, 24 hours a day, ubiquitously throughout the enterprise. IAs can be dedicated, for example, to watch over each and every piece of equipment in factory and to shepherd each workpiece and piece of paperwork along their prescribed routes. Later, we give an example of such an Anthropomorphic IA (or AIA), a smart agentized wafer-lot that knows how to follow a recipe, negotiate with equipment IAs to obtain needed services, and recover from breakdowns and processing errors. It is easy to envision a host of similar applications, such as equipment agents that bid for jobs in a job shop, and forms agents that know where to go for approvals. More sophisticated AIAs can serve as dedicated liaisons between project teams to ensure that decisions are coordinated. They can provide enhanced information services, such as serving as a corporate services directory (yellow pages) or a broker that helps users and providers of services find each other. And they can encapsulate software packages, serving as intelligent front ends that actively solicit opportunities to provide service. Fig. 1 shows a variety of IAs, MAs, and PAs representing people, equipment, software, databases, and workpieces.
For the framework to succeed in an operational setting, we believe it is essential that the enterprise models underlying IAs, PAs and MKS be created and maintained by the people they serve-the end-users that understand best the tasks to be modeled. Two features of our approach help make this possible. First, partitioning complex activities into simple tasks and modeling them in cognitive terms produces models that are familiar to workers, and therefore easy for them to understand. Second, we are developing simple modeling tools for end- users, that enable them to copy and customize generic activity models (e.g., for monitoring, transactions, brokering) from a library. Customization might require editing a script or fleshing out a decision tree, but such skills can be quickly mastered when the editing tools support representations that are already familiar , .
Initially, an enterprise framework would consist mainly of simple PAs that support current people-based styles of work. The initial PAs would be little more than editors that knew how particular individuals liked their information presented from the MKS knowledge service. Individuals using the above tools, would gradually hand off more and more of their routine responsibilities to IAs and their PA. IAs would be programmed to filter out uninteresting information and respond to routine events in standard ways. For example, an equipment operator might task an IA to watch the MKS model for particular equipment breakdowns, and then take appropriate actions, such as alerting maintenance personnel (or their agents), or running a program to reschedule production. Over time, the number and responsibilities of agents would grow. Ultimately, the enterprise might have thousands of IAs overseeing virtually every activity, ensuring that information flows swiftly and that nothing slips through cracks. The vision that emerges is a flood of information coursing over the enterprise. Fortunately, everyone has their PAs and IAs to protect them from drowning by dispatching routine matters autonomously.
PAN AND TENENBAUM: AN INTELLIGENT AGENT FRAMEWORK FOR ENTERPRISE INTEGRATION 1393
In the remainder of this paper, we flesh out this vision and describe a prototype implementation, currently under devel- opment, that will run the semiconductor fabrication facility at Stanfords Center for integrated Systems (CIS). Section I1 is a review and rational reconstruction of previous work, retracing the development of ideas leading to the IA framework. Sec- tions IIi and IV provide technical details on the framework and its implementation. Section V reports on preliminary experiments with the prototype at CIS. Finally, Section VI summarizes our results to date and draws implications for both distributed AI and enterprise integration.
The IA framework evolved from three key ideas that emerged from our research on AI in real-world manufacturing environments: end-user programming, divide and conquer (modularity), and shared knowledge bases. We shall now bridly retrace this evolution.
A. End-User Programming
Since 1984, we have been studying applications of expert systems in manufacturing. An early insight was that the complex and dynamic nature of manufacturing knowledge made it highly desirable for manufacturing personnel to do their own knowledge engineering. To make this possible, we performed multilevel knowledge engineering, developing knowledge representations that were natural for our end-users rather than elegant in an AI sense. We also created editing tools with which such users could, themselves, flesh out and maintain the representations. The tools were easy to learn and use because they presented information in familiar graphical formats such as flow charts and decision trees.
PIES , the first of these applications, was a system for interpreting parametric test data in semiconductor manufac- turing. Without getting into detail, the system allowed test engineers to create a graphical dependency network show- ing possible processing problems, each linked to causes and symptoms. On-line tester data could be interpreted automat- ically using this knowledge base, so that when a processing problem occurred, a rank-ordered set of potential problems and causes was generated. If the system failed to interpret the test data correctly, it was straightforward for an engineer to edit the diagram, adding new problems, symptoms or causes as appropriate. Over time, the dependency network grew to encompass a significant fraction of the test engineers experiential knowledge. Whereas the engineer previously had to spend almost half his day analyzing the torrents of data produced for each wafer lot just to verify that the overall process was healthy, he could now turn most of this onerous task over to HyperPIES  . We had thus built our first user- programmable IA, although we had not yet conceptualized it in this way.
The association of symptoms, problems and causes un- derlying PIES was both a simple and generic approach to monitoring. One can envi...