9 research outputs found

    Containers and Aggregates, Mutators and Isolates for Reactive Programming

    Get PDF
    Many programs have an inherently reactive nature imposed by the functional dependencies between their data and external events. Classically, these dependencies are dealt with using callbacks. Reactive programming with first-class reactive values is a paradigm that aims to encode callback logic in declarative statements. Reactive values concisely define dependencies between singular data elements, but cannot efficiently express dependencies in larger datasets. Orthogonally, embedding reactive values in a shared-memory concurrency model convolutes their semantics and requires synchronization. This paper presents a generic framework for reactive programming that extends first-class reactive values with the concept of lazy reactive containers, backed by several concrete implementations. Our framework addresses concurrency by introducing reactive isolates. We show examples that our programming model is efficient and convenient to use

    Isolates, channels, and event streams for composable distributed programming

    Get PDF
    The actor model has been a model of choice for building reliable distributed systems. On one hand, it ensures that message-processing is serialized within each actor, preserving the familiar sequential programming model. On the other hand, programs written in the actor model are location-transparent. The model is sufficiently low-level to express arbitrary message protocols. Composing these protocols is the key to high-level abstractions. Unfortunately, it is difficult to reuse or compose message protocols with actors. Reactive isolates, proposed in this paper, simplify protocol composition with first-class typed channels and event streams. We compare reactive isolates and the actor model on concrete programs. We identify obstacles for composition in the classic actor model, and show how to overcome them. We then show how to build reusable, composable distributed computing components in the new model

    Concurrency and Distribution in Reactive Programming

    Get PDF
    Distributed Reactive Programming is a paradigm for implementing distributed interactive applications modularly and declaratively. Applications are defined as dynamic distributed dataflow graphs of reactive computations that depend upon each other, similar to formulae in spreadsheets. A runtime library propagates input changes through the dataflow graph, recomputing the results of affected dependent computations while adapting the dataflow graph topology to changing dependency relations on the fly. Reactive Programming has been shown to improve code quality, program comprehension and maintainability over modular interactive application designs based on callbacks. Part of what makes Reactive Programming easy to use is its synchronous change propagation semantics: Changes are propagated such that no computation can ever observe an only partially updated state of the dataflow graph, i.e., each input change together with all dependent recomputations appears to be instantaneous. Traditionally, in local single-threaded applications, synchronous semantics are achieved through glitch freedom consistency: a recomputation may be executed only after all its dependencies have been recomputed. In distributed applications though, this established approach breaks in two ways. First, glitch freedom implies synchronous semantics only if change propagations execute in isolation. Distributed applications are inherently exposed to concurrency in that multiple threads may propagate different changes concurrently. Ensuring isolation between concurrent change propagations requires the integration of additional algorithms for concurrency control. Second, applications’ dataflow graphs are spread across multiple hosts. Therefore, distributed reactive programming requires algorithms for both glitch freedom and concurrency control that are decentralized, i.e., function without access to shared memory. A comprehensive survey of related prior works shows, that none have managed to solve this issue so far. This dissertation introduces FrameSweep, the first algorithm to provide synchronous propagation semantics for concurrent change propagation over dynamic distributed dataflow graphs. FrameSweep provides isolation and glitch freedom through a combination of fine-grained concurrency control algorithms for linearizability and serializability from databases with several aspects of change propagation algorithms from Reactive Programming and Automatic Incrementalization. The correctness of FrameSweep is formally proven through the application of multiversion concurrency control theory. FrameSweep decentralizes all its algorithmic components, and can therefore be integrated into any reactive programming library in a syntactically transparent manner: Applications can continue to use the same syntax for Reactive Programming as before, without requiring any adaptations of their code. FrameSweep therefore provides the exact same semantics as traditional local single-threaded Reactive Programming through the exact same syntax. As a result, FrameSweep proves by example that interactive applications can reap all benefits of Reactive Programming even if they are concurrent or distributed. A comprehensive empirical evaluation measures through benchmarks, how FrameSweep’s performance and scalability are affected by a multitude of factors, e.g., thread contention, dataflow topology, dataflow topology changes, or distribution topology. It shows that FrameSweep’s performance compares favorably to alternative scheduling approaches with weaker guarantees in local applications. An existing Reactive Programming application is migrated to FrameSweep to empirically verify the claims of semantic and syntactic transparency

    Feeling the Heat: Investigating the dual assault of Zymoseptoria tritici and Heat Stress on Wheat (Triticum aestivum)

    Get PDF
    As a result of climate change, field conditions are increasingly challenging for crops. Research has shown how elevated temperatures affect crop performance, yet the impact of temperature on host-pathogen relationships remains unknown. Understanding the effects of combined abiotic and biotic stresses on crop plants and the plant-microbial interaction is crucial in developing strategies to improve crop stress tolerance and manage diseases effectively. Lipids sense, signal, and mitigate temperature elevation effects, and lipid remodelling plays a key role in the plant and fungal response to heat stress. Our study uses a systems approach to examine the Z. tritici wheat model system, combining transcriptomics, lipidomics, and phenotyping to decipher the impact of high-temperature stress on the plant-pathogen interaction. Microscopy in vivo and RNA-Seq analyses confirmed that Z. tritici responds to high-temperature treatments with morphological and transcriptomic changes. Temperature-related configuration of the transcriptome was associated with the accessory chromosomes and expression of ‘accessory’ pan-genome-derived genes. Metabolism-related gene expression predominated, indicated by GO enrichment and analysis of KOG classes, and large-scale lipid remodelling was likely given the proportion of lipid transport and metabolism-related expression changes in response to temperature. Changes in lipid content and composition were then validated by LC-MS analysis. Heat-responsive fungal genes and pathways, including scramblase family genes, are being tested by reverse genetics to ascertain their importance for fungal adaption to elevated temperatures. Elevated temperature schemes were applied to wheat to study the impact of combined stress on the plant-pathogen interaction, based on long-term climate data from Rothamsted Research, using transcriptomic, lipidomic and phenotypic analyses. Comparing non-infected and infected wheat plants under typical and elevated temperatures. Our initial analysis of the transcriptomic data indicates a delay in the development of Z. tritici, followed by its adaptation to the warmer environment. Once the infection was established, the fungus exhibited resilience to the impact of higher external temperatures. Our results indicate that temperature elevations associated with climate change directly impact plant-pathogen interactions. Furthermore, the study demonstrates a need for further detailed understanding to sustain crop resilience

    27th Fungal Genetics Conference

    Get PDF
    Program and abstracts from the 27th Fungal Genetics Conference Asilomar, March 12-17, 2013

    27th Fungal Genetics Conference

    Get PDF
    Program and abstracts from the 27th Fungal Genetics Conference Asilomar, March 12-17, 2013

    Choreographing the extended agent : performance graphics for dance theater

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, School of Architecture and Planning, Program in Media Arts and Sciences, 2005.Includes bibliographical references (v. 2, leaves 448-458).The marriage of dance and interactive image has been a persistent dream over the past decades, but reality has fallen far short of potential for both technical and conceptual reasons. This thesis proposes a new approach to the problem and lays out the theoretical, technical and aesthetic framework for the innovative art form of digitally augmented human movement. I will use as example works a series of installations, digital projections and compositions each of which contains a choreographic component - either through collaboration with a choreographer directly or by the creation of artworks that automatically organize and understand purely virtual movement. These works lead up to two unprecedented collaborations with two of the greatest choreographers working today; new pieces that combine dance and interactive projected light using real-time motion capture live on stage. The existing field of"dance technology" is one with many problems. This is a domain with many practitioners, few techniques and almost no theory; a field that is generating "experimental" productions with every passing week, has literally hundreds of citable pieces and no canonical works; a field that is oddly disconnected from modern dance's history, pulled between the practical realities of the body and those of computer art, and has no influence on the prevailing digital art paradigms that it consumes.(cont.) This thesis will seek to address each of these problems: by providing techniques and a basis for "practical theory"; by building artworks with resources and people that have never previously been brought together, in theaters and in front of audiences previously inaccessible to the field; and by proving through demonstration that a profitable and important dialogue between digital art and the pioneers of modern dance can in fact occur. The methodological perspective of this thesis is that of biologically inspired, agent-based artificial intelligence, taken to a high degree of technical depth. The representations, algorithms and techniques behind such agent architectures are extended and pushed into new territory for both interactive art and artificial intelligence. In particular, this thesis ill focus on the control structures and the rendering of the extended agents' bodies, the tools for creating complex agent-based artworks in intense collaborative situations, and the creation of agent structures that can span live image and interactive sound production. Each of these parts becomes an element of what it means to "choreograph" an extended agent for live performance.Marc Downie.Ph.D
    corecore