Go to the FILE SPECS
section of this Card Catalog Entry to
find out where the associated directories and files are. If they
are on this Website, you can transfer to them by clicking on the
indicated hyperlinks. Note: the FILE SPECS hyperlink in this bullet
will take you directly to the FILE SPECS section.

Use the FIND command of your browser to search this
Card Catalog Entry.

Chiron User Interface Development System

FILE LISTING

ABSTRACT

Chiron User Interface Development System

The Chiron system provides tools for assisting in the development
of graphical user interfaces and provides a run-time system for managing
and supporting their dynamic behavior.

The objective of the Chiron system is to reduce long-term costs
associated with developing and maintaining graphical user interface
(GUI) software. It achieves this objective by providing key interface
layers which are resilient to change. In particular, Chiron strongly
separates an application from its user interface code, as well as
separating the user interface code from the underlying toolkit
substrates. Chiron supports the construction of GUIs which provide
multiple coordinated views of application objects and allows flexible
restructuring of the configuration of those views. Chiron supports a
concurrent model of control. While the Chiron architecture supports
heterogeneous, multi-lingual systems, the development tools which are
part of this release only support clients (applications) written in Ada.

Chiron is a distributed system. The Chiron server and clients run
in separate Unix processes. Within a client, artists are active
interface agents that are bound to one or more objects. They encapsulate
decisions about how objects should be depicted (presentations) as well
as how they behave dynamically (dialogs). Multiple artists can be bound
to a single object, providing coordinated multiple views of that object.
A Chiron client is made up of application code, a set of artists, and
client support code. The client support code implements initialization,
event detection and routing, and communication with the server. Client
support code is automatically generated by client building tools.

Chiron leverages from commercial GUI layout tools. Specifically,
Chiron can be used with Sun Microsystem's DevGuide tool to create
artists. For those aspects of GUIs which DevGuide is incapable of
supporting (e.g. drawing on a canvas), DevGuide and Chiron tools can be
used to create an artist template into which the additional graphical
aspects can be added programmatically.

The Chiron server manages all aspects of the user interface that
are not artist or application specific. It can be thought of as a
virtual machine providing a high-level graphical "toolkit" interface to
artists by means of an Abstract Depiction Hierarchy (ADH). The server
receives ADH instructions from the artists and uses them to create and
manipulate an internal abstract representation of the graphical
interface. The representation is rendered to a concrete depiction (a
user viewable image) via calls to the underlying window system. The
server also listens for events from the window system (button push, menu
selection, etc) and translates them to Chiron events before shipping
them back to the appropriate client. The Chiron server provides
flexibility in terms of windowing systems and toolkits, application
languages, and process inter-connection topology. Although we currently
only provide support for Ada clients, it is feasible to provide other
language-specific interfaces to the server's ADH.

The Chiron model is highly concurrent. Most components maintain
their own, and possibly multiple, threads of control. Thus, unlike most
user interface architectures, Chiron avoids imposing sequential control
upon applications, allowing the application, the user interface, and the
server, to run in parallel.

Chiron 1.4 requires the X Window System, version 11 revision level
5, on a Sun 4 color or monochrome workstation. Chiron has been
developed using the SunAda compiler version 1.1 and the gcc compiler
v2.4.5.

Chiron makes use of XView version 3.0 and Motif version 1.2 to
build the XView and Motif versions of the Chiron server. You will need
at least one of these toolkits.

Chiron also requires Q v3.2, an Ada-C interprocess
communication support utility and Arpc v402.3, an
extension to Sun RPC/XDR 4.0, both developed by the Department of
Computer Science, University of Colorado, Boulder. You must install
Arpc and Q before installing Chiron.

REVISION HISTORY

RELEASE NOTICE

This prologue must be included in all copies of this software.
Restrictions on use or distribution: NONE

DISCLAIMER

This software and its documentation are provided "AS IS" and
without any expressed or implied warranties whatsoever. No warranties
as to performance, merchantability, or fitness for a particular
purpose exist.
The user is advised to test the software thoroughly before
relying on it. The user must assume the entire risk and liability of
using this software. In no event shall any person or organization of
people be held responsible for any direct, indirect, consequential or
inconsequential damages or lost profits.