4 research outputs found

    On the evaluation of space-time functions, in:

    Get PDF
    In an environment increasingly saturated with computing devices, it is desirable for some services to be distributed, executing via local interactions between devices. Creating fast, flexible, and dynamic distributed services requires a general model of function calls distributed over space-time. Prior models, however, have either depended strongly on large-scale Internet infrastructure or have restrictions in the scope or resolution of space-time for inputs, outputs, or evaluation of the function. We address this by providing a formal general model of function calls over space-time. We then fully realize a practical model of spacetime function calls, based in the Proto language, and present both theoretical and empirical results. Finally, we show how our results for Proto generalize into implications for any model of distributed computing

    Engineering Complex Computational Ecosystems

    Get PDF
    Self-organising pervasive ecosystems of devices are set to become a major vehicle for delivering infrastructure and end-user services. The inherent complexity of such systems poses new challenges to those who want to dominate it by applying the principles of engineering. The recent growth in number and distribution of devices with decent computational and communicational abilities, that suddenly accelerated with the massive diffusion of smartphones and tablets, is delivering a world with a much higher density of devices in space. Also, communication technologies seem to be focussing on short-range device-to-device (P2P) interactions, with technologies such as Bluetooth and Near-Field Communication gaining greater adoption. Locality and situatedness become key to providing the best possible experience to users, and the classic model of a centralised, enormously powerful server gathering and processing data becomes less and less efficient with device density. Accomplishing complex global tasks without a centralised controller responsible of aggregating data, however, is a challenging task. In particular, there is a local-to-global issue that makes the application of engineering principles challenging at least: designing device-local programs that, through interaction, guarantee a certain global service level. In this thesis, we first analyse the state of the art in coordination systems, then motivate the work by describing the main issues of pre-existing tools and practices and identifying the improvements that would benefit the design of such complex software ecosystems. The contribution can be divided in three main branches. First, we introduce a novel simulation toolchain for pervasive ecosystems, designed for allowing good expressiveness still retaining high performance. Second, we leverage existing coordination models and patterns in order to create new spatial structures. Third, we introduce a novel language, based on the existing ``Field Calculus'' and integrated with the aforementioned toolchain, designed to be usable for practical aggregate programming

    Core Operational Semantics of Proto

    No full text
    The Proto spatial computing language simplifies the creation of scalable, robust, distributed programs by abstracting a network of locally communicating devices as a continuous geometric manifold. However, Proto's successful application in a number of domains is becoming a challenge to its coherence across different platforms and distributions. We thus present an operational semantics for a core subset of the Proto language. This semantics covers all the key operations of the three space-time operator families unique to Proto-restriction, feedback, and neighborhood-as well as a few of the pointwise operations that it shares with most other languages. Because Proto programs are distributed, we also present an operational semantics for their asynchronous execution across a network. This formalization will provide a reference to aid implementers in preserving language coherence across platforms, domains, and distributions

    Core operational semantics of Proto, in:

    No full text
    Abstract The Proto spatial computing language [1] simplifies the creation of scalable, robust, distributed programs by abstracting a network of locally communicating devices as a continuous geometric manifold. However, Proto's successful application in a number of domains is challenging its coherence across different platforms and distributions. We thus present a complete operational semantics for the Proto language, as executed asynchronously on a network of fast message-passing devices. This semantics covers all of the operations of the three space-time operator families unique to Proto-restriction, feedback, and neighborhood-as well as the current pointwise operations that it shares with most other languages. This formalization will provide a reference to aid implementers in preserving language coherence across platforms, domains, and distributions. The formalization process has also advanced the Proto language in several ways, which we explain in detail
    corecore