Skip to content

DriesDeBackker/quarp-reactivity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QUARP Implementation

A library for distributed reactiive programming with consistency guarantees in the spirit of Quality Aware Reactive Programing for the IoT (QUARP) (https://haslab.uminho.pt/joseproenca/files/quarp.pdf), implemented as https://github.com/DriesDeBackker/quarp-reactivity.

Provides a DSL for reactive programming, made distributed by usage of the Reactive Programming Middleware dependency: https://github.com/DriesDeBackker/rp-middleware, https://hex.pm/packages/rp_middleware)

Can be easily deployed to embedded devices using https://nerves-project.org

Features fifo (no guarantee), glitch-freedom and logical clock synchronization as guarantees.

Built on top of and integrated with Observables Extended, a Reactive Extensions inspired library for Elixir (https://github.com/DriesDeBackker/observables-extended).

Can be extended with new guarantees if so desired by adding an implementation for the necessary operations in the Context module. See the original 'Quality Aware Reactive Programming for the IoT' paper by Proença, Baquera for further insights (https://haslab.uminho.pt/joseproenca/files/quarp.pdf). (N.B.: terminology and mechanism not strictly identical.)

This library was developed mainly for academic purposes, namely for exploring distributed reactive programming (for the IoT) with consistency guarantees.

Installation

If available in Hex, the package can be installed by adding quarp to your list of dependencies in mix.exs:

def deps do
  [
    {:quarp, "~> 1.2"}
  ]
end

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages