Distributed Algorithmic and Rule-based Blackboard System (DARBS)Prior to this work, an algorithmic and rule-based blackboard system (ARBS) had been developed over a ten-year period. ARBS was a blackboard system that had been developed in-house to allow different computational techniques to be used co-operatively. Separate software modules called knowledge sources (KSs) communicated via an area of shared memory called the blackboard. ARBS benefited from a versatile rule structure and the ability to mix computational styles either as separate knowledge-sources or by embedding algorithms within rules. It was a serial system, i.e. any knowledge source that was able to contribute had to wait its turn.
We have now developed a new distributed system, DARBS, in which the knowledge sources are replaced by autonomous agents that run as parallel processes. Based around the client/server model, DARBS comprises a centralised database server, i.e. the blackboard, and a number of client agents. As the agents are separate processes, possibly on separate networked computers, they can contribute to the solution of a problem whenever they have a contribution to make. DARBS agents are therefore said to be opportunistic. DARBS behaves as a distributed agent-based system, with the proviso that all communication is via the blackboard.
DARBS and its predecessors have been applied to automatic interpretation of non-destructive evaluation (NDE) data, management of a national telecommunications network, control of plasma deposition processes, coordination of collaborative robots, and registration of multi-modal images.
DARBS currently has provision for rule-based programming (with a choice of inference engines), fuzzy logic, neural networks, genetic algorithms and conventional procedural algorithms.
During 2010, a standardized open-source version of DARBS was created. It can be downloaded from http://darbs.sourceforge.net.
EPSRC project Automated Optimisation and Control of Low Temperature Plasma Processes (GR/M71039/01):
Return to Adrian Hopgood's page.
| Adrian Hopgood|