vivarium-core icon indicating copy to clipboard operation
vivarium-core copied to clipboard

Separate Steps and Processes and Add Wirable Interface

Open U8NWXD opened this issue 3 years ago • 0 comments

Now that we are replacing Derivers with Steps, it's becoming increasingly clear that Steps and Processes are really quite different. It might be a good idea to reflect that distinction in our class hierarchy. We would have two top-level interfaces (abstract classes), Wirable and Composer. Process and Step would both implement each of these interfaces. Note that these interfaces would need to not have overlapping methods since that confuses Python's multiple inheritance.

As part of this shift, we should separate the code needed for wiring things together and put that with the Wirable interface. This will prepare our code to use the idea of wiring things together for purposes besides running simulations, e.g. running workflows or analyses

U8NWXD avatar Oct 29 '21 20:10 U8NWXD