Package it.unibo.alchemist.model.interfaces

This package contains the interfaces to implement in order to realise the model.

Types

Link copied to clipboard
interface Action<T> : Serializable
Link copied to clipboard
interface BenchmarkableEnvironment<T, P : Position<out P>?> : Environment<T, P>
An environment which provides a mean to get infos about its performances.
Link copied to clipboard
interface CellNode<P : Position<out P>?> : Node<Double>
Link copied to clipboard
interface CellWithCircularArea<P : Position<out P>?> : CellNode<P>
Implements a cell with a defined volume.
Link copied to clipboard
interface CircularDeformableCell<P : Position<out P>?> : CellWithCircularArea<P>
Implements a circular deformable cell.
Link copied to clipboard
interface CognitivePedestrian<T, V : Vector<V>, A : GeometricTransformation<V>> : Pedestrian<T, V, A>

A heterogeneous pedestrian with cognitive capabilities.

Link copied to clipboard

A pedestrian with cognitive characteristics that lives in a bidimensional environment.

Link copied to clipboard
interface Concentration<T> : Serializable
This interface is a wrapper for concentrations.
Link copied to clipboard
interface Condition<T> : Serializable
Link copied to clipboard
enum Context
This enum describes the possible contexts for a given Action or Condition.
Link copied to clipboard
interface Dependency : Serializable
This interface represents a token that may generate a dependency between two reactions.
Link copied to clipboard
interface Environment<T, P : Position<out P>?> : Serializable, Iterable<Node<T>>
Interface for an environment.
Link copied to clipboard
interface EnvironmentNode : Node<Double>
Link copied to clipboard
interface EnvironmentSupportingDeformableCells<P : Position<out P>?> : Environment<Double, P>
Environment supporting deformable cells.
Link copied to clipboard
interface EnvironmentWithObstacles<W : Obstacle<P>, T, P : Position<P>, Vector<P>> : EuclideanEnvironment<T, P>

An environment with Obstacles.

Link copied to clipboard
interface EuclideanEnvironment<T, P : Position<P>, Vector<P>> : Environment<T, P>

An Euclidean space, where Positions P are valid Vectors, supporting any concentration type T.

Link copied to clipboard
interface GeoPosition : Position2D<GeoPosition>
Represents a specific point on the Earth's surface.
Link copied to clipboard
interface GPSPoint : GeoPosition, Comparable<GPSPoint>
Link copied to clipboard
interface GPSTrace : TimedRoute<GPSPoint>
Link copied to clipboard
interface Group<T, N : Node<T>>

A group of nodes.

Link copied to clipboard
interface GroupSteeringAction<T, P : Position<P>, Vector<P>> : SteeringAction<T, P>

A SteeringAction related to a group of pedestrians.

Link copied to clipboard
interface GroupWithLeader<T, N : Node<T>> : Group<T, N>

A group with a special member acting as a leader.

Link copied to clipboard
interface HeterogeneousPedestrian<T, S : Vector<S>, A : GeometricTransformation<S>> : Pedestrian<T, S, A>

Pedestrians that can differ by age, geneder, etc, depending on their HeterogeneousPedestrianModel.

Link copied to clipboard
interface ILsaAction : Action<List<ILsaMolecule>>
Link copied to clipboard
interface ILsaCondition : Condition<List<ILsaMolecule>>
Link copied to clipboard
interface ILsaMolecule : Molecule, Iterable<IExpression> , Comparable<ILsaMolecule>
Link copied to clipboard
interface ILsaNode : Node<List<ILsaMolecule>>
Interface for an LSA Node.
Link copied to clipboard
interface Incarnation<T, P : Position<out P>?>
Link copied to clipboard
interface Layer<T, P : Position<out P>?> : Serializable
Interface for static layer, containing a substance or a molecule with a spatial distribution.
Link copied to clipboard
interface LinkingRule<T, P : Position<out P>?> : Serializable
An interface that represent an auto-linking logic for nodes within an environment.
Link copied to clipboard
Link copied to clipboard
interface Molecule : Dependency
Interface for a molecule.
Link copied to clipboard
interface NavigationAction<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, L : ConvexGeometricShape<P, A>, R, N : ConvexGeometricShape<P, A>, E> : SteeringAction<T, P>

A SteeringAction allowing a pedestrian to navigate an environment consciously (e.g. without getting stuck in U-shaped obstacles). Names are inspired to indoor environments, but this interface works for outdoor ones as well.

Link copied to clipboard
typealias NavigationAction2D<T, L, R, N, E> = NavigationAction<T, Euclidean2DPosition, Euclidean2DTransformation, L, R, N, E>

A NavigationAction in a bidimensional euclidean space.

Link copied to clipboard
interface NavigationStrategy<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, L : ConvexGeometricShape<P, A>, R, N : ConvexGeometricShape<P, A>, E>

Defines what a pedestrian should do when in a new room (= environment's area), this is designed to be used jointly with a NavigationAction: the latter defines how to properly move the pedestrian, while delegating the decision on where to move it to a NavigationStrategy.

Link copied to clipboard
typealias NavigationStrategy2D<T, L, R, N, E> = NavigationStrategy<T, Euclidean2DPosition, Euclidean2DTransformation, L, R, N, E>

A NavigationStrategy in a bidimensional euclidean space.

Link copied to clipboard
interface Neighborhood<T> : Serializable, Cloneable, Iterable<Node<T>>
The type which describes the concentration of a molecule Interface for a neighborhood.
Link copied to clipboard
interface Node<T> : Serializable, Iterable<Reaction<T>> , Comparable<Node<T>>
Link copied to clipboard
interface ObjectWithGPS
Link copied to clipboard
interface Obstacle<V : Vector<V>> : Serializable

A generic obstacle in a vector space.

Link copied to clipboard
interface Obstacle2D<V : Vector2D<V>?> : Obstacle<V> , Shape
An Obstacle in a bidimensional space.
Link copied to clipboard
interface OrientingAgent<V : Vector<V>, A : GeometricTransformation<V>, L : ConvexGeometricShape<V, A>, R>

An agent capable of orienting itself inside an environment.

Link copied to clipboard
typealias OrientingAgent2D = OrientingAgent<Euclidean2DPosition, Euclidean2DTransformation, Ellipse, DefaultEdge>

An agent capable of orienting itself inside an Euclidean environment.

Link copied to clipboard
interface OrientingPedestrian<T, V : Vector<V>, A : GeometricTransformation<V>, L : ConvexGeometricShape<V, A>, R> : Pedestrian<T, V, A> , OrientingAgent<V, A, L, R>

A pedestrian capable of orienting itself.

Link copied to clipboard

An OrientingPedestrian in an euclidean bidimensional space.

Link copied to clipboard
interface Pedestrian<T, S : Vector<S>, A : GeometricTransformation<S>> : NodeWithShape<T, S, A>

A plain pedestrian.

Link copied to clipboard
interface Pedestrian2D<T> : Pedestrian<T, Euclidean2DPosition, Euclidean2DTransformation>

A bidimensional pedestrian.

Link copied to clipboard
interface PedestrianGroup<T, P : Vector<P>, A : GeometricTransformation<P>> : Group<T, Pedestrian<T, P, A>>
Link copied to clipboard

A PedestrianGroup featuring bidimensional pedestrians.

Link copied to clipboard
interface PhysicalNode<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, F : GeometricShapeFactory<P, A>> : NodeWithShape<T, P, A>

A NodeWithShape capable of interacting physically with others (e.g. bumping into each other). Each physical node is responsible for the computation of the physical forces to which it is subject.

Link copied to clipboard
interface PhysicalPedestrian<T, P : Vector<P>, Position<P>, A : GeometricTransformation<P>, F : GeometricShapeFactory<P, A>> : PhysicalNode<T, P, A, F> , Pedestrian<T, P, A>

A pedestrian capable of interacting physically with others. PhysicalPedestrians have a comfortArea: when another node enters such area, this pedestrian is subject to a repulsion force. This is derived from the work of Pelechano et al. Note that PhysicalPedestrians don't actively push each other, pushing behavior emerges from the interaction of pedestrians with different comfort areas (see the article linked above).

Link copied to clipboard

A PhysicalPedestrian in an euclidean bidimensional space. This pedestrian has a circular comfortArea of radius equal to its shape radius plus a comfortRay. This is derived from the work of Pelechano et al.

Link copied to clipboard
interface PhysicalSteeringStrategy<T, P : Position<P>, Vector<P>, A : GeometricTransformation<P>, F : GeometricShapeFactory<P, A>> : SteeringStrategy<T, P>

Defines how physical forces and steering actions (which may be seen as intentional forces) are combined to compute the overall next position reached by a physical node. The combination of steering actions is delegated to a nonPhysicalStrategy. The resulting intentional force is then combined with the physical ones to determine the next position reached by node.

Link copied to clipboard
interface Position<P : Position<P>> : Serializable

An interface to represent a generic coordinates system.

Link copied to clipboard
interface Position2D<P : Position2D<P>> : Position<P>

A bidimensional position.

Link copied to clipboard
interface Reaction<T> : Comparable<Reaction<T>> , Serializable
Link copied to clipboard
interface Route<P : Position<out Any>?> : Iterable<P> , Serializable
Link copied to clipboard
interface RoutingService<P : Position<P>, O : RoutingServiceOptions<O>> : Serializable

A service capable to generate routes into an environment. Parametric on the Position type P and the supported RoutingServiceOptions.

Link copied to clipboard
interface RoutingServiceOptions<out O : RoutingServiceOptions<O>> : Serializable

Tag interface, used to track the set of options available for a RoutingService.

Link copied to clipboard
interface SteeringAction<T, P : Position<P>> : Action<T>

Action whose purpose is moving a node inside the environment it is in.

Link copied to clipboard
interface SteeringActionWithTarget<T, P : Position<P>, Vector<P>> : SteeringAction<T, P>

A SteeringAction with a defined target.

Link copied to clipboard
interface SteeringStrategy<T, P : Position<P>>

Strategy interface describing how the next points of the steering actions are combined to calculate the next position to move on.

Link copied to clipboard
interface Time : Comparable<Time> , Serializable
Interface for time representation.
Link copied to clipboard
interface TimeDistribution<T> : Cloneable, Serializable
This interface represents a temporal distribution for any event.
Link copied to clipboard
interface TimedRoute<P : Position<out Any>?> : Route<P>
Route with total trip time to cross it.
Link copied to clipboard
interface VisibleNode<T, P : Position<P>>