previous INDEX next SOFTWARE DEPARTMENT

DISTRIBUTED MULTI-AGENT SOFTWARE SYSTEMS

BACKGROUND AND MOTIVATION

Distributed Artificial Intelligence is a promising research area which provides methods for distributed problem solving or for multi-agent systems design. Research in the multi-agent area concerns the intelligent co-ordination of pre-defined agents, displaying a certain degree of autonomy, which join their intentions to take an action or solve a specific problem.

Building new systems usually entails constructing significant parts of the domain software from scratch. The cost of this effort has become prohibitive especially because of an attempt to build larger and larger systems. To overcome this problem, we must find ways to preserve the existing knowledge and share, reuse, and build on it. The existing object-oriented technology facilitates the reuse up to the application level and not beyond, i.e. the task structure level or the knowledge level. This research focuses on building an infrastructure for knowledge sharing an reuse for various tasks at the task structure level.

The objective of this research is to build a multi-agent architecture for knowledge intensive domains that could drastically improve the reliability of software as well as productivity of its development due to the high degree of software reuse:

A distributed object-oriented computing platform, rNUT, is based on an object-oriented programming environment NUT, and is built on top of the Parallel Virtual Machine (PVM).


rNUT, provides a dynamic set of collaborative NUT processes running on PVM. The rNUT library librnut contains two sets of specialised communication routines: (1) functions for passing classes, scripts and loading packages, and (2) functions for object passing. The object passing functions based on the EDA multiprocessing model provide a flexible and unified approach to an inter-process communication and synchronisation.

The language of rNUT is a concurrent object-oriented programming language with coarse-grained parallelism and distributed shared memory communication model implemented on a distributed memory architecture. It differs from other languages of concurrent programming in the following: concurrent processes are represented by packages, the inter-process communication is performed in terms of classes, objects, scripts and packages; sequential segments of programs can be synthesised automatically from specifications represented as classes.

PARTNERS


next top of this page previous 14/04/1998 monika@cs.ioc.ee