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

Incarnation

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

Functions

createAction

abstract fun createAction(rand: RandomGenerator!, env: Environment<T, P>!, node: Node<T>!, time: TimeDistribution<T>!, reaction: Reaction<T>!, param: String!): Action<T>!

createConcentration

Creates a new concentration object of a specific concrete type.

abstract fun createConcentration(s: String!): T

createCondition

abstract fun createCondition(rand: RandomGenerator!, env: Environment<T, P>!, node: Node<T>!, time: TimeDistribution<T>!, reaction: Reaction<T>!, param: String!): Condition<T>!

createMolecule

Parses a String, and provides a Molecule.

abstract fun createMolecule(s: String!): Molecule!

createNode

abstract fun createNode(rand: RandomGenerator!, env: Environment<T, P>!, param: String!): Node<T>!

createReaction

abstract fun createReaction(rand: RandomGenerator!, env: Environment<T, P>!, node: Node<T>!, time: TimeDistribution<T>!, param: String!): Reaction<T>!

createTimeDistribution

abstract fun createTimeDistribution(rand: RandomGenerator!, env: Environment<T, P>!, node: Node<T>!, param: String!): TimeDistribution<T>!

getProperty

Given an Node, an Molecule and a property expressed as a String, returns a numeric value. If a numeric value is not deducible, Double.NaN is returned.

abstract fun getProperty(node: Node<T>!, mol: Molecule!, prop: String!): Double