Title :
The Amulet environment: new models for effective user interface software development
Author :
Myers, Brad A. ; McDaniel, Richard G. ; Miller, Robert C. ; Ferrency, Alan S. ; Faulring, Andrew ; Kyle, Bruce D. ; Mickish, Andrew ; Klimovitski, Alex ; Doane, Patrick
Author_Institution :
Sch. of Comput. Sci., Carnegie Mellon Univ., Pittsburgh, PA, USA
fDate :
6/1/1997 12:00:00 AM
Abstract :
The Amulet user interface development environment makes it easier for programmers to create highly interactive, graphical user interface software for Unix, Windows and the Macintosh. Amulet uses new models for objects, constraints, animation, input, output, commands, and undo. The object system is a prototype instance model in which there is no distinction between classes and instances or between methods and data. The constraint system allows any value of any object to be computed by arbitrary code and supports multiple constraint solvers. Animations can be attached to existing objects with a single line of code. Input from the user is handled by “interactor” objects which support reuse of behavior objects. The output model provides a declarative definition of the graphics and supports automatic refresh. Command objects encapsulate all of the information needed about operations, including support for various ways to undo them. A key feature of the Amulet design is that all graphical objects and behaviors of those objects are explicitly represented at run time, so the system can provide a number of high level built-in functions, including automatic display and editing of objects, and external analysis and control of interfaces. Amulet integrates these capabilities in a flexible and effective manner
Keywords :
computer animation; graphical user interfaces; object-oriented programming; programming environments; user interface management systems; Amulet user interface development environment; animation; arbitrary code; automatic display; automatic refresh; behavior object reuse; command objects; constraint system; declarative definition; effective user interface software development; graphical objects; graphical user interface software; interactor objects; multiple constraint solvers; object system; output model; prototype instance model; Animation; Automatic control; Control system analysis; Displays; Graphical user interfaces; Graphics; Programming profession; Prototypes; Software prototyping; User interfaces;
Journal_Title :
Software Engineering, IEEE Transactions on