Skip to content

bpowers/boosd

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

boosd - object-oriented system dynamics engine

Boosd is an implementation of an object-oriented system dynamics language. Models have a simple, text-based representation:

main model {
        timespec = {
                start:     0
                end:       50
                dt:        .5
                save_step: 1
        }

        rate = .07
        in flow = rate * accum

        accum stock = {
                inital: 200
                inflow: in
        }
}

This is influenced by go's syntax, but boosd models are declarative rather than imperitive. Currently the best documentation and background on boosd is my thesis.

The advantage of boosd is the formal grammar and semantics, and that the model equations are cleanly presented in a compact representation.

development

This is in a very rough stage. I currently test by running a pipeline like this:

time (f=`mktemp --suffix=.go`; go install && boosd models/exp.osm >$f; go run $f; rm $f)

license

boosd is offered under the MIT license, see LICENSE for details.

About

language

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages