Skip to content
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

StrIoT — functional stream processing for IoT

Travis CI Build Status

StrIoT is a stream-processing engine for IoT workloads, implemented as a Haskell library. A user defines a stream-processing program using a set of operators provided by StrIoT and the result is rewritten/optimised and partitioned into distinct sub-programs that can be deployed to separate processing nodes, connected together via TCP/IP.

StrIoT is experimental software being developed within a research project in the Scalable Systems Group, School of Computing, Newcastle University (UK).

Building StrIoT

We recommend using Stack: stack build && stack install, but it is also possible to use Cabal directly: cabal build && cabal install.

Using StrIoT

StrIoT can be used in several ways:

Using StrIoT Operators in Haskell

You can define a stream-processing program directly in terms of the provided operators. See docs/Operators.md for a detailed description of the operators and several example programs.

Haddock-generated API documentation is published here. This is very rudimentary, patches to improve it are welcome!

For use with the Optimiser

StrIoT's optimiser system takes as input a graph data-structure describing the stream-processing program, which is then processed and converted into distinct Haskell programs that can be individually compiled and executed. The API is described in the Haddock Haddock documentation. For more detailed examples, see the examples/ sub-directory.

Using Docker

Our examples/ use Docker and docker-compose for executing the programs output by the Optimiser.

We publish a base Docker image containing the StrIoT library to the Docker Hub: https://hub.docker.com/u/striot

Contributing

Contributions are welcome! We use our GitHub project to track issues and manage Pull Requests. We use a low-traffic mailing list for discussions about the project: https://lists.ncl.ac.uk/wws/info/striot

Copyright & License

StrIoT is Copyright © 2020 Adam Cattermole, Jonathan Dowland, Paul Watson and others. StrIoT is made available under the Apache License, Version 2. See LICENSE for the full text.

About

functional STReam processing for the IOT

Resources

License

Releases

No releases published

Languages

You can’t perform that action at this time.