3 ms·
I've worked with Flow-based programming in the past, and I use a similar model and principles when writing network servers. Looking at the proposed table of co
by jschrf 13y ago
I've worked with Flow-based programming in the past, and I use a similar model and principles when writing network servers.
Looking at the proposed table of contents, the topics listed are the topics I would like to read about.
I'm going to support this Kickstarter campaign because I think this model of programming is going to become increasingly more and more prevalent in the next 5 years.
One of the hardest problems I've run into is scheduling, and I look forward to reading his opinions on it.
- nitrogen 13y agoI experimented with event-driven scheduling for the flow-based system I developed for home automation, but in the end I took the straightforward route of scheduling everything in lockstep, based on distance from source nodes. I've considered some parallelizable hybrid approaches, but haven't got around to replacing what already works well enough. Perhaps this book will be worth checking out to see some additional ideas on scheduling.
- mattcarkci 13y agoI'm the author of the book... It may be fairly simple for you to change your design to generate a static call graph for the nodes using topographical sort. Then on each "tick" you simply execute each node, in order, from top to bottom. I always like to use a stack to schedule execution because I can then change the algorithm that schedules them to use a very different method. - Matt Carkci
- nitrogen 13y agoTopographical sort is actually what I use, storing the results of the sort in a run list as you describe. The tricky part was dealing with cycles in the graph.