Production controlled by stem process
The previous experiment depicted proliferon production
during a varying demand which was driven by the observer. In the
present experiment production is driven by the stem CA-0. The proliferon
consists of a stem CA-0, and three transitional processes, CA-1, CA-2,
and CA-3. CA-2 gets resources from CA-1 and accumulates them. CA-1
and CA-2 behave like in the previous experiment. Here they are driven
by CA-3.
delivery[2, 1, Min[40, tolerance[3] / 20., 2] ;
delivery[2, 2, Min[40, tolerance[3] / 20.,, 2] ;
delivery[3, 3, 30, 0] ;
If[ p[1,prev] > p[1,now], set rule[250]];
else [set rule[600]]
If[ p[2,prev] > p[2,now], set rule[250]]; else [set
rule[600]]
If[ tolerance[3]/20. > 40, kill[CA-3]]
Before the experiment started, CA-0 planted two zygotes
which grew into mature isolated CA-1 and CA-2. When the experiment starts
CA-0 plants an isolated CA-3, whose tolerance controls the production
of CA-1 and CA-2. When CA-3 tolerance reaches 40 units, CA-0 kills
CA-3, plants a new zygote instead and the cycle starts again. When
CA-3 tolerance rises, CA-1 and CA-2 switch between rules 600 and 250
in the same way they responded to the rising demand of the previous
experiment . CA-1 delivers its daily product to CA-2 (accumulator).
CA-0 triggers the transitory CA at two time points when planting zygote[3] and when killing CA-3. The interval is chosen by CA-0. Whenever CA-3 is killed it is replaced with a zygote. Its survival depends on the tolerance level at which it will be killed. Higher tolerance level will generate longer cycles, and vice versa. If[ tolerance[3]/20. > 20, kill[CA-3]]
delivery:
[j, j-1, While[p[j-1] > set point], 2]
Argument[1]: Activated CA.
Argument[2]: Activating CA.
Argument[3]: Delivery condition.
Argument[4]: Delivery amount.
p[j]: daily production