If I make multiple clones of a State, I cannot use them as the initial states of different JBSE instances running concurrently, because they all share the same instance of Calculator, and thus concurrent JBSE instances reenter in it disrupting calculations as Calculators are not in general reentrant. This is problematic since the dependency on the Calculator is pervasively injected in all the Primitives and DecisionProcedures. The experiment of wrapping the Calculator so it is guarded by a mutex did not work, for a reason that is not really clear yet.
If I make multiple clones of a
State
, I cannot use them as the initial states of different JBSE instances running concurrently, because they all share the same instance ofCalculator
, and thus concurrent JBSE instances reenter in it disrupting calculations asCalculator
s are not in general reentrant. This is problematic since the dependency on theCalculator
is pervasively injected in all thePrimitive
s andDecisionProcedure
s. The experiment of wrapping theCalculator
so it is guarded by a mutex did not work, for a reason that is not really clear yet.