Skip to content

Dataflow Simulation Programming

pao edited this page Apr 11, 2012 · 3 revisions

Julia could support a dataflow simulation programming environment similar to Simulink.

Initial Design Goals

  • Support diff/merge

This is something that Simulink has problems with. While Simulink models are text files, merging them without expensive third-party tools is a practical impossibility.

  • Make parallel simulation (Monte Carlo techniques) easy

  • Everything is Julia code

You should be able to select any block and View Source.

  • No Julia code is off-limits

Corollary to "Everything is Julia": the framework should not subset the Julia language.

Initial Design Non-Goals

  • Provide for graphical discrete-event simulation like Arena

This is a worthy goal, but should be a separate effort. The ability to mutually embed different types of simulations to build hybrid event/dynamic simulations would be nice to have, though.

References

  • Simulink — technical dataflow language with modeling, simulation, and control systems emphasis
  • LabView — technical dataflow language with instrumentation/control emphasis
  • Bloom — dataflow programming for distributed systems