AbstractMarkovianNodeReaction

abstract class AbstractMarkovianNodeReaction<T>(node: Node<T>, timeDistribution: TimeDistribution<T>) : AbstractNodeReaction<T> (source)

Reaction whose scheduling is driven by a memoryless exponential distribution. Propensities must be non-negative and not NaN; positive infinity is retained as an immediate occurrence.

Inheritors

Constructors

Link copied to clipboard
constructor(node: Node<T>, timeDistribution: TimeDistribution<T>)

Properties

Link copied to clipboard
open override var actions: List<Action<T>>
Link copied to clipboard
open override val canExecute: Observable<Boolean>
Link copied to clipboard
open override var conditions: List<Condition<T>>
Link copied to clipboard
override val host: Node<T>
Link copied to clipboard
open override val meanDelay: Double
Link copied to clipboard
Link copied to clipboard
open val rate: Double

The current rate of the exponentially distributed delays, namely the propensity of this reaction. By default, it is the rate of its ExponentialTime.

Link copied to clipboard

Functions

Link copied to clipboard
abstract fun cloneOnNewNode(node: Node<T>): NodeReaction<T>
Link copied to clipboard
operator override fun compareTo(other: Reaction<T>): Int
Link copied to clipboard
open override fun dispose()
Link copied to clipboard
open override fun execute()

Prepares valid conditions, applies the model mutation, and advances surviving distributed reactions.

Link copied to clipboard
override fun initializationComplete(atTime: Time, environment: Environment<T, *>)

Initializes reactive inputs after the model has been fully assembled.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
override fun updateSchedulingAfterFiring(currentTime: Time)

Refreshes reaction state after firing, then applies firing scheduling policy.

Link copied to clipboard
override fun updateSchedulingAfterInvalidation(currentTime: Time)