The C programming language
Communicating sequential processes
Communications of the ACM
A Calculus of Communicating Systems
A Calculus of Communicating Systems
The ESTEREL Synchronous Programming Language and its Mathematical Semantics
Seminar on Concurrency, Carnegie-Mellon University
Four combinators for concurrency
PODC '82 Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Graphical input interaction technique (GIIT)
ACM SIGGRAPH Computer Graphics
Creating highly-interactive and graphical user interfaces by demonstration
SIGGRAPH '86 Proceedings of the 13th annual conference on Computer graphics and interactive techniques
ACM Transactions on Graphics (TOG)
A survey of three dialogue models
ACM Transactions on Graphics (TOG)
Dialogue management for gestural interfaces
ACM SIGGRAPH Computer Graphics
Bibliography of software tools for user interface development
ACM SIGGRAPH Computer Graphics
A specification language for direct-manipulation user interfaces
ACM Transactions on Graphics (TOG) - Special issue on user interface software
Experience with Flamingo: a distributed, object-oriented user interface system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Abstract interaction tools: a language for user interface management systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Extensions to C for interface programming
UIST '88 Proceedings of the 1st annual ACM SIGGRAPH symposium on User Interface Software
XY-WINS: an integraded environment for developing graphical user interfaces
UIST '88 Proceedings of the 1st annual ACM SIGGRAPH symposium on User Interface Software
Building user interfaces by direct manipulation
UIST '88 Proceedings of the 1st annual ACM SIGGRAPH symposium on User Interface Software
Task-oriented representation of asynchronous user interfaces
CHI '89 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Encapsulating interactive behaviors
CHI '89 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
An annotated bibliography on user interface design
ACM SIGCHI Bulletin
Reasoning About Time in Higher-Level Language Software
IEEE Transactions on Software Engineering
Creating user interfaces using programming by example, visual programming, and constraints
ACM Transactions on Programming Languages and Systems (TOPLAS)
The UAN: a user-oriented representation for direct manipulation interface designs
ACM Transactions on Information Systems (TOIS)
A new model for handling input
ACM Transactions on Information Systems (TOIS)
Visual programming: perspectives and approaches
IBM Systems Journal
CML: A higher concurrent language
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Communicating Real-Time State Machines
IEEE Transactions on Software Engineering - Special issue: specification and analysis of real-time systems
ACM Transactions on Computer-Human Interaction (TOCHI)
An approach to support automatic generation of user interfaces
ACM Transactions on Programming Languages and Systems (TOPLAS)
Synchronization transformations for parallel computing
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Specifying complex dialogs in ALGAE
CHI '87 Proceedings of the SIGCHI/GI Conference on Human Factors in Computing Systems and Graphics Interface
Creating dynamic interaction techniques by demonstration
CHI '87 Proceedings of the SIGCHI/GI Conference on Human Factors in Computing Systems and Graphics Interface
Visual programming: perspectives and approaches
IBM Systems Journal
Declarative event-oriented programming
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
ConMan: a visual programming language for interactive graphics
SIGGRAPH '88 Proceedings of the 15th annual conference on Computer graphics and interactive techniques
ESP: a language for programmable devices
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
User-Interface Tools: Introduction and Survey
IEEE Software
Software Environment Architectures and User Interface Facilities
IEEE Transactions on Software Engineering
Integrated Environments for Formally Well-Founded Design and Simulation of Concurrent Systems
IEEE Transactions on Software Engineering
Tutorial: Compiling concurrent languages for sequential processors
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Fast Paths in Concurrent Programs
Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques
Efficient code generation from SHIM models
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
Lightweight languages as software engineering tools
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Temporal aspects of tasks in the user action notation
Human-Computer Interaction
ACM Transactions on Computer-Human Interaction (TOCHI)
Formal description of multi-touch interactions
Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems
Hi-index | 0.00 |
Graphical user interfaces are difficult to implement because of the essential concurrency among multiple interaction devices, such as mice, buttons, and keyboards. Squeak is a user interface implementation language that exploits this concurrency rather than hiding it, helping the programmer to express interactions using multiple devices. We present the motivation, design and semantics of squeak. The language is based on concurrent programming constructs but can be compiled into a conventional sequential language; our implementation generates C code. We discuss how squeak programs can be integrated into a graphics system written in a conventional language to implement large but regular user interfaces, and close with a description of the formal semantics.