Sciweavers

PEPM
2007
ACM

Tasks: language support for event-driven programming

13 years 9 months ago
Tasks: language support for event-driven programming
The event-driven programming style is pervasive as an efficient method for interacting with the environment. Unfortunately, the event-driven style severely complicates program maintenance and understanding, as it requires each logical flow of control to be fragmented across multiple independent callbacks. We propose tasks as a new programming model for organizing event-driven programs. Tasks are a variant of cooperative multi-threading and allow each logical control flow to be modularized in the traditional manner, including usage of standard control mechanisms like procedures and exceptions. At the same time, by using method annotations, task-based programs can be automatically and modularly translated into efficient event-based code, using a form of continuation passing style (CPS) translation. A linkable scheduler architecture permits tasks to be used in many different contexts. We have instantiated our model as a backward-compatible extension to Java, called TaskJava. We illustr...
Jeffrey Fischer, Rupak Majumdar, Todd D. Millstein
Added 09 Jun 2010
Updated 09 Jun 2010
Type Conference
Year 2007
Where PEPM
Authors Jeffrey Fischer, Rupak Majumdar, Todd D. Millstein
Comments (0)