The rise of blockchain technology has paved the way for an increasing number of blockchain systems, each having different characteristics. The need for distributed applications that span across multiple blockchain sys...
详细信息
ISBN:
(纸本)9781728115429
The rise of blockchain technology has paved the way for an increasing number of blockchain systems, each having different characteristics. The need for distributed applications that span across multiple blockchain systems is increasing. However, it is currently not possible to write a single-description smart contract which can be compiled to span across multiple blockchain systems. In this paper we present PORTHOS, a macroprogramming framework and domain specific language for writing commitment-based smart contracts that span multiple blockchain systems. The language allows programmers to write smart contracts at a higher level of abstraction by composing together contract blocks, without the need to specify how logic should be split across different blockchain instances. A runtime framework, including both on-chain and off-chain functionality, harmonises the features of different blockchain systems as well as enables communication across the smart contracts. A proof of concept, built on the Ethereum and Hyperledger Fabric blockchain systems and extendible to other systems, illustrates the technique and framework. We also show how the PORTHOS language is expressive enough to define a variety of applications.
Blockchain and smart contract technology provide a means of decentralised computational agreements that are trusted and automated. By integrating Internet of Things (IoT) devices with blockchain systems and smart cont...
详细信息
ISBN:
(纸本)9781538679753
Blockchain and smart contract technology provide a means of decentralised computational agreements that are trusted and automated. By integrating Internet of Things (IoT) devices with blockchain systems and smart contracts, agreements can not only be confined to in-blockchain manipulation of state, however can enable agreements to interact on the physical world. This integration is non-trivial due to the limited resources on IoT devices and the heterogeneity of such an architecture. Such blockchain connected IoT devices typically require programming of smart contracts, edge blockchain nodes and the IoT devices. IoT embedded systems require expertise in low level development. Similarly, smart contract programming requires expertise with an extensive attention to detail, as even minor bugs can have catastrophic consequences. In this paper, we propose a macroprogramming approach for developing the different system components required for blockchain connected IoT devices including smart contracts, edge nodes and IoT devices from a monolithic description. In this manner, one can use a higher level of abstraction to develop an application, while still being able to generate code automatically which can be deployed on different nodes.
This article introduces ScaRLib, a Scala-based framework that aims to streamline the development cyber-physical swarms scenarios (i.e., systems of many interacting distributed devices that collectively accomplish syst...
详细信息
This article introduces ScaRLib, a Scala-based framework that aims to streamline the development cyber-physical swarms scenarios (i.e., systems of many interacting distributed devices that collectively accomplish system-wide tasks) by integrating macroprogramming and multi-agent reinforcement learning to design collective behavior. This framework serves as the starting point for a broader toolchain that will integrate these two approaches at multiple points to harness the capabilities of both, enabling the expression of complex and adaptive collective behavior.
Swarm programming is focused on the design and implementation of algorithms for large-scale systems, such as fleets of robots, ensembles of IoT devices, and sensor networks. Writing algorithms for these systems requir...
详细信息
ISBN:
(纸本)9783031626968;9783031626975
Swarm programming is focused on the design and implementation of algorithms for large-scale systems, such as fleets of robots, ensembles of IoT devices, and sensor networks. Writing algorithms for these systems requires skills and familiarity with programming languages, which can be a barrier for non-expert users. Even if visual programming environments have been proposed for swarm systems, they are often limited to specific platforms or tasks, and do not provide a high-level programming model that can be used to design algorithms for a wide range of swarm systems. Therefore, in this paper, we propose a low-code swarm programming environment, called ScaFi-Blocks, which allows users to design and implement swarm algorithms visually. ScaFi-Blocks is based on the ScaFi aggregate computing framework, which provides a high-level programming model for the design of distributed algorithms. Aggregate computing is based on the concept of field-based coordination, and it allows users to design algorithms by composing simple building blocks, which motivates the design of the proposed artefact. The environment is designed to be user-friendly and to support the design of a wide range of collective applications. In this paper, we present the architecture of ScaFi-Blocks, discuss its features and capabilities, and provide a preliminary evaluation of the programming environment
PyoT is a web-based framework designed to simplify the development of complex applications for the IOT. Adopting the macroprogramming paradigm, it lets the programmers focus on the global application's goal, hidin...
详细信息
ISBN:
(纸本)9781479931460
PyoT is a web-based framework designed to simplify the development of complex applications for the IOT. Adopting the macroprogramming paradigm, it lets the programmers focus on the global application's goal, hiding low-level communication details. Developers can easily define, test, and share applications using IPython Notebooks or through a rich Web interface. The framework is capable of efficiently distributing the processing effort inside the network. This demonstration shows some of the features of PyoT, such as programming groups of nodes as a whole, creating in-network tasks, monitoring sensors, and visualizing network information. PyoT is available for download and testing on real WSN deployments or in emulated environments.
Programming distributed applications in the IoT-edge environment is a cumbersome challenge. Developers are expected to seamlessly handle issues in dynamic reconfiguration, routing, state management, fault tolerance, a...
详细信息
ISBN:
(纸本)9781450362832
Programming distributed applications in the IoT-edge environment is a cumbersome challenge. Developers are expected to seamlessly handle issues in dynamic reconfiguration, routing, state management, fault tolerance, and heterogeneous device capabilities. We introduce DDFlow, a macroprogramming abstraction and accompanying runtime that provides an efficient means to program highquality distributed applications that span a diverse and dynamic IoT network. We describe the programming model and primitives used to isolate application semantics from arbitrary deployment environments. Using DDFlow leads to portable, visualizable, and intuitive applications. The accompanying system runtime enables dynamic scaling and adaptation, leading to improved end-to-end latency while preserving application behavior despite device failures.
Evolution in both hardware and software technologies has enabled Wireless Sensor Networks(WSNs) to target a multiplicity of domains. Programming for such advanced WSNs remains a challenging process for users, especial...
详细信息
ISBN:
(纸本)9781450359337
Evolution in both hardware and software technologies has enabled Wireless Sensor Networks(WSNs) to target a multiplicity of domains. Programming for such advanced WSNs remains a challenging process for users, especially as the WSN may need to make changes as per outcomes from different scenarios during execution. Usually, various adaptation policies are written while programming such applications to enable changes. However it is difficult for the programmer to anticipate changes for new scenarios. It also becomes difficult to reuse these adaptation policies. In this paper, we propose AdaptC, an abstraction for such adaptation policies that facilitates re-usability and expansion across various WSNs. We also present concepts for the design and implementation of AdaptC. We evaluate the abstraction for multiple use cases and compare it against existing work.
We present our ongoing work on the design of macroprogramming abstractions to program sensing and actuating applications using robot swarms. Robots can sample the environment and act on it where no other sensor can re...
详细信息
ISBN:
(纸本)9781450320276
We present our ongoing work on the design of macroprogramming abstractions to program sensing and actuating applications using robot swarms. Robots can sample the environment and act on it where no other sensor can reach, e.g., to monitor the environment at altitude with aerial robots. Programming the individual behavior of multiple coordinating robots is difficult. We design LiftOff, a macroprogramming abstraction that allows to program robot swarms collectively, by creating the illusion of a single computing device that occupies the entire physical space of interest. We achieve this by giving variables and values in a programming language a spatial semantics. In LiftOff, values may be associated to a location, and programmers use the same variable to access different values at different locations, sparing the need to manually create a mapping from variables to spatial values. LiftOff applications execute synchronously or based on lazy evaluation. The former allows precise program analysis, e.g., using model checking, whilst the latter potentially executes faster. In this paper, we report on LiftOff's initial design and prototypes.
Learn to write SAS programs quickly and efficiently. Programming in SAS is flexible, but it can also be overwhelming. Many novice and experienced programmers learn how to write programs that use the DATA step and macr...
详细信息
Learn to write SAS programs quickly and efficiently. Programming in SAS is flexible, but it can also be overwhelming. Many novice and experienced programmers learn how to write programs that use the DATA step and macros, but they often don’t realize that a simpler or better way can achieve the same results. In a user-friendly tutorial style, Practical and Efficient SAS® Programming: The Insider''s Guide provides general SAS programming tips that use the tools available in Base SAS, including the DATA step, the SAS macro facility, and SQL. Drawing from the author’s 30 years of SAS programming experience, this book offers self-contained sections that describe each tip or trick and present numerous examples. It therefore serves as both an easy reference for a specific question, and a useful cover-to-cover read. As a bonus, the utility programs included in the appendixes will help you simplify your programs, as well as help you develop a sleek and efficient coding style. With this book, you will learn how to do the following: use the DATA step, the SAS macro facility, SQL, and other Base SAS tools more efficiently choose the best tool for a task use lookup tables simulate recursion with macros read metadata with the DATA step create your own programming style in order to write programs that are easily maintained Using this book, SAS programmers of all levels will discover new techniques to help them write programs quickly and efficiently.
It is notoriously difficult and tedious to program wireless sensor networks (WSNs). To simplify WSN programming, we propose Sense2P, a logic macroprogramming system for abstracting, programming, and using WSNs as glob...
详细信息
It is notoriously difficult and tedious to program wireless sensor networks (WSNs). To simplify WSN programming, we propose Sense2P, a logic macroprogramming system for abstracting, programming, and using WSNs as globally deductive databases. Unlike macroprograms in previous works, our logic macroprograms can be described declaratively and imperatively. In Sense2P, logic macroprogrammers can easily express a recursive program or query that is unsupported in existing database abstractions for WSNs. We have evaluated Sense2P analytically and experimentally. Our evaluation result indicates that Sense2P successfully realizes the logic macroprogramming concept while consuming minimal energy as well as maintaining completeness and soundness of the answers.
暂无评论