Class MoleculeControlledTimeDistribution

  • All Implemented Interfaces:
    it.unibo.alchemist.model.TimeDistribution , java.io.Serializable , kotlin.Cloneable

    
    public final class MoleculeControlledTimeDistribution<T extends Object>
    extends AnyRealDistribution<T>
                        

    A special TimeDistribution that schedules the reaction after start, according to the value of a molecule which contains the delta time. If a property is specified, the value to be interpreted as time delta is read from the incarnation. Otherwise, the node is accessed directly for reading the value.

    It's possible to associate an errorDistribution to this time distribution, whose samples will be used to shift the time samples.

    There are some conditions to be satisfied:

    • molecule must be modified exclusively by the reaction being scheduled

    • molecule must exist in the node. If it does not and the environment returns null, it is assumed to be zero

    • molecule must have a positive or zero value associated.

    • molecule's concentration must have a type which is understandable as a positive number (Number, Time, or a parse-able String).

    • the errorDistribution's samples plus the value of the molecule concentration (or property value) must always be greater than zero. It is thus recommended to use an errorDistribution whose support lower bound is zero or greater