The General Public Release of Sheets
Please address all inquiries to:
What is Sheets?
Sheets is a hypercode programming environment. It supports complex interlinking
and searching of code (for Java in particular) and documentation. For more
high level information, see our brochure.
In addition, if you simply want to peruse the
it is separately linked to our servers over the Internet from this page. A
technical report describes the design principles
and some implementation details.
About this Release
Sheets was developed as part of the Gwydion Project at Carnegie Mellon
University under the sponsorship of the Evolutionary Design of Complex
Software Program (EDCS) at DARPA. Our research contract was supposed to
continue through the summer of 2000, but DARPA decided to reduce and
"re-focus" the EDCS program, and we were among the casualties. The Gwydion
Project is winding down over the next few months and our research group
will be disbanding.
Because of this premature termination, we have decided to release the
current Sheets system, including all documents and source code, as free
public-domain software. Our hope is that others will make use of Sheets
and perhaps will continue the system's development. While we had hoped to
add a number of additional features over the next two years, we believe
that Sheets in its current form is an excellent environment for
evolutionary development of Java software.
Due to the termination of the project, the Gwydion Group will no longer be
performing active maintenance on Sheets. The implementors will continue to
monitor mail to
and will be glad to assist anyone who wishes to make extensions to Sheets.
We welcome comments, and will attempt to rectify any reported bugs, but we can
no longer guarantee immediate response.
This is primarily a Windows/JDK1.1 release. Although Sheets has been seen to
run (to an extent) under Linux or Microsoft SDK for Java, our experience with
the spectrum of Java bugs and implementation idiosyncracies across platform
types has shown that "Write once, run anywhere" is still more of a dream than
a reality. Although it should probably be considered beta-quality software,
it is certainly solid enough for day-to-day use.
Sheets uses several other software packages. These will need to be
downloaded and installed on your machine before you can run Sheets.
Some of them have a few bugs for which we have designed work-arounds. If you
use other versions of these packages rather than the ones we are recommending
and have tested, then Sheets may not work.
After you install the above tools, you should see the
installation guide for information on how to
Sheets should work with earlier JDK 1.1 versions, more or less depending
on what bug it tickles or the release fixes. It can work with JDK 1.2 betas,
but may need to be rebuilt from sources. There are known problems with the
JDK 2 releases too, some of these include:
- Changes to the visibility rules requre ArchivalObject.project,
ArchivalObject.appendNameAndNumber to be changed to "public". (This change
has already been made in the scratch source distribution.)
- Icons don't seem to be loaded quite right, but you'll get something.
- Databases created under JDK1.1.7 will not work with JDK1.2. This means that summaries of the standard java libraries will have to be loaded from
JDK12.sheets. This will require a *lot* of memory, since the libraries are
- Redisplay speed isn't as good as we'd like. This is because JDK1.2 is
frequently 4-15 times slower at drawing than JDK1.1.
A commercial regular expression library in Java written by Steve Brandt and
distributed with his gracious permission for use with Sheets. Alternate
use requires explicit arrangements. See the JavaRegex
Web site for more details about using Pat, its many useful features and
licensing issues. Note that you need not unpack this distribution -- it can be
used directly out of the zip file.
An XML parser written in Java from Microsoft. A newer version (1.9) cannot
handle jdk version numbering properly (because of floating point conversion)
and we have not adapted to a patched version yet. Although version
1.9 conforms to the submitted W3 specification for XML, we have delayed
porting to it. Microsoft has partnered with Datachannel for further development
of this tool, and we hope to adjust to the new API as time permits.
You will likely wish to choose and install a set of pre-built library
plus Swing1.1, or
(Unfortunately, even if you are using the JDK1.2 prototypes, you will
currently still need to run Sheets under JDK1.1.)
A parser generator for and in Java, produced by Sun. This distribution was
created using version 0.8pre2.
Our scripts don't use any special Perl5 features, so any decent port of Perl 4
or 5 should suffice.
Terms of Distribution
The Sheets system was created by the Gwydion project at Carnegie Mellon
University, and has been placed in the public domain by the authors. It
may be used without restriction for any purpose, including commercial use.
We request that anyone making substantial use of this code acknowledge the
original authors. If there are any questions about the use of this code,
please contact Scott E. Fahlman
<firstname.lastname@example.org>, who was the Principal Investigator on the project.