[comp.newprod] Serpent Alpha Release 0.9

ejh@sei.cmu.edu (Erik Hardy) (10/10/90)

The  Software  Engineering  Institute  announces  the  Serpent  User Interface
Management System, Alpha Release 0.9.  Serpent is available via anonymous  ftp
from  fg.sei.cmu.edu  (128.237.2.163) and can be found in /pub/serpent.  There
is a small README file and a  large  (~2.6  MB)  compressed  tar  file  called
serpent.tar.Z.  See the README file to get started.

Serpent is also available on expo.lcs.mit.edu (18.30.0.212) in /contrib. It is
also called serpent.tar.Z, but the README file is named serpent.README.

Serpent Alpha Release 0.9 represents a significant change over  Alpha  Release
0.8,  in  terms  of  enhanced  capabilities,  the addition of the entire Motif
Widget set, significant performance  improvements,  a  universal  input/output
technology integrator, and the Serpent Editor.  There are also some new Athena
and Motif demonstrations.

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 which allows the interface to be built
using standard type drawing facilities.   The  language  is  very  simple  for
specifying  simple interfaces ("Hello World" under Athena 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 interface 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 Hello World program is:

#include "sat.ill"

|||

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