Process and Exchange flows
We're doing some remodeling of the NRP core model that may result in some changes to this vocabulary as well.
This is deep in the weeds, and I wonder if anybody else would be interested in thinking with us in some way. It is something that anybody who wants to implement economic networks of any kind will need to understand. For example, IPOTables will need to go there.
Fairly short explanation:
Fully detailed resource flows go like: resource->input->process->output->resource->take->exchange->give->resource-> etc. Or, shortened: [R]->(P)->[R]->{X}->[R]-> or shortened more, (P)->{X}->(P)->{X}->
The Sensorica network does not use internal exchanges very much, so for them, we have elided the exchanges, and just go: [R]->(P)->[R]->(P)->[R]-> (Which might also be how IPOTables thinks about it, except as far as we have seen, they are working on the recipe level (of the levels recipe, plan and event)).
We are now working with a different network where the processes are less important than the exchanges, so we are selectively implementing resource flows that elide the processes, and go: resource->take->exchange->give->resource-> etc. or [R]->{X}->[R]->{X}->[R]->
In doing that, we are also implementing Exchange Types that are similar to Process Types, so this network can do recipes of exchange-oriented resource flows.
We have code for the Sensorica process-oriented flows that generates plans from recipes, backschedules from due dates, forward schedules from start dates, and bumps schedules forward or backward due to late or early events. And also distributes income according to peoples' contributions along the flow paths. We will need to do the same for exchange-oriented flows, and then the fully detailed process-exchange-alternation flows.
Then we will start generalizing and see how much of this code could be refactored up to an abstract superclass, Economic Interaction Type.
This will all take a long time, at least the rest of this year, but the process-oriented flows work now, and we will need to to get the exchange-oriented flows working in the next month.
So if you are interested, reply here and we'll discuss.