@hackage dataflow0.4.0.0

Generate Graphviz documents from a Haskell representation.

DataFlow

Generate Graphviz documents from a Haskell representation.

cabal configure
cabal build

Usage

Legend

The objects supported by DataFlow is:

  • TrustBoundary
  • InputOutput
  • Function
  • Flow

These are composed in a Diagram to get something printable.

For more information see the Hackage site.

Example

module Main where

import DataFlow.Core
import DataFlow.DFD

main :: IO ()
main = printDfd $
  Diagram "My Diagram" [
    TrustBoundary "browser" "Browser" [
      Function "webapp" "Webapp"
    ],
    TrustBoundary "aws" "Amazon AWS" [
      Function "server" "Web Server",
      Database "logs" "Logs"
    ],
    InputOutput "analytics" "Google Analytics",

    Flow "webapp" "server" "Request /" "",
    Flow "server" "logs" "Log" "User IP",
    Flow "server" "webapp" "Response" "User Profile",

    Flow "webapp" "analytics" "Log" "Page Navigation"
  ]

Then generate your output with dot.

runhaskell example.hs | dot -Tsvg > example.svg

That should generate something like the following.

Example Output

Building the Examples

cabal install
make -C example
  • Installation

  • Dependencies (0)

  • Dependents (0)