becker@ernie.Berkeley.EDU (Beverly Sobelman Becker) (09/19/89)
I'm working on a project for a graduate course on the design of programming languages, and, since user interface design is one of my primary interests, I've chosen to explore the use of languages for describing user-system interaction. I've found references to work using state-transition diagrams and BNF grammars, and am interested in those and any other language-oriented approaches that have been pursued (i.e, something other than a toolkit/subroutine library approach). Any pointers would be much appreciated; I would be happy to summarize if there is interest in either newsgroup (comp.lang.misc or comp.cog-eng). Thanks very much, Beverly Becker becker@ernie.berkeley.edu [formerly bhs@mbunix.mitre.org]
weh@sei.cmu.edu (Bill Hefley) (09/20/89)
In article <31384@ucbvax.BERKELEY.EDU> becker@ernie.Berkeley.EDU ( Beverly H. Sobelman Becker) writes: >I'm ... explor[ing] the use of languages for >describing user-system interaction. You might want to explore the Serpent User Interface Management System that has been developed by some of my colleagues here at the SEI. Len Bass (ljb@sei.cmu.edu) headed up the development team. From the Introduction to the Serpent SLANG Reference Manual: "Serpent is a User Interface Management System (UIMS) that supports the development and execution of the user interface of a software system. Serpent supports the incremental development of the user interface from the prototyping phase through production and maintenance. Serpent encourages a separation of functionality between the user interface portion of an application and its functional portion. Serpent is also easily extended to support additional input/output technologies. This Slang Reference Manual describes the model, syntax and semantics of the Slang dialog language. Slang is the language within Serpent used for the specification of user interfaces." I believe that Serpent is available for Ultrix Vaxen and Suns using X11 in a beta release version. Serpent is implemented as three seperate parts: the application (which can be written in C or in Ada), the dialogue (which must be written in the user interface language called Slang), and the presentation, which is essentially a binding between Serpent and whatever technology you want, in this case the X Toolkit with the Athena widgets. Bill Hefley weh@sei.cmu.edu