We adopt an agent based approach, the agents being essentially distributed active objects containing both procedural methods and public knowledge, the knowledge being expressed as Prolog facts and rules. Each agent is an instance of some agent class. The agents interact with each other by sending messages to request services, and by remote queries to access each others public knowledge. The agents can either be used as a coordination layer for an enterprise integration prototype or to provide an active model of the activities of the enterprise. Each agent inherits all the methods and knowledge of its class and super classes . It has a 'state' partly encoded in its state variables and partly in a dynamic component of its public knowledge. The methods of the agents will be the activity rules, the procedures of the enterprise. The public knowledge of each agent can be used to express the constraints and pr econditions of these procedures, or to describe the effects of the procedures. T he knowledge, distrib uted over the the agents and their classes, comprise a distributed OO knowledge base for t he activities of the organisation.
This paper assumes acquaintance with the concepts of concurrent object oriented programming and logic programming, particularly Prolog.