+
Skip to content

jmtd/striot

 
 

Repository files navigation

StrIoT — functional stream processing for IoT

GitHub Actions Workflow

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

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Haskell 96.4%
  • Makefile 2.0%
  • Other 1.6%
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载