The IoT-system architecture is considered on the basis of the reactive programming paradigm. The generalized types and variables and also program modules are used for data presentation. Communication between the varia...
详细信息
ISBN:
(纸本)9781538615966
The IoT-system architecture is considered on the basis of the reactive programming paradigm. The generalized types and variables and also program modules are used for data presentation. Communication between the variables and the modules connections are established. The synchronization of variables values and the events transfer about their changes is carried out through these communications. Local communications are supported by the reactive programming system, remote communications are supported by service and the synchronization protocol. The events processing is made with use of the simple interpreted language. The WebAPI server allows clients to operate the server information model, to create own synchronized variables in client applications. The functioning uniform environment of the IoT, or the "clever house", or the distributed system is created on this basis.
Chatbots are reactive applications with a conversational interface. They are usually implemented as compositions of client-side components and cloud-hosted services, including artificial-intelligence technology. Unfor...
详细信息
ISBN:
(纸本)9781450360708
Chatbots are reactive applications with a conversational interface. They are usually implemented as compositions of client-side components and cloud-hosted services, including artificial-intelligence technology. Unfortunately, programming such reactive multi-tier applications with traditional programming languages is cumbersome. This paper introduces wcs-ocam1, a new multi-tier chatbot generator library designed for use with the reactive language reactiveML. The paper explains our library with small didactic examples throughout, and closes with a larger case-study of a chatbot for authoring event-processing rules.
reactive programming enables declarative definitions of time-varying values (signals) and their dependencies in a way that changes are automatically propagated. In order to use reactive programming in an imperative ob...
详细信息
ISBN:
(纸本)9781450340335
reactive programming enables declarative definitions of time-varying values (signals) and their dependencies in a way that changes are automatically propagated. In order to use reactive programming in an imperative object-oriented language, signals are usually modelled as objects. However, computations on primitive values then have to lifted to signals which usually involves a verbose notation. Moreover, it is important to avoid cycles in the dependency graph and glitches,both of which can result from changes to mutable global state during change propagation. This paper introduces reactive variables as extension to imperative languages. Changes to reactive variables are automatically propagated to other reactive variables but, in contrast to signals, reactive variables cannot be reified and used as values. Instead, references to reactive variables always denote their latest values. This enables computation without explicit lifting and limits the dependents of a reactive variable to the lexical scope of its declaration. The dependency graph is therefore topologically ordered and acyclic. Additionally, reactive updates are prevented from mutating global state to ensure consistency. We present a working prototype implementation in JavaScript based on the *** macro system and a formalism for integration with general imperative languages.
In self-managing software teams, developers with complementary skills collaborate with each other to improve productivity and increase innovation. Due to nature of innovation, managers in these teams will acquire only...
详细信息
ISBN:
(纸本)9781509034383
In self-managing software teams, developers with complementary skills collaborate with each other to improve productivity and increase innovation. Due to nature of innovation, managers in these teams will acquire only summarized information from developers to avoid micromanagement. They will not plan fine-grained activities but leave responsibility and autonomy to self-managing developers. Developers discover collaboration opportunities from up-to-date assets and decide needed collaborative activities. To maintain effective and consistent collaboration, distributed knowledge of decision making from up-to-date assets must be captured and accumulated for these teams. This study proposes a method to distribute asset monitoring and decision making through reactive agents. reactive programming technique is used to collaborate reactive agents. These agents present asset changes as event streams and provide time-varying reactions to each other as a network. The network can automatically react to decisions made by every agent. Through this method, self-managing software teams build their reactive knowledge network which responds to asset changes instantly and reveals collaboration opportunities intelligently.
Host Stefan Tilkov speaks with Vaughn Vernon, a consultant and mentor with more than 25 years' experience in software design, development, and architecture, about reactive programming and the actor model.
Host Stefan Tilkov speaks with Vaughn Vernon, a consultant and mentor with more than 25 years' experience in software design, development, and architecture, about reactive programming and the actor model.
Functional reactive programming (FRP) has come to mean many things. Yet, scratch the surface of the multitude of realisations, and there is great commonality between them. This paper investigates this commonality, tur...
详细信息
ISBN:
(纸本)9781450344340
Functional reactive programming (FRP) has come to mean many things. Yet, scratch the surface of the multitude of realisations, and there is great commonality between them. This paper investigates this commonality, turning it into a mathematically coherent and practical FRP realisation that allows us to express the functionality of many existing FRP systems and beyond by providing a minimal FRP core parameterised on a monad. We give proofs for our theoretical claims and we have verified the practical side by bench-marking a set of existing, non-trivial Yampa applications running on top of our new system with very good results.
Wallingford is an experimental constraint reactive programming language that supports objects with state, persistent constraints on those objects, and reactive constraints that enable the system to respond to events b...
详细信息
ISBN:
(纸本)9781450340335
Wallingford is an experimental constraint reactive programming language that supports objects with state, persistent constraints on those objects, and reactive constraints that enable the system to respond to events by declaring constraints that become active when an event occurs, or while a condition holds. It is implemented in Rosette, a solver-aided programming language and environment for constructing DSLs in turn implemented in Racket. This short paper is a snapshot of work-in-progress on the system.
We consider the reactive programming (RP) approach to simulate physical systems. The choice of RP is motivated by the fact that RP genuinely offers logical parallelism, instantaneously broadcast events, and dynamic cr...
详细信息
We consider the reactive programming (RP) approach to simulate physical systems. The choice of RP is motivated by the fact that RP genuinely offers logical parallelism, instantaneously broadcast events, and dynamic creation/destruction of parallel components and events. To illustrate our approach, we consider the implementation of a system of Molecular Dynamics, in the context of Java with the Java3D library for 3D visualization.
In this paper, we present a solution to this year's DEBS Grand Challenge based on concepts from reactive systems. reactive systems is a system architecture style with the following properties: Responsive, resilien...
详细信息
ISBN:
(纸本)9781450332866
In this paper, we present a solution to this year's DEBS Grand Challenge based on concepts from reactive systems. reactive systems is a system architecture style with the following properties: Responsive, resilient, elastic, and message driven. When systems are built based on these properties, they tend to be more flexible, loosely-coupled, and scaleable. In this paper, we describe how to combine the operators given in the reactiveX API to realize the individual challenge queries using asynchronous data-flows and evaluate the performance. Copyright 2015 ACM.
One of the big challenges of developing interactive statistical applications is the management of the data pipeline, which controls transformations from data to plot. The user's interactions needs to be propagated...
详细信息
One of the big challenges of developing interactive statistical applications is the management of the data pipeline, which controls transformations from data to plot. The user's interactions needs to be propagated through these modules and reflected in the output representation at a fast pace. Each individual module may be easy to develop and manage, but the dependency structure can be quite challenging. The MVC (Model/View/Controller) pattern is an attempt to solve the problem by separating the user's interaction from the representation of the data. In this paper we discuss the paradigm of reactive programming in the framework of the MVC architecture and show its applicability to interactive graphics. Under this paradigm, developers benefit from the separation of user interaction from the graphical representation, which makes it easier for users and developers to extend interactive applications. We show the central role of reactive data objects in an interactive graphics system, implemented as the R package cranvas, which is freely available on GitHub and the main developers include the authors of this paper.
暂无评论