Generating Reactive Programs for Graphical User Interfaces from Multi-way Dataflow Constraint Systems
For a GUI to remain responsive, it must be able to schedule lengthy tasks to be executed asynchronously. In the traditional approach to GUI implementation–writing functions to handle individual user events–asynchronous programming easily leads to defects. Ensuring that all data dependencies are respected is difficult when new events arrive while prior events are still being handled. Reactive programming techniques, gaining popularity in GUI programming, help since they make data dependencies explicit and enforce them automatically as variables’ values change. However, data dependencies in GUIs usually change along with its state. Reactive programming must therefore describe a GUI as a collection of many reactive programs, whose interaction the programmer must explicitly coordinate. This paper presents a declarative approach for GUI programming in which the programmer is relieved from coordinating asynchronous computations. The approach is based on our prior work on “property models”, where GUI state is maintained by a dataflow constraint system. A property model responds to user events by atomically constructing new data dependencies and scheduling asynchronous computations to enforce those dependencies. In essence, a property model dynamically generates a reactive program, adding to it as new events occur. The approach gives the following guarantee: the same sequence of events produces the same result, regardless of the timing of those events.
Tue 27 OctDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 15:00 | |||
13:30 30mTalk | Generating Reactive Programs for Graphical User Interfaces from Multi-way Dataflow Constraint Systems GPCE Gabriel Foust Texas A & M University, Jaakko Järvi Texas A&M University, Sean Parent Adobe Systems, Inc. | ||
14:00 30mTalk | POP-PL: A Patient-Oriented Prescription Programming Language GPCE Spencer P. Florence Northwestern University, Burke Fetscher Northwestern University, Matthew Flatt University of Utah, William H Temps Northwestern University Feinberg School of Medicine, Departmentof Dermatology, Tina Kiguradze Northwestern University Feinberg School of Medicine, Departmentof Dermatology, Dennis P. West Northwestern University Feinberg School of Medicine, Departmentof Dermatology, Charlotte Niznik Northwestern University Feinberg School of Medicine, Departmentof Dermatology, Paul R. Yarnold Optimal Data Analysis LLC, Robert Bruce Findler Northwestern University, Steven M. Belknap Northwestern University Feinberg School of Medicine, Departmentof Dermatology | ||
14:30 30mTalk | Lightweight, Generative Variant Exploration for High-Performance Graphics Applications GPCE Kai Selgrad Friedrich-Alexander-Universität Erlangen-Nürnberg, Alexander Lier Friedrich-Alexander-Universität Erlangen-Nürnberg, Franz Köferl Friedrich-Alexander-Universität Erlangen-Nürnberg, Marc Stamminger Friedrich-Alexander-Universität Erlangen-Nürnberg, Daniel Lohmann Friedrich-Alexander University of Erlangen-Nürnberg |