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/RedshiftREADME
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
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
