rcs@SEI.CMU.EDU (rCs) (10/03/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 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"; } The Serpent editor supports the development and maintainence of both the presentation and interactive portions of the user interface for both the Athena and Motif toolkits. It includes a structure editor that supports the specification of Slang dialogues and a wysiwyg tool that supports the graphic layout of a subset of Athenas widgets. I would tell you more except they are getting ready to take my machine down for overnight backups. The following people contributed to the development of Serpent: Len Bass Nancy Brenner Mary Beth Chrissis Steve Chou Brian Clapper Chris Cook Marianne Deacon Erik Hardy Rick Kazman Dan Klein Reed Little Tim McMahon Roger Moos Marc Pottier Robert Seacord