[comp.ai] the BLOBS blackboard

marcel@saturn.ADS.COM (Marcel Schoppers) (01/14/90)

Can anyone put me in touch with the people who built the BLOBS blackboard?
They are/were connected with Cambridge Consultants, of Cambridge, England.
Some names are Roberto Zanconato, I.J. Dickinson, and S. Middleton.
I want to ask them a few questions about the capabilities provided by their
blackboard, with a view to using and/or extending their software.

For the sake of rapid turnaround, here is what I'm looking for -- other
blackboards that get close are also of interest.  My primary objectives are
concurrency and the associated control primitives; support for symbolic
reasoning and pattern matching; asynchronous undirected communication (or
data driven invocation); hierarchical grouping of tasks (or nesting of
blackboards); absence of a serializing metalevel; and availability of source
code or software support.  The source code or software support is absolutely
essential; the rest we will consider building if they're not already present.

	- are symbolic reasoning, pattern matching, and object-oriented
	  programming built-in?
	- can any number of tasks run (pseudo)concurrently?
	- do tasks communicate asynchronously (i.e. no waiting by the
	  sending task), and is CPU time for the response to a message
	  charged to the receiving task (i.e. messages are not just
	  procedure calls)?
	- can tasks communicate "undirectedly", i.e. by posting some
	  data that is then automatically routed to every task that
	  is "interested" in that data?
	- are there facilities for unconditionally suspending and
	  resuming tasks?
	- can tasks be interrupted and told to do something else by
	  high-priority events/messages?
	- is it possible to set up "group tasks", i.e. hierarchical
	  group of tasks that still run (pseudo)concurrently, but
	  can be addressed as a unit (with suspend/resume messages)?
	- can data be local to a "group task" and global to each of
	  the tasks in the group?
	- is there no centralized scheduler (i.e. metalevel control
	  level) that has to be run whenever any task becomes ready
	  to run?
	- is it supported software, or is source code available,
	  and what languages & machines does it run on?

marcel@ads.com