striot-0.1.1.0
Copyright© Jonathan Dowland 2021
LicenseApache 2.0
Maintainerjon@dow.land
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Striot.StreamGraph

Description

StrIoT StreamGraph type, used for representing a stream-processing program, such that it can be re-written, partitioned and translated into code in terms of FunctionalIoTTypes for execution on distributed nodes.

Synopsis

Documentation

type StreamGraph = Graph StreamVertex Source #

A graph representation of a stream-processing program.

data StreamOperator Source #

An enumeration of the possible stream operators within a stream-processing program, as well as Source and Sink to represent the ingress and egress points of programs.

data StreamVertex Source #

The StreamOperator and associated information required to encode a stream-processing program into a Graph. Each distinct StreamVertex within a StreamGraph should have a unique vertexId to ensure that they can be distinguished. For simple path-style graphs, the IDs should be in ascending order.

type PartitionedGraph = ([StreamGraph], StreamGraph) Source #

A collection of partitioned StreamGraphs

simpleStream :: [(StreamOperator, [ExpQ], String, Double)] -> Graph StreamVertex Source #

Convenience function for specifying a simple path-style of stream processing program, with no merge or join operations. The list of tuples are converted into a series of connected Stream Vertices in a Graph. The tuple arguments are the relevant StreamOperator for the node; the parameters;the *output* type and the service time. The other parameters to StreamVertex are inferred from the neighbouring tuples. Unique and ascending vertexId values are assigned.