alchemist-interfaces / it.unibo.alchemist.model.interfaces / Condition

Condition

interface Condition<T : Any!> : Serializable

Functions

cloneCondition

This method allows to clone this action on a new node. It may result useful to support runtime creation of nodes with the same reaction programming, e.g. for morphogenesis.

abstract fun cloneCondition(n: Node<T>!, r: Reaction<T>!): Condition<T>!

getContext

abstract fun getContext(): Context!

getInboundDependencies

abstract fun getInboundDependencies(): ListSet<out Dependency!>!

getNode

abstract fun getNode(): Node<T>!

getPropensityContribution

This method is a support for the propensity calculation inside the Reactions. It allows this condition to influence the rate calculation in some way. It's up to the reaction to decide whether to use or not this information, and how.

abstract fun getPropensityContribution(): Double

isValid

abstract fun isValid(): Boolean

reactionReady

This method is called by the it.unibo.alchemist.core.interfaces.Simulation once the Reaction whose this Condition belongs to is the next one to be executed, and all its conditions passed (namely, the next operation will be the reaction execution). It can be used to perform sanity checks, as well as for registering the status of the simulated world for future comparisons. Defaults to an empty implementation.

open fun reactionReady(): Unit