A framework for simulation of networks of hybrid automata, similar to SHIFT and Lambda-SHIFT. Includes ruby-based DSL for defining simulation components, and ruby/C code generation and runtime.
RedShift is for simulating digital devices operating in an analog world. It's also for simulating any system that exhibits a mix of discrete and continuous behavior.
There's not much documentation yet, but plenty of examples. Some of the original SHIFT papers are available: Shift: A Formalism and a Programming Language for Dynamic Networks of Hybrid Automata.
My 2009 rubyconf talk discusses RedShift.
RedShift needs ruby (1.8, 1.9, 2.0, 2.1) and a compatible C compiler. If you can build native gems, you're all set.
Some of the examples also use Ruby/Tk and the tkar gem.
Install as gem:
gem install redshift
If you have a multicore system and are using the gnu toolchain, set
or some variation. You'll find that rebuilds of your simulation code go faster.
What is RedShift?
RedShift combines dataflow programming (for continuous variables) with actor-based programming (for discrete events, states, and variables, and also for continuous variables).
See the examples dir.
The RedCloud project is based on RedShift.