692 research outputs found

    Self-adaptation to device distribution in the internet of things

    Get PDF
    A key problem when coordinating the behaviour of spatially situated networks, like those typically found in the Internet of Things (IoT), is adaptation to changes impacting network topology, density, and heterogeneity. Computational goals for such systems, however, are often dependent on geometric properties of the continuous environment in which the devices are situated rather than the particulars of how devices happen to be distributed through it. In this article, we identify a new property of distributed algorithms, eventual consistency, which guarantees that computation converges to a final state that approximates a predictable limit, based on the continuous environment, as the density and speed of devices increases. We then identify a large class of programs that are eventually consistent, building on prior results on the field calculus computational model (Beal et al. 2015; Viroli et al. 2015a) that identify a class of self-stabilizing programs. Finally, we confirm through simulation of IoT application scenarios that eventually consistent programs from this class can provide resilient behavior where programs that are only converging fail badly

    Building blocks for aggregate programming of self-organising applications

    No full text
    The notion of a computational field has been proposed as a unifying abstraction for constructing and reasoning about large and self-organising networks of devices, focusing on the computations and coordination of aggregates of devices instead of individual behaviour. Recently, firm mathematical foundations have been established for this approach, in the form of a minimal universal field calculus and a more restricted syntax that guarantees self-stabilisation. We now aim to raise the abstraction level for system construction by identifying a collection of general and reusable "building block" algorithms. By functional combination of these building blocks, it is possible to construct complex adaptive behaviours. Moreover, the building blocks we present are all self-stabilising, ensuring that any system constructed from them is guaranteed to rapidly converge to a correct behaviour

    Space-time programming

    No full text
    Computation increasingly takes place not on an individual device, but distributed throughout a material or environment, whether it be a silicon surface, a network of wireless devices, a collection of biological cells, or a programmable material. Emerging programming models embrace this reality and provide abstractions inspired by physics, such as computational fields, that allow such systems to be programmed holistically, rather than in terms of individual devices. This paper aims to provide a unified approach for the investigation and engineering of computations programmed with the aid of space- time abstractions, by bringing together a number of recent results, as well as to identify critical open problems

    Code for LOLCAT Method (Variant of Gillespie Algorithm)

    No full text
    This code and data is publicly listed code for the LOLCAT Method developed by Sagar Indurkhya and Jacob Beal, in the paper: "Reaction factoring and bipartite update graphs accelerate the Gillespie algorithm for large-scale biochemical systems.

    Formal foundations of sensor network applications

    No full text
    One of the key features that distinguishes sensor networks from other networked applications is that their focus is generally not the sensors per se, but space-filling phenomena of the environment through which the sensors are deployed. Following the mathematical implications of this observation leads to a formal grounding of sensor network applications in a field calculus that describes sensing, modeling, and interpretation of space-filling phenomena directly in terms of operations on mathematical fields. This points to more flexible, scalable, and resilient approaches to sensor network applications, as well as simpler approaches to developing decentralized applications that can provide robust services in difficult operating environments such as natural disasters, mass events, and critical cyber-physical systems

    Charles Beal born free; witnessed by Henry Michael; signed by Jacob Coblentz, June 5, 1832

    No full text
    Charles Beal born free; witnessed by Henry Michael; signed by Jacob Coblentz [Frederick County]

    [Pink sitting room with polished wooden furniture, upholstery in pastel shades and cushions in bright pinks and greens, a marquetry commode with a Jacob Petite clock and a Lalique candelabrum, Sydney, ca. 1971] [transparency] /

    No full text
    Title devised by cataloguer from caption list and information in publication: Australian decor.; Part of the Warren T. Harding and David C. Lorimer collection of interior design.; Similar image published in: Australian decor / Warren T. Harding [and] David C. Lorimer. Photos by David Beal. [Melbourne] : Nelson, [1971]; Also available in an electronic version via the Internet at: http://nla.gov.au/nla.pic-vn3288150. Photographer David Beal was employed by the firm Decor Associates Pty. Ltd. in whom Warren T. Harding and David C. Lorimer were partners, to photograph homes and business premises they had decorated. Some of these photographs were used in the publication: Australian decor / Warren T. Harding [and] David C. Lorimer. Photos by David Beal. [Melbourne] : Nelson, [1971]

    Practical Aggregate Programming with Protelis

    No full text
    Collective adaptive systems are an emerging class of networked and situated computational systems with a wide range of applications, such as in the Internet of Things, wireless sensor networks, and smart cities. Engineering such systems poses a number of challenges, and in particular many approaches, based upon designing the machine-To-machine interaction directly, suffer from a local-To-global abstraction problem. In this tutorial, we introduce the aggregate computing approach, rooted in the field calculus and practically available through the Protelis programming language, as a means to build collective, situated adaptive systems. The approach focuses on programming the overall aggregate behaviour, making use of a 'resilience API,' while leaving to these libraries and the language machinery the responsibility of mapping this to the behavior of individual devices

    A type-sound calculus of computational fields

    Get PDF
    A number of recent works have investigated the notion of "computational fields" as a means of coordinating systems in distributed, dense and dynamic environments such as pervasive computing, sensor networks, and robot swarms. We introduce a minimal core calculus meant to capture the key ingredients of languages that make use of computational fields: functional composition of fields, functions over fields, evolution of fields over time, construction of fields of values from neighbours, and restriction of a field computation to a sub-region of the network. We formalise a notion of type soundness for the calculus that encompasses the concept of domain alignment, and present a sound static type inference system. This calculus and its type inference system can act as a core for actual implementation of coordination languages and models, as well as to pave the way towards formal analysis of properties concerning expressiveness, self-stabilisation, topology independence, and relationships with the continuous space-time semantics of spatial computations

    Aggregate Programming for the Internet of Things

    Get PDF
    Through field calculus constructs and building-block APIs, aggregate programming could help unlock the IoT’s true potential by allowing complex distributed services to be specified succinctly and by enabling such services to be safely encapsulated, modulated, and composed with one another
    corecore