Project

redshift

0.0
No commit activity in last 3 years
No release in over 3 years
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.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

~> 0
~> 0
 Project Readme

RedShift

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.

Requirements

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.

Installation

Install as gem:

gem install redshift

Env vars

If you have a multicore system and are using the gnu toolchain, set

REDSHIFT_MAKE_ARGS='-j -l2'

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).

Examples

See the examples dir.

The RedCloud project is based on RedShift.


Copyright (C) 2001-2014, Joel VanderWerf, mailto:vjoel@users.sourceforge.net Distributed under the Ruby license. See www.ruby-lang.org.