93 research outputs found

    A Functional Implementation of a Multiway Dataflow Constraint System Library

    Get PDF
    Masteroppgave i Programvareutvikling samarbeid med HVLPROG399MAMN-PRO

    Guaranteeing Responsiveness and Consistency in Dynamic, Asynchronous Graphical User Interfaces

    Get PDF
    This 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

    Declaratively Programming the Dynamic Structure of Graphical User Interfaces

    Get PDF
    Structures are everywhere around us - from chemical formulas to biological systems or musical works. In this thesis, we focus on composite structures that appear in graphical user interfaces (GUI), such as lists, tables, or tabs. GUIs often support changes to these structures - be it rearranging elements or appending new ones - in order to facilitate a more productive interaction between the user and the software system. In general, making structural changes that involve GUI components is non-trivial: because the program state is stored and represented both in an object model and view widgets, structural changes to either representation should be reflected in the other. Furthermore, components in GUIs can be connected, and these connections must be updated whenever the structure of the components change. Ultimately, the intent of the operation, a structural change, is lost in the clutter of imperative statements that update the view, model, and connections between the components. In this thesis, we define a framework that lets programmers specify possible structural changes in programs declaratively. We show how programmers can put these declarative specifications to use in JavaScript applications using a custom DSL we have implemented for the framework. To test our framework and demonstrate the clarity that it can bring to managing the dynamic structure of GUIs, we implemented an event scheduling application based on a library for defining and solving multi-way dataflow constraint systems in GUIs. The application has a sequence of timed events, and each event has a start time, duration, and end time. Whenever the user updates an event's duration, the start and end time of all the events are updated accordingly. The application supports structural changes, such as adding, removing, and reordering of events. We explain how components in these GUIs are connected and how we utilize our framework to correctly update the connections whenever structural changes are made.Masteroppgave i informatikkINF399MAMN-PROGMAMN-IN

    Programming Web Applications Declaratively A Qualitative Study

    Get PDF
    In the declarative programming approach of property models, a dataflow constraint system manages the behavior of a user interface. The dataflow constraint system captures the user-interface logic as a set of variables and dependencies between those variables. This thesis builds on the prior work that realizes the property models approach as a concrete library for web development called HotDrink. This thesis evaluates the effectiveness of the declarative programming approach of property models, describes the experience of implementing a medium-size web application following the approach, and compares property models with existing web frameworks. A particular focus is on how programming with property models helps programmers to avoid defects related to asynchronous execution of responses to user events

    Generating Circuit Tests by Exploiting Designed Behavior

    Get PDF
    This thesis describes two programs for generating tests for digital circuits that exploit several kinds of expert knowledge not used by previous approaches. First, many test generation problems can be solved efficiently using operation relations, a novel representation of circuit behavior that connects internal component operations with directly executable circuit operations. Operation relations can be computed efficiently by searching traces of simulated circuit behavior. Second, experts write test programs rather than test vectors because programs are more readable and compact. Test programs can be constructed automatically by merging program fragments using expert-supplied goal-refinement rules and domain-independent planning techniques

    NASA space station automation: AI-based technology review

    Get PDF
    Research and Development projects in automation for the Space Station are discussed. Artificial Intelligence (AI) based automation technologies are planned to enhance crew safety through reduced need for EVA, increase crew productivity through the reduction of routine operations, increase space station autonomy, and augment space station capability through the use of teleoperation and robotics. AI technology will also be developed for the servicing of satellites at the Space Station, system monitoring and diagnosis, space manufacturing, and the assembly of large space structures

    Programming with agents new metaphors for thinking about computation

    Get PDF
    Thesis (M.S.)--Massachusetts Institute of Technology, Program in Media Arts & Sciences, 1996.Includes bibliographical references (p. [197]-206).by Michael David Travers.M.S

    Geographic Information Systems and Science

    Get PDF
    Geographic information science (GISc) has established itself as a collaborative information-processing scheme that is increasing in popularity. Yet, this interdisciplinary and/or transdisciplinary system is still somewhat misunderstood. This book talks about some of the GISc domains encompassing students, researchers, and common users. Chapters focus on important aspects of GISc, keeping in mind the processing capability of GIS along with the mathematics and formulae involved in getting each solution. The book has one introductory and eight main chapters divided into five sections. The first section is more general and focuses on what GISc is and its relation to GIS and Geography, the second is about location analytics and modeling, the third on remote sensing data analysis, the fourth on big data and augmented reality, and, finally, the fifth looks over volunteered geographic information.info:eu-repo/semantics/publishedVersio
    • …
    corecore