Migrating to Blueprint
First consider autonomous case, then consider distributed case
- Message types are replaced by typed stores
- Threads are mostly replaced by methods
- GUI interfaces are replaced by Call-backs
- 'Classes' are typically mapped to circuits and are therefore encapsulated at the same granularity
- private functions are performed by sub-circuits
- Irregular functions are parallelized through dependency analysis
- Data-parallel calculations are best implemented using multi-dimensional objects
- Re-usable components will typically subscribe to their consumed events (inputs) but own the public stores that provide their outputs.
- Top-down versus bottom up. Go for coarse grain first
- Move file scope and static data