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

Package it.unibo.alchemist.model.interfaces

Types

Action

interface Action<T : Any!> : Serializable

BenchmarkableEnvironment

An environment which provides a mean to get infos about its performances.

interface BenchmarkableEnvironment<T : Any!, P : Position<out P>!> : Environment<T, P>

Concentration

This interface is a wrapper for concentrations.

interface Concentration<T : Any!> : Serializable

Condition

interface Condition<T : Any!> : Serializable

Context

This enum describes the possible contexts for a given Action or Condition. A context represents the elements which are read for a Condition and the elements that may be subject of modifications for an Action. Choosing the right Context is crucial: if it's too restricted the simulation will be invalid, if it's too wide it WILL impact dramatically on performances. Contexts are used internally to better determine dependencies among reactions. See this paper for further information about the usage of contexts.

class Context

Dependency

This interface represents a token that may generate a dependency between two reactions. Some special built-in tokens are EVERYTHING, EVERY_MOLECULE, MOVEMENT, and NEIGHBORHOOD_CHANGE. Molecules are dependencies as well.

interface Dependency : Serializable

Environment

Interface for an environment. Every environment must implement this specification.

interface Environment<T : Any!, P : Position<out P>!> : Serializable, MutableIterable<Node<T>!>

Environment2DWithObstacles

interface Environment2DWithObstacles<W : Obstacle2D!, T : Any!, P : Position<out P>!> : Environment<T, P>

Incarnation

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

Layer

Interface for static layer, containing a substance or a molecule with a spatial distribution.

interface Layer<T : Any!, P : Position<out P>!> : Serializable

LinkingRule

An interface that represent an auto-linking logic for nodes within an environment.

interface LinkingRule<T : Any!, P : Position<out P>!> : Serializable

Molecule

Interface for a molecule.

interface Molecule : Dependency

Neighborhood

The type which describes the concentration of a molecule Interface for a neighborhood. When implementing it in a real class, please remember to correctly implement also the equals method inherited from Object.

interface Neighborhood<T : Any!> : Serializable, Cloneable, MutableIterable<Node<T>!>

Node

interface Node<T : Any!> : Serializable, MutableIterable<Reaction<T>!>, Comparable<Node<T>!>

Obstacle2D

interface Obstacle2D : Serializable, Shape

Position

An interface to represent a generic coordinates system.

interface Position<P : Position<P>> : Serializable

Position2D

A bidimensional position.

interface Position2D<P : Position2D<P>> : Position<P>

Reaction

interface Reaction<T : Any!> : Comparable<Reaction<T>!>, Serializable

Time

Interface for time representation.

interface Time : Comparable<Time!>, Serializable

TimeDistribution

This interface represents a temporal distribution for any event.

interface TimeDistribution<T : Any!> : Cloneable, Serializable