Package-level declarations

Types

Link copied to clipboard
abstract class AccessPointNetworkModel<T, P : Position<P>, Input>(environment: Environment<T, P>, radius: Double, val accessPointId: Molecule) : ObservingRangeBasedNetworkModel<T, P, Input>

An ObservingRangeBasedNetworkModel whose links depend on which nodes are access points, namely the nodes containing accessPointId.

Link copied to clipboard
open class AdaptiveRange<T, P : Position<P>> @JvmOverloads constructor(environment: Environment<T, P>, radius: Double, desiredNeighbors: Int, tolerance: Int, minRange: Double = DEFAULT_MINRANGE, maxRange: Double = DEFAULT_MAXRANGE, adjustment: Double = DEFAULT_ADJUSTMENT) : ObservingRangeBasedNetworkModel<T, P, AdaptiveRange.LinkState<P>>

A RangeBasedNetworkModel where each node has its own range, adjusted to keep its number of neighbors close to a target: two nodes are linked when each is within the range of the other, and conditionForRemoval does not hold. Whenever its neighborhood changes, the range of a node converges, by steps of adjustment within minRange and maxRange, until its number of neighbors is within tolerance of desiredNeighbors.

Link copied to clipboard
open class ClosestN<T, P : Position<P>> @JvmOverloads constructor(environment: Environment<T, P>, nodeCount: Int, expectedNodes: Int = 0) : NetworkModel<T>

Network model linking every enabled node to its nodeCount closest enabled nodes, and to the enabled nodes that count it among their nodeCount closest; ties are broken by the lowest node id. No node is linked while environment holds fewer than expectedNodes nodes.

Link copied to clipboard

A network model that combines multiple subRules all bound to the same environment. If any mandates a link, such link is created (union of all links).

Link copied to clipboard
class ConditionalClosestN<T, P : Position<P>>(environment: Environment<T, P>, nodeCount: Int, expectedNodes: Int, molecule: Molecule, value: T) : ClosestN<T, P>

A ClosestN linking only the nodes whose concentration of molecule is value.

Link copied to clipboard

Connects two nodes if, throwing a beam from one to the other, there exists at least one path entirely inside the beam that connects the two nodes. This model is ideal for environments with obstacles, where the user wants some tolerance in connection breaking.

Link copied to clipboard
class ConnectToAccessPoint<T, P : Position<P>>(environment: Environment<T, P>, radius: Double, accessPointId: Molecule) : AccessPointNetworkModel<T, P, Boolean>

Network model that connects nodes within a specified radius, but connects a node that is not an access point only to access points.

Link copied to clipboard

Network model that connects each node to its closest access point within range, and to the other nodes within range served by the same access point; access points are connected to each other when within range. The closest access point is the nearest one, ties being broken by the lowest node id.

Link copied to clipboard
class ConnectWithinDistance<T, P : Position<P>>(environment: Environment<T, P>, range: Double) : RangeBasedNetworkModel<T, P>

it.unibo.alchemist.model.NetworkModel which connects the nodes of environment whose distance is shorter than range.

Link copied to clipboard
class FullyConnected<T>(environment: Environment<T, *>) : NetworkModel<T>

This model connects every node of environment to each and every other.

Link copied to clipboard
open class NoLinks<T> : NetworkModel<T>
This model guarantees that no links are created at all.
Link copied to clipboard
abstract class ObservingRangeBasedNetworkModel<T, P : Position<P>, Observed>(environment: Environment<T, P>, range: Double) : RangeBasedNetworkModel<T, P>

A RangeBasedNetworkModel whose links depend on the state of the nodes, such as their positions or contents: each node exposes it as an Observed, through observeInput, and whether two nodes are linked is a function of their inputs only. Neighborhoods are recomputed whenever the candidate neighbors, by default the nodes within range, change, or the input of the center or of any candidate does.

Link copied to clipboard

Similar to ConnectWithinDistance, but if the environment has obstacles, the links they cross are removed.

Link copied to clipboard
class OffsetGraphStreamNetworkModel<T, P : Position<P>>(environment: Environment<T, P>, val offset: Int, val graph: Graph) : NetworkModel<T>

A NetworkModel that statically connects the nodes of environment as they were configured by GraphStream. An offset is used to determine the id of the environment's nodes when compared to the one of the provided graph.

Link copied to clipboard
abstract class RangeBasedNetworkModel<T, P : Position<P>>(environment: Environment<T, P>, range: Double) : NetworkModel<T>

A NetworkModel linking each node of environment to the nodes within range of it for which isLinked holds. Neighborhoods follow the nodes within range: isLinked must depend on nothing that changes while they stay in range, models whose links depend on further state extend ObservingRangeBasedNetworkModel instead.