SMALLTALK-80: the interactive programming environment
SMALLTALK-80: the interactive programming environment
The stream machine: a data flow architecture for real-time applications
ICSE '85 Proceedings of the 8th international conference on Software engineering
There's more to menu systems than meets the screen
SIGGRAPH '85 Proceedings of the 12th annual conference on Computer graphics and interactive techniques
Design principles for human-computer interfaces
CHI '83 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Guidon-Watch: A Graphic Interface for Viewing a Knowledge-Based System
IEEE Computer Graphics and Applications
An object-oriented approach to graphical interfaces
ACM Transactions on Graphics (TOG)
An object-oriented framework for interactive data graphics
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Artificial intelligence and software engineering
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Design of Knowledge-Based Systems with a Knowledge-Based Assistant
IEEE Transactions on Software Engineering - Special Issue on Artificial Intelligence in Software Applications
GraphTrace—understanding object-oriented systems using concurrently animated views
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
EDGE - a graph based tool for specifying interaction
UIST '88 Proceedings of the 1st annual ACM SIGGRAPH symposium on User Interface Software
An Object-Oriented Approach to the Solid Modeling of Empirical Data
IEEE Computer Graphics and Applications
The Filter Browser Defining Interfaces Graphically
ECOOP '87 Proceedings of the European Conference on Object-Oriented Programming
ACM SIGPLAN Lisp Pointers
Hi-index | 0.02 |
Impulse-86 provides a general and extensible substrate upon which to construct a wide variety of interactive user interfaces for developing, maintaining, and using knowledge-based systems. The system is based on five major building blocks: Editor, Editor Window, PropertyDisplay, Menu, and Operations. These building blocks are interconnected via a uniform framework and each has a well-defined set of responsibilities in an interface.Customized interfaces can be designed by declaratively replacing some of the building blocks in existing Impulse-86 templates. Customization may involve a wide range of activities, ranging from simple override of default values or methods that control primitive operations (e.g., font selection), to override of more central Impulse-86 methods (e.g., template instantiation). Most customized interfaces require some code to be written—to handle domain-specific commands. However, in all cases, the Impulse-86 substrate provides considerable leverage by taking care of the low-level details of screen, mouse, and keyboard manipulation.Impulse-86 is implemented in Strobe, a language that provides object-oriented programming support for Lisp. This simplifies customization and extension.