[comp.software-eng] Serpent Alpha Release 0.7

ejh@sei.cmu.edu (Erik Hardy) (11/24/89)

The Software Engineering Institute announces the Serpent User Interface
Management System, Alpha Release 0.7.  Serpent is available via anonymous ftp
from expo.lcs.mit.edu (18.30.0.212) and can be found in
contrib/serpent.tar.Z. The compressed tar file takes up about 1.54 MB.

Serpent Alpha Release 0.7 represents a significant change over Alpha
Release 0.6, in terms of directory structure, file names, and usage.
There are new functions/capabilities, and some new demonstrations. See
notes/README for more information and to get started.

Serpent represents a new generation of User Interface Management Systems
which manage the total dynamic behavior of an interface and which allow
applications to remain uninvolved with the details of the user interface.

Serpent is a UIMS which is designed to manage the specification and dynamic
behavior of (relatively) arbitrary toolkits.  It provides for a fixed
application programmer interface across changes in toolkits.  This allows an
application to evolve from one toolkit to another, and Serpent manages all
of the interactions between the toolkits.

There is a language which is used to describe the user interface and its
dynamic behavior.  There is an editor (under construction) which will allow
the interface to be built using standard type drawing facilities.   Only the
language and its supporting software is being released at this time.  The
language is very simple for specifying simple interfaces ("Hello World" is
reproduced in its entirety following the text) and is powerful enough to
provide for drawing and visual programming demonstrations (both are
included in the released software).

Serpent is intended to be used either with an application (in a production
environment) or without an application (in a prototyping environment).
There is an interface description language used both by the application to
describe its interface to Serpent and by the toolkits to describe their
interfaces to Serpent.   Applications and toolkits written in either C or Ada
can be used with Serpent, although the interface description mechanism is
designed to be extensible to other languages.

The use of Serpent depends upon the types of toolkits which have been
integrated into it.  The released version of Serpent is based on the Athena
Widget Set under the X Toolkit.  The usage of the toolkit includes moving and
resizing capability for widgets and point specification capabilities for form
widgets (to allow pointing for the positioning of new widgets).

The Hello World program is:

#include "saw.ill"

|||

OBJECTS:

   hello: label_widget
      {ATTRIBUTES:
        label_text: "Hello world";
        }