GlobalReaction

interface GlobalReaction<T> : Actionable<T>

A reaction with a GLOBAL input and output Context.

Properties

Link copied to clipboard
abstract var actions: List<Action<T>>

The list of Actions of the Reaction. Please be careful when you modify this list.

Link copied to clipboard
abstract var conditions: List<Condition<T>>

The list of Conditions of the Reaction. Please be careful when you modify this list.

Link copied to clipboard
abstract val inboundDependencies: ListSet<out Dependency>
Link copied to clipboard
abstract val outboundDependencies: ListSet<out Dependency>
Link copied to clipboard
open val rate: Double

Returns the speed of this Reaction. It is an average number, and can potentially change during the simulation, depending on the implementation.

Link copied to clipboard
open val tau: Time
Link copied to clipboard

Functions

Link copied to clipboard
abstract fun canExecute(): Boolean
Link copied to clipboard
abstract operator fun compareTo(other: Actionable<T>): Int
Link copied to clipboard
abstract fun execute()

Executes the reactions.

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

This method is called when the environment has completed its initialization. Can be used by this reaction to compute its next execution time - in case such computation requires an inspection of the environment.

Link copied to clipboard
abstract fun update(currentTime: Time, hasBeenExecuted: Boolean, environment: Environment<T, *>)

Updates the scheduling of this reaction.