CognitiveBehavior

class CognitiveBehavior<T, V : Vector<V>, A : Transformation<V>>(node: Node<T>, timeDistribution: TimeDistribution<T>) : AbstractReaction<T>

Reaction representing the cognitive behavior of a pedestrian.

Parameters

node
the owner of this reaction.
timeDistribution
the time distribution according to this the reaction executes.

Constructors

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

Properties

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

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

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

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

Link copied to clipboard
val inboundDependencies: @EnhancedNullability org/danilopianini/util/ListSet<it/unibo/alchemist/model/Dependency!>
Link copied to clipboard

The widest Context among Conditions, namely the smallest Context in which the Reaction can read informations.

Link copied to clipboard
val node: Node<T?>
Link copied to clipboard
val outboundDependencies: @EnhancedNullability org/danilopianini/util/ListSet<it/unibo/alchemist/model/Dependency!>
Link copied to clipboard

The widest Context among Actions, namely the smallest context in which the Reaction can do modifications.

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
val tau: Time
Link copied to clipboard

Functions

Link copied to clipboard
open fun canExecute(): Boolean
Link copied to clipboard
open override fun cloneOnNewNode(node: Node<T>, currentTime: Time): CognitiveBehavior<T, out Vector<*>, Nothing>

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

Link copied to clipboard
operator fun compareTo(o: Actionable<T?>): Int
Link copied to clipboard
open fun execute()

Executes the reactions.

Link copied to clipboard
open 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
Link copied to clipboard
fun update(currentTime: Time, hasBeenExecuted: Boolean, environment: Environment<T?, *>)

Updates the scheduling of this reaction.