Cooperative multitasking in C++
Dr. Dobb's Journal
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Iteration abstraction in Sather
ACM Transactions on Programming Languages and Systems (TOPLAS)
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
The Java Programming Language
Cooperative Task Management Without Manual Stack Management
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making events less slippery with eel
HOTOS'05 Proceedings of the 10th conference on Hot Topics in Operating Systems - Volume 10
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
An Extensible State Machine Pattern for Interactive Applications
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Scala Actors: Unifying thread-based and event-based programming
Theoretical Computer Science
Context-oriented programming with EventJava
International Workshop on Context-Oriented Programming
EventJava: An Extension of Java for Event Correlation
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Actors that unify threads and events
COORDINATION'07 Proceedings of the 9th international conference on Coordination models and languages
Loosely-coupled distributed reactive programming in mobile ad hoc networks
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
Program analysis for event-based distributed systems
Proceedings of the 5th ACM international conference on Distributed event-based system
Event-Based programming without inversion of control
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
A hybrid visual dataflow language for coordination in mobile ad hoc networks
COORDINATION'10 Proceedings of the 12th international conference on Coordination Models and Languages
Matching objects with patterns
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
NOW: Orchestrating services in a nomadic network using a dedicated workflow language
Science of Computer Programming
Hi-index | 0.00 |
A variety of application domains are interactive in nature: a primary task involves responding to external actions. In this paper, we introduce explicit programming language support for interactive programming, via the concept of a responder. Responders include a novel control construct that allows the interactive logic of an application to be naturally and modularly expressed. In contrast, the standard approaches to interactive programming, based on the event-driven style or the state design pattern, fragment this logic across multiple handlers or classes, with the control flow among fragments expressed only indirectly. We describe ResponderJ, an extension to Java supporting responders. A responder is simply a class with additional abilities, and these abilities interact naturally with the existing features of classes, including inheritance. We have implemented ResponderJ as an extension to the Polyglot compiler for Java. We illustrate ResponderJ's utility in practice through two case studies: the implementation of a GUI supporting drag-and-drop functionality, and a re-implementation of the control logic of JDOM, a Java library for parsing and manipulating XML files.