Incarnation

interface Incarnation<T, P : Position<out P>>

An incarnation: the factory of the model entities of a specific computational model.

Type Parameters

T

concentration type

P

position type

Inheritors

Functions

Link copied to clipboard
abstract fun createAction(randomGenerator: RandomGenerator, environment: Environment<T, P>, node: Node<T>?, reaction: Reaction<T>, additionalParameters: Any?): Action<T>

Creates an Action hosted by reaction, and by node (if any), in environment, using randomGenerator and parsing additionalParameters.

Link copied to clipboard
abstract fun createConcentration(descriptor: Any? = null): T

Creates a new concentration of a specific concrete type, parsing descriptor.

Link copied to clipboard
abstract fun createCondition(randomGenerator: RandomGenerator, environment: Environment<T, P>, node: Node<T>?, reaction: Reaction<T>, additionalParameters: Any?): Condition<T>

Creates a Condition hosted by reaction, and by node (if any), in environment, using randomGenerator and parsing additionalParameters.

Link copied to clipboard
abstract fun createMolecule(s: String): Molecule

Parses s into a Molecule.

Link copied to clipboard
abstract fun createNode(randomGenerator: RandomGenerator, environment: Environment<T, P>, parameter: Any?): Node<T>

Creates a Node for environment, using randomGenerator and parsing parameter.

Link copied to clipboard
abstract fun createNodeReaction(randomGenerator: RandomGenerator, environment: Environment<T, P>, node: Node<T>, timeDistribution: TimeDistribution<T>, parameter: Any?): NodeReaction<T>

Creates a NodeReaction hosted by node in environment, scheduled by timeDistribution, using randomGenerator and parsing parameter.

Link copied to clipboard
abstract fun createReaction(randomGenerator: RandomGenerator, environment: Environment<T, P>, parameter: Any?): Reaction<T>

Creates an environment-level Reaction in environment, using randomGenerator and parsing parameter.

Link copied to clipboard
abstract fun createTimeDistribution(randomGenerator: RandomGenerator, environment: Environment<T, P>, node: Node<T>?, parameter: Any?): TimeDistribution<T>

Creates a TimeDistribution for a reaction hosted by node (if any) in environment, using randomGenerator and parsing parameter.

Link copied to clipboard
abstract fun readConcentration(node: Node<T>, molecule: Molecule, property: String): Double

Extracts a numeric value from node, given a molecule and a property. Returns Double.NaN if a numeric value is not deducible.