Doctoral Dissertations

Date of Award

8-1994

Degree Type

Dissertation

Degree Name

Doctor of Philosophy

Major

Computer Science

Major Professor

Bradley Vander Zanden

Committee Members

Heather Booth, Wayne Claycombe, Bruce MacLennan, Michael Thomason

Abstract

Writing interactive graphical user interfaces has traditionally been a very time con-suming and difficult process. To speed up the development process, many modern user interface development environments are using constraints to specify the graphical layout and behavior of objects. Constraints are relationships between objects that are defined once and then automatically maintained by the system. Most graphical user interface toolkits support single-output, one-way constraints. We have investigated how multi-output constraints, structural constraints, and multi-way con-straints can be used to enhance the power and flexibility of the spreadsheet programming paradigm. These new constraints increase efficiency, allow more powerful relationships to be expressed, and facilitate maintaining consistency between data structures. Multi-output constraints can result in greater efficiency by allowing the reuse of compu-tations and reducing the number of formula objects maintained by the system. Structural constraints allow the user to define relationships between the structure of objects. These constraints make it possible for a constraint to add, delete, or modify a structure. The ability to define structural relationships and have a constraint solver automatically modify objects to maintain these relationships can lead to a further reduction in the effort required to construct a graphical interface. Multi-way constraints allow any of the objects in the con-straint to be changed in order for it to be satisfied. These constraints can greatly simplify maintaining consistency between application data and its display, and maintaining consi-tency between multiple views, because they allow information to flow both ways through a constraint. Finally, as a test of our extensions to the spreadsheet programming model, we have developed and implemented an object-oriented toolkit for creating highly interactive, di-rect manipulation, 3-dimensional user interfaces. This toolkit is an important contribution in itself for it incorporates many new features. The toolkit is divided into two layers: a programming layer and a direct manipulation layer. The programming layer supports struc-tured graphics, constraints, a high-level event handling model, and a hierarchical facility for building objects from subparts. The direct manipulation layer allows the user to in-teractively create and directly apply transformations to 3D objects, construct polyhedron objects, change the viewing parameters for drawing 3D objects, and build structured graph-ics. The toolkit has experimentally been used in a graphics course and has substantially reduced the amount of time required to create applications involving the direct manipulation of 3D objects.

Files over 3MB may be slow to open. For best results, right-click and select "save as..."

Share

COinS