Show simple item record

dc.contributor.advisorJärvi, Jaakko
dc.creatorFoust, Charles Gabriel
dc.date.accessioned2016-07-08T15:06:17Z
dc.date.available2016-07-08T15:06:17Z
dc.date.created2016-05
dc.date.issued2016-01-25
dc.date.submittedMay 2016
dc.identifier.urihttps://hdl.handle.net/1969.1/156821
dc.description.abstractThis dissertation proposes a programming model for Graphical User Interfaces (GUIs) that relieves the programmer of a difficult and error-prone task: orchestrating concurrent responses to events to ensure data dependencies are always enforced correctly. In this programming model, rather than defining program responses to events, the programmer defines the data dependencies that exist in the GUI and the methods by which those dependencies may be enforced – a run-time system uses this specification to generate responses to events. The approach gives the following guarantee: the same sequence of events produces the same results, regardless of the timing of those events. The dissertation demonstrates the benefits of the proposed programming model with implementations of several example user interfaces. At the core of this programming model is a data structure known as a property model. A property model composes responses to individual events into a single reactive program that runs asynchronously. The program's results are used to update the GUI. The program is constructed in a manner that respects all data dependencies, thereby guaranteeing that results are consistent regardless of the length of time taken by individual responses. The core reactive program may be extended with features that support additional functionality, such as access to prior variable values, optional data dependencies, and identifying unused variables. The dissertation defines the semantics of the construction and execution of this reactive program formally. The dissertation shows how property models may be defined as a composition of reusable components. This is essential for modeling GUIs whose structures change in response to user events by the addition or removal of components. Components can contain data and dependencies as well as templates that describe how dependencies arise from composition with other components. Furthermore, templates can be written for arrays of components to define dependencies that arise among them. One key task of the property model is planning by which methods dependencies will be enforced. The dissertation describes how a specialized planner can be constructed that is able to create a plan for a specific property model. This specialized planner is essentially a Deterministic Finite-state Automaton (DFA), and can be orders of magnitude faster than a general-purpose planner.en
dc.format.mimetypeapplication/pdf
dc.language.isoen
dc.subjectgraphical user interfacesen
dc.subjectasynchronous programmingen
dc.subjectreactive programmingen
dc.subjectdataflow constraint systemsen
dc.titleGuaranteeing Responsiveness and Consistency in Dynamic, Asynchronous Graphical User Interfacesen
dc.typeThesisen
thesis.degree.departmentComputer Science and Engineeringen
thesis.degree.disciplineComputer Scienceen
thesis.degree.grantorTexas A & M Universityen
thesis.degree.nameDoctor of Philosophyen
thesis.degree.levelDoctoralen
dc.contributor.committeeMemberDos Reis, Gabriel
dc.contributor.committeeMemberGratz, Paul
dc.contributor.committeeMemberShipman, Frank
dc.type.materialtexten
dc.date.updated2016-07-08T15:06:17Z
local.etdauthor.orcid0000-0002-4574-4666


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record