com.azalient.api.b.parameters
Interface IBehaviour

All Superinterfaces:
IRecord, RecordR, RecordRW, RecordW, SortableData, StoreRecordRW

public interface IBehaviour
extends StoreRecordRW

The behaviour of a person making a trip (vehicle driver or person)


Field Summary
static String NAME_PREFIX
          The name pattern for new objects
static double STD_HEADWAY
          The standard driving target headway between vehicles, in seconds
static double STD_LANE_CHANGE_TIME
          The standard time for lane changing, in seconds
static double STD_MINIMUM_GAP
          The standard minimum gap between vehicles, in metres
static double STD_PARK_DURATION
          The standard time duration for parking, in hours.
static double STD_REACTION_TIME
          The standard reaction time for drivers, in seconds
static double STD_SAFETY_MARGIN
          The standard safety factor used for minimum stopping distances, etc.
static IBehaviour[] ZERO
          A static zero-length array, created for convenience, and to save memory
 
Fields inherited from interface com.azalient.api.a.tables.IRecord
DELETED, KEY_SEP, KEY_SEP_CHAR
 
Method Summary
 double aggression()
          Aggression: a value between 0 and 1
 double awareness()
          Awareness: a value between 0 and 1
 boolean canCycle()
          Return true if a person of this behaviour will consider taking a cycle
 boolean canDrive()
          Return true if a drive-park option is available for this behaviour.
 boolean canDropOff()
          Return true if a drop-off option is available for this behaviour.
 boolean canPark()
          Deprecated. use canDrive()
 boolean canRide()
          Return true if a person of this behaviour can ride on public transport.
 boolean canTaxi()
          Return true if a person of this behaviour will consider taking a taxi
 boolean canWalk()
          Return true if a person of this behaviour can walk.
 double costBase(TravelMode mode)
          The (perceived) base cost of a trip for agent of this behaviour, using the given mode of travel
 double costOfDistance(TravelMode mode)
          The (perceived) cost of distance for an agent of this behaviour, using the given mode of travel.
 double costOfPrice()
          The (perceived) cost of price for an agent of this behaviour.
 double costOfStop(TravelMode mode)
          The (perceived) cost of a stop for an agent of this behaviour, using the given mode of travel.
 double costOfTime(TravelMode mode)
          The (perceived) cost of time for an agent of this behaviour, using the given mode of travel.
 void costs(TravelMode mode, double costOfTime, double costOfDistance, double costOfStop, double costBase)
           
 double driveSpreading()
          Route spreading for driving, expressed as a value between 0 and 1.
 boolean dynamicRouting()
          Return true if agents with this behaviour receive dynamic route cost updates to allow in-journey route recalculation
 double familiarity()
          Familiarity: a value between 0 and 1
 int index()
          The 0-based index of this behaviour
 boolean isOptimist()
          Returns true if this behaviour uses "optimistic" parking search, that is, the belief that there will be an available space in the most popular area.
 double laneChangeGap()
          The minimum acceptable gap time for lane changing
 boolean matchedVehicle()
          Deprecated. true if the (non-taxi) vehicle selected for drive-park must have this behaviour too
 double meanHeadway()
          A value for mean headway, used in some of the car following algorithms.
 double meanReactionTime()
          A value for mean reaction time, used in some of the car following algorithms.
 double minimumGap()
          The minimum gap in metres between vehicles.
 boolean mustPickUp()
          Return true if a person of this behaviour must be picked up at a parking zone.
 double parkDurationHours()
          The parking time in hours, used to calculate the parking price for this behaviour
 IDivision parkingDivision()
          A division of vehicle types to use when selecting from parked vehicles.
 double patience()
          Patience: a value between 0 and 1
 double routeSpreading()
          Deprecated. use driveSpreading() or walkSpreading()
 double safetyMargin()
          A multiplier used to increase the safe stopping distance, and as a consequence the gap required for lane changing
 double speedCompliance()
          Speed Compliance: a value between 0 and N, where 1.0 equates to driving at exactly the speed limit
 boolean suitableParkingVehicle(IVehicleType vtype)
          Returns true if the given type of vehicle is suitable for a trip for this behaviour that starts or ends with parking
 double variability()
          The variability of: (speed) compliance reaction time gap etc defined in terms of std.
 double walkSpreading()
          Route spreading for walking, expressed as a value between 0 and 1.
 
Methods inherited from interface com.azalient.api.file.StoreRecordRW
canRename, rename, store
 
Methods inherited from interface com.azalient.api.file.RecordR
extraSet, finished, isApplicable, isEditable, set
 
Methods inherited from interface com.azalient.api.a.tables.IRecord
name
 
Methods inherited from interface com.azalient.api.file.RecordW
extraCols, extraGet, extraGetB, extraGetD, extraGetI, extraGetS, extraGetT, get, isVolatile
 

Field Detail

ZERO

static final IBehaviour[] ZERO
A static zero-length array, created for convenience, and to save memory


NAME_PREFIX

static final String NAME_PREFIX
The name pattern for new objects

See Also:
Constant Field Values

STD_MINIMUM_GAP

static final double STD_MINIMUM_GAP
The standard minimum gap between vehicles, in metres

See Also:
Constant Field Values

STD_HEADWAY

static final double STD_HEADWAY
The standard driving target headway between vehicles, in seconds

See Also:
Constant Field Values

STD_REACTION_TIME

static final double STD_REACTION_TIME
The standard reaction time for drivers, in seconds

See Also:
Constant Field Values

STD_LANE_CHANGE_TIME

static final double STD_LANE_CHANGE_TIME
The standard time for lane changing, in seconds

See Also:
Constant Field Values

STD_SAFETY_MARGIN

static final double STD_SAFETY_MARGIN
The standard safety factor used for minimum stopping distances, etc. Unitless.

See Also:
Constant Field Values

STD_PARK_DURATION

static final double STD_PARK_DURATION
The standard time duration for parking, in hours. This is used to calculate parking costs.

See Also:
Constant Field Values
Method Detail

index

int index()
The 0-based index of this behaviour


speedCompliance

double speedCompliance()
Speed Compliance: a value between 0 and N, where 1.0 equates to driving at exactly the speed limit


aggression

double aggression()
Aggression: a value between 0 and 1


awareness

double awareness()
Awareness: a value between 0 and 1


familiarity

double familiarity()
Familiarity: a value between 0 and 1


patience

double patience()
Patience: a value between 0 and 1


minimumGap

double minimumGap()
The minimum gap in metres between vehicles. This is modulated for this vehicle, by the gap factor of the leader. That is, the gap behind (say) a truck can be greater (or less) than if behind a car


meanHeadway

double meanHeadway()
A value for mean headway, used in some of the car following algorithms. In the Gipps model (the default), the headway is derived from the reaction time, so this value is not used in that model.


meanReactionTime

double meanReactionTime()
A value for mean reaction time, used in some of the car following algorithms. Note that in the Fritzsche and Wiedemann models, this is not used.


safetyMargin

double safetyMargin()
A multiplier used to increase the safe stopping distance, and as a consequence the gap required for lane changing


costOfTime

double costOfTime(TravelMode mode)
The (perceived) cost of time for an agent of this behaviour, using the given mode of travel. The cost of a journey in a vehicle (for example a taxi fare) will use IMotorType.costOfTime()


costOfDistance

double costOfDistance(TravelMode mode)
The (perceived) cost of distance for an agent of this behaviour, using the given mode of travel. The cost of a journey in a vehicle (for example a taxi fare) will use IMotorType.costOfDistance()


costOfStop

double costOfStop(TravelMode mode)
The (perceived) cost of a stop for an agent of this behaviour, using the given mode of travel.


costBase

double costBase(TravelMode mode)
The (perceived) base cost of a trip for agent of this behaviour, using the given mode of travel


costOfPrice

double costOfPrice()
The (perceived) cost of price for an agent of this behaviour. This is applied to tolls and otehr monetary cost penalties associated with a route.


costs

void costs(TravelMode mode,
           double costOfTime,
           double costOfDistance,
           double costOfStop,
           double costBase)

routeSpreading

double routeSpreading()
Deprecated. use driveSpreading() or walkSpreading()


driveSpreading

double driveSpreading()
Route spreading for driving, expressed as a value between 0 and 1. For example, if this is 0.1, then routes up to 10% more costly will be considered


walkSpreading

double walkSpreading()
Route spreading for walking, expressed as a value between 0 and 1. For example, if this is 0.1, then routes up to 10% more costly will be considered


laneChangeGap

double laneChangeGap()
The minimum acceptable gap time for lane changing


parkDurationHours

double parkDurationHours()
The parking time in hours, used to calculate the parking price for this behaviour


canWalk

boolean canWalk()
Return true if a person of this behaviour can walk. If this is false, it does not rule out public transport or parking, but stands or zones must be directly connected to areas at both ends of trip.


canRide

boolean canRide()
Return true if a person of this behaviour can ride on public transport. If this is false, and the trip is too long to walk, then a person of this type will drive to the destination, either as the driver, if canPark() is true, as the passenger, if canDropOff() is true, or as a last resort, in a taxi


canPark

boolean canPark()
Deprecated. use canDrive()


canDrive

boolean canDrive()
Return true if a drive-park option is available for this behaviour. That is, if true, part of the trip may be fulfilled by drive-park


canDropOff

boolean canDropOff()
Return true if a drop-off option is available for this behaviour. That is, if a drop-off zone is available, and this is true, then a drop-off vehicle will be used, otherwise a taxi will be used


mustPickUp

boolean mustPickUp()
Return true if a person of this behaviour must be picked up at a parking zone. That is, if a pick-up zone is available, and this is true then a pick-up vehicle will be used


canTaxi

boolean canTaxi()
Return true if a person of this behaviour will consider taking a taxi


canCycle

boolean canCycle()
Return true if a person of this behaviour will consider taking a cycle


matchedVehicle

boolean matchedVehicle()
Deprecated. true if the (non-taxi) vehicle selected for drive-park must have this behaviour too


suitableParkingVehicle

boolean suitableParkingVehicle(IVehicleType vtype)
Returns true if the given type of vehicle is suitable for a trip for this behaviour that starts or ends with parking


variability

double variability()
The variability of: defined in terms of std. deviations relative to the mean. So a value of 0.1 would mean that a distribution would have -1SD to +1 SD from 0.9x mean to 1.1x mean.


dynamicRouting

boolean dynamicRouting()
Return true if agents with this behaviour receive dynamic route cost updates to allow in-journey route recalculation


parkingDivision

IDivision parkingDivision()
A division of vehicle types to use when selecting from parked vehicles. This can be either a logical or demand type. A demand division is expected, to generate vehicles in proportion but a logical division is accepted as a convenience, for example to save duplication of a single-type division

The %age values are used when


isOptimist

boolean isOptimist()
Returns true if this behaviour uses "optimistic" parking search, that is, the belief that there will be an available space in the most popular area. If this is false, then "Pessimistic" parking behaviour is used, which means the driver will use the first space available even if it is not in a popular area, in the belief that all popular bays will already be taken.