Skip to content

Instantly share code, notes, and snippets.

@mikedewar
Created November 11, 2015 14:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mikedewar/8206405c7e687ce5103c to your computer and use it in GitHub Desktop.
Save mikedewar/8206405c7e687ce5103c to your computer and use it in GitHub Desktop.
a streamtools pattern describing a poisson process
{"label":"root","blocks":[{"label":"","type":"exponential","id":1,"inputs":[{"name":"rate","value":{"data":1},"type":"number"}],"outputs":[{"name":"draw","type":"number"}],"source":null,"position":{"x":263,"y":345}},{"label":"","type":"delay","id":2,"inputs":[{"name":"in","value":{"data":1},"type":"any"},{"name":"duration","value":null,"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":578,"y":330}},{"label":"","type":"toString","id":4,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"out","type":"string"}],"source":null,"position":{"x":387,"y":345}},{"label":"","type":"concat","id":5,"inputs":[{"name":"a","value":null,"type":"string"},{"name":"b","value":{"data":"s"},"type":"string"}],"outputs":[{"name":"a+b","type":"string"}],"source":null,"position":{"x":486,"y":345}},{"label":"","type":"log","id":9,"inputs":[{"name":"log","value":null,"type":"any"}],"outputs":[],"source":null,"position":{"x":713,"y":330}}],"connections":[{"from":{"id":2,"route":0},"to":{"id":9,"route":0},"id":10},{"from":{"id":4,"route":0},"to":{"id":5,"route":0},"id":6},{"from":{"id":5,"route":0},"to":{"id":2,"route":1},"id":7},{"from":{"id":1,"route":0},"to":{"id":4,"route":0},"id":8}],"groups":[{"id":0,"label":"root","children":[1,2,4,5,9],"position":{"x":0,"y":0}}],"sources":[],"links":[]}
@mikedewar
Copy link
Author

image

@mikedewar
Copy link
Author

This works by converting an exponentially distributed random number into a duration string and using that duration to control the flow of the output. The output is whatever the value of the delay block's in route is, with an exponentially distributed inter-arrival time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment