692 research outputs found
Self-adaptation to device distribution in the internet of things
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
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
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)
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
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
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] /
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
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
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
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
- …
