Distributed Object Oriented Logic Programming as a tool for Enterprise Modelling

Keith Clark, Nikolaos Skarmeas, Tzone Wang


In this paper we propose a distributed object oriented logic programming language, called DK_Parlog++, that we have developed at Imperial College, as a powerful tool for enterprise modelling and for prototyping an enterprise integration framework. We have used the language to develop a model of our own department and to prototype a generic enterprise integration framework based on role theory.

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.

In: Modelling and Methodolgies for Enterprise Integration, (ed Bernus and Nemes), Chapman & Hall, 1996.
Click here for a compressed PostScript version of the paper (ei.ps.gz, 62698 bytes).