SkillAgentSearch skills...

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.

Install / Use

/learn @vjoel/Redshift
About this skill

Quality Score

0/100

Supported Platforms

Universal

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.

Related Skills

View on GitHub
GitHub Stars7
CategoryDevelopment
Updated5y ago
Forks2

Languages

Ruby

Security Score

55/100

Audited on Mar 7, 2021

No findings