We introduce SECURESTREAMS, a middleware framework for secure stream processing. Its design builds on Intel's Secure Guard Extensions (SGX) to guarantee the privacy and the integrity of the data being processed. O...
详细信息
ISBN:
(纸本)9781509058174
We introduce SECURESTREAMS, a middleware framework for secure stream processing. Its design builds on Intel's Secure Guard Extensions (SGX) to guarantee the privacy and the integrity of the data being processed. Our initial experimental results of SECURESTREAMS are promising: the framework is easy to use, and delivers high throughput, enabling developers to implement complex processing pipelines in a few lines of scripting code.
Writing real-time applications that react to vast amounts of incoming data is a hard problem, as the volume of incoming data implies the need for distributed execution on a cluster architecture. We envision such an ap...
详细信息
ISBN:
(纸本)9781450360708
Writing real-time applications that react to vast amounts of incoming data is a hard problem, as the volume of incoming data implies the need for distributed execution on a cluster architecture. We envision such an application can be created as a data processing pipeline which consists of a set of generic, reactive components, which may be reused in other applications. However, there is currently no programming model or framework that enables the reactive, scalable execution of such a pipeline on a cluster architecture. Our work introduces the notion of reactive workflows, a technique that combines concepts from scientific workflows and reactive programming. reactive workflows enable the integration of these generic components into a single workflow that can be executed on a cluster architecture in a reactive, scalable way. To deploy these reactive workflows, we introduce a domain specific language, called Skitter. Skitter enables developers to write reactive components and compose these into reactive workflows, which can be distributed over a cluster by Skitter's runtime system.
reactive programming reacts to data items as they occur, rather than waiting for them to complete. This programming paradigm is widely used in asynchronous and event-driven scenarios, such as web applications, microse...
详细信息
ISBN:
(纸本)9798400706127
reactive programming reacts to data items as they occur, rather than waiting for them to complete. This programming paradigm is widely used in asynchronous and event-driven scenarios, such as web applications, microservices, real-time data processing, IoT, interactive UIs, and big data. When done right, it can offer greater responsiveness without extra resource usage. However, this also requires a thorough understanding of asynchronous and non-blocking coding, posing a learning curve for developers new to this style of programming. In this work, we analyze issues reported in reactive applications and explore their corresponding fixes. Our investigation results reveal that (1) developers often do not fix or ignore reactiveness bugs as compared to other bug types, and (2) this tendency is most pronounced for blocking-call bugs - bugs that block the execution of the program to wait for the operations (typically I/O operations) to finish, wasting CPU and memory resources. To improve the debugging practice of such blocking bugs, we develop a pattern-based proactive program repair technique and obtain 30 patches, which we submit to the developers. In addition, we hypothesize that the low patch acceptance rate for reactiveness bugs is due to the difficulty of assessing the patches. This is in contrast to functionality bugs, where the correctness of the patches can be assessed by running test cases. To assess our hypothesis, we split our patches into two groups: one with performance improvement evidence and the other without. It turns out that the patches are more likely to be accepted when submitted with performance improvement evidence.
RxJS is a popular JavaScript library for reactive programming in Web applications. It provides numerous operators to create, combine, transform, and filter discrete events and to handle errors. These operators may be ...
详细信息
ISBN:
(纸本)9781450399111
RxJS is a popular JavaScript library for reactive programming in Web applications. It provides numerous operators to create, combine, transform, and filter discrete events and to handle errors. These operators may be stateful and have side effects, which makes it difficult to understand the precise meaning of the resulting computation. In this paper, we define a formal model for RxJS programs by formalizing a selected subset of RxJS operators using a small-step operational semantics. We present several debugging related applications using the semantics as a model. We also implemented a subset of RxJS based on this semantics, which provides convenient access to the runtime representation of the RxJS program to help debugging.
Robots understand the world around them through sensing. To process the data produced by sensors we propose to use Procedural Parameters and Complex Event Processing (CEP). End-users model applications for robots as a...
详细信息
ISBN:
(纸本)9781450344371
Robots understand the world around them through sensing. To process the data produced by sensors we propose to use Procedural Parameters and Complex Event Processing (CEP). End-users model applications for robots as a CEP Graph, in which the end-users specify how input from the sensors of the robot is transformed to output for the actuators of the robot. Between input and output is a network of streams connected together by operators. By using Procedural Parameters a set of generic operators can be used within the CEP Graph. The CEP Graph can be executed on the robot or on a PC remotely controlling the robot.
The article presents the idea and the implementation of the use of noise measurement to facilitate comfortable movement in an urbanized environment. The main idea is to use IoT for noise level monitoring in the city a...
详细信息
ISBN:
(数字)9781510622043
ISBN:
(纸本)9781510622043
The article presents the idea and the implementation of the use of noise measurement to facilitate comfortable movement in an urbanized environment. The main idea is to use IoT for noise level monitoring in the city and set the comfortable minimum noise paths for walking and cycling. We assume the cooperation of many mobile devices. The realization was carried out using the Firebase platform and the Google Maps API. Authentication and visualization via Google Maps are provided. Initial tests were carried out in the urban area of Warsaw, the capital of Poland. Results of the initial test confirm the effectiveness of the application.
In this paper we propose a software architectural model, which generates software applications suitable for commodity hardware, and exploits sensor generated data from wearables for issuing warnings/advice/information...
详细信息
ISBN:
(纸本)9781728130248
In this paper we propose a software architectural model, which generates software applications suitable for commodity hardware, and exploits sensor generated data from wearables for issuing warnings/advice/information relevant to the wearer, at the time when the data is generated. The novelty of the software solution is in using the reactiveX programming paradigm in order to perform computations very close to data origins and consequently promoting computing at the edge. The proposal also addresses the issues of latency prevalent in cloud computations, commonly associated with wearable devices. We illustrate our proposal by exploiting data generated through Fitbit devices and demonstrate its usefulness in addressing the wearers' needs to extend the device role in fitness towards wellbeing healthcare management. The results from this research might appeal to manufacturers of wearables, if they wish to explore placing computations outside the Cloud and design a new generation of devices, which would consider computations at the edge, as default in future.
Window functions are a sub-class of analytical operators that allow data to be handled in a derived view of a given relation, while taking into account their neighboring tuples. We propose a technique that can be used...
详细信息
ISBN:
(纸本)9789897581823
Window functions are a sub-class of analytical operators that allow data to be handled in a derived view of a given relation, while taking into account their neighboring tuples. We propose a technique that can be used in the parallel execution of this operator when data is naturally partitioned. The proposed method benefits the cases where the required partitioning is not the natural partitioning employed. Preliminary evaluation shows that we are able to limit data transfer among parallel workers to 14% of the registered transfer when using a naive approach.
In event-driven programming we can react to an event by binding methods to it as handlers, but such a handler binding in current event systems is explicit and requires explicit reason about the graph of event propagat...
详细信息
ISBN:
(纸本)9781467365635
In event-driven programming we can react to an event by binding methods to it as handlers, but such a handler binding in current event systems is explicit and requires explicit reason about the graph of event propagation even for straightforward cases. On the other hand, the handler binding in reactive programming is implicit and constructed through signals. Recent approaches to support either event-driven programming or reactive programming show the need of using both the two styles in a program. We propose an extension to expand event systems to support reactive programming by enabling the automation of handler bindings. With such an extension programmers can use events to cover both the implicit style in reactive programming and the explicit style in event-driven programming. We first describe the essentials of reactive programming, signals and signal assignments, in terms of events, handlers, and bindings, then point out the lack of automation in existing event systems. Unlike most research activities we expand event systems to support signals rather than port signals to event systems. In this paper we also show a prototype implementation and translation examples to evaluate the concept of automation.
Over the last years, a number of languages based on data flow abstractions have been proposed in different important areas including Big Data, stream processing, reactive programming, real time analytics. While there ...
详细信息
ISBN:
(纸本)9781450346382
Over the last years, a number of languages based on data flow abstractions have been proposed in different important areas including Big Data, stream processing, reactive programming, real time analytics. While there is a general agreement that the data flow style simplifies the access to such complex systems compared to low level imperative APIs, this design has been substantiated by little evidence. In this paper, we advocate a systematic investigation of the design principles of data flow languages and suggest important research questions that urge to be addressed.
暂无评论