Mon Jan 24 14:31:35 EST 2011

State space composition

Should be straightforward.  This is a class/instance thing.

A composition is:
  A collection of (named) instances, each from a particular class.
  A collection of connections.

The basic one should be straightforward: only numeric i/o addresses.
Compile time info could then be used to use names as added sugar.

(composite-model (in) (out)
  ((int1 integrator)
   (int2 integrator))
  ((int1 0 int2 0)
   (in   0 int1 0)
   (int2 0 out  0)))

This is just a dataflow -> DAG expression compiler.  The trouble is:
what to do with state?  Model it as just another output, then patch

The most straightforward way is to just execute the program: build the
graph, then traverse it from the outputs to inputs.

So, the state is something handled behind the scenes.  Trouble is, in
order to compose, this information needs to be available.  Maybe
implementing a model as a struct is good enough.  This would not allow
the use of names, but does allow proper patching.