The GBBopen FAQ
The following questions about GBBopen are asked frequently:
If your questions aren't answered here, feel free to ask them directly at FAQ@GBBopen.org.
Frequently Asked Questions (with answers!)
- When will the next
GBBopen version be released?
GBBopen development continues on a daily basis, and GBBopen is being used
in a number of applications. Lists of recently completed, underway, and
pending implementation activities are maintained on our “Development status” page.
A note about GBBopen version numbers
Improvements and additions to GBBopen become available through
“micro” releases provided by source-code commits to the
repository. New features and capabilities are listed in the “Changes
since...” section of the CHANGES
file and the GBBopen Reference Manual is
updated to reflect them. In addition, an updated repository-snapshot archive
is usually created (although occasionally a related set of commits are made in
a batch before a new snapshot archive is generated). We use micro releases to
make improvements available as quickly as possible to GBBopen users.
Changes that involve name changes, incompatibilities with the current
GBBopen version, or significant changes to GBBopen's internal representations
or techniques are made in a “point release,” in which the current
GBBopen version number is incremented. A point release is accompanied by an
announcement, alerting all to its release and important changes. Whenever
possible, backward compatibility of name changes (and possibility
functionality) is supported until the next point release. If enough micro
releases have been produced since the last point release, a new point release
may be generated—even if no incompatibilities or major changes are
involved.
Major releases (where we skip ahead and increment the integer part of the
version number before it is required by successive point releases) will be
used to indicate the availability of significant new GBBopen components or
capabilities.
- What language is GBBopen
written in? On what systems will it run?
GBBopen is written in Common Lisp and utilizes capabilities
provided by the Common Lisp Object System Metaobject Protocol (MOP). GBBopen is
currently supported on the following open-source and commercial Common
Lisp implementations:
A wide range of popular hardware and operating systems are
covered by these Common Lisp implementations.
- How do I install GBBopen? How
do I get started using it?
The GBBopen Tutorial will guide
you through installation and some initial exercises using GBBopen. The
“Starting GBBopen” exercise in the Tutorial describes installation
of Common Lisp and GBBopen.
- Can I make use of GBBopen if I'm
not building a blackboard application?
Certainly! There are many applications that make use of GBBopen's
blackboard objects (unit instances) and proximity-based retrieval
capabilities, link (bidirectional pointer) operations, and event
functions—but without using a control shell. By traditional definition,
these applications are not “blackboard applications,” but they
still use GBBopen's :gbbopen-core facilities to significant
advantage.
Several GBBopen modules have also become widely used:
- Is there a version of GBBopen (or
another blackboard-system framework) available that is written in C, C++, or
Java?
Work was done at Stanford University in the 1990s on a blackboard-system
kernel library in C++ called BBK. There are a
number of technical reasons why languages that cannot be extended seamlessly
(such as C, C++, and Java) are ill-suited to hosting a blackboard-system
implementation framework. Although the GBB product had been written in Common
Lisp, the strong popularity of Java at the time that the GBBopen Project
weighed heavily on our implementation-language decision. We spent several
months exploring techniques that could be used to provide a GBB-like system in
Java before launching the GBBopen effort in Common Lisp. Since KSs can be
written in any language (including C, C++, and Java), developers can (and
sometimes do) use GBBopen/Common Lisp solely as a specification, trigger, and
query language for composing blackboard applications from KSs written in other
languages.
One of the advantages of open source is that anyone is free to take the
GBBopen design and code base and use it as a guide for implementing a
blackboard framework in another language. Anyone considering such a route
will quickly discover the implementation complexities and usability
considerations imposed by their choice of host language.
- Is GBBopen an open-source release
of the GBB product?
No, GBBopen is not “open GBB.” GBBopen is a completely
new design and open-source implementation that builds on the
experience gained with the UMass Generic Blackboard system and with
the GBB product (see list of differences).
In most cases, however, only minor effort will be required to migrate
a GBB application to GBBopen.
- How much of the GBB product
code is in GBBopen?
None (see the previous question).
- Is there a GBBopen newsgroup
or discussion list?
There are four GBBopen mailing lists: gbbopen-announce,
gbbopen-list, gbbopen-developers, and
gbbopen-commits:
- The gbbopen-announce mailing list is for receiving official GBBopen
announcements. Only major project and other milestone announcements
will be made on this list.
- The gbbopen-list mailing list is the place for questions,
suggestions, and general discussions of GBBopen and GBBopen
applications. Bugs should be reported to bugs@GBBopen.org—not to the
mailing lists.
- The gbbopen-developer list is for anyone interested in contributing
to or following GBBopen development discussions.
- The gbbopen-commits mailing list provides automated e-mail
notification of SVN commits. Commits involving significant differences that
produce large summary descriptions (and large e-mail messages) are not sent to
this list. These major commits are usually announced in the
gbbopen-announce list or in a brief, manually generated, e-mail notice
sent to the gbbopen-developer mailing list.
Subscription details can be found here.
If you need help or advice, the GBBopen Users list is the place to ask
(should the GBBopen
Tutorial and archived
messages from the GBBopen Users list come up short).
- Where can I learn more about
blackboard systems?
The BBTech Corporation web
site is a good starting point. The site's annotated bibliography
page presents a nice overview of the literature.
- Aren't blackboard systems
outdated by newer approaches, such as middleware technologies or multi-agent
systems?
The first blackboard-based applications were developed in the
mid-1970s in conjunction with several ambitious and difficult AI
applications. These applications demonstrated that blackboard systems
provide an effective divide-and-conquer approach to the development
and maintenance of large and complex software systems. The advantages
of using a blackboard-based approach have not been diminished by more
“modern” technologies, and blackboard systems are an
important area in the space of collaborating-entity approaches (see
the ILC'03
paper on this topic).
- How can I contribute to
the GBBopen effort?
There are two avenues:
- as a volunteer performing programming, testing, documentation, and
application-development activities
- as a sponsor
If you would like to become involved with the Project we want to hear from
you! From time to time, calls for important volunteer tasks are listed on our
“Development status” page, but there are
many other needed tasks that we do not post. Contact us at volunteer@GBBopen.org and let us know
how you'd like to get involved.
Sponsors provide equipment, software, and funding
for the overall GBBopen Project or for specific development activities. To
find out more about becoming a GBBopen Project sponsor, contact us at sponsor@GBBopen.org.
- How are the GBBopen Project and
the University of Massachusetts Amherst related?
GBBopen's linage is rooted in the Generic Blackboard System research that
was performed at UMass in the 1980s. That research was directed by Professor
Daniel Corkill, and he now heads the GBBopen Project (a volunteer position).
Dan works full-time at his “regular” job as a Senior Research
Scientist in the Department of Computer Science at UMass, and he is the
Associate Director of the Department's Multi-Agent Systems Laboratory. GBBopen is used in a number
of research efforts at UMass, but beyond that (and Dr. Corkill's volunteer
efforts on behalf of the Project) the Project and UMass Amherst are fully
independent.
- How are the GBBopen Project and
BBTech Corporation related?
BBTech Corporation is an
independent commercial entity providing training, support, consulting, and
research services for blackboard and multi-agent technologies (including
GBBopen). When appropriate, BBTech contributes the results of research and
development activities to the GBBopen Project to be incorporated into
GBBopen.
If your questions weren't answered above, please send them to FAQ@GBBopen.org.
|