Class Fuller

  • All Implemented Interfaces:
    Mental

    public class Fuller
    extends Object
    implements Mental
    Task-capability interface in accordance to Fuller (2011). Task demand is the sum of demands described by individual Tasks. These take exogenous information to describe the workload in fundamental relations. Task demand is divided by task capability to arrive at a task saturation. Task saturation is input to BehavioralAdaptations which alter parameters describing personal traits, such as desired headway and desired speed. In this way, task demand is kept at an equilibrium as described by Fuller.

    A BehavioralAdaptation may also determine what the level of situational awareness is, which includes determining reaction time. Both situational awareness and reaction time parameters can be used in perception to model deteriorated perception due to a task demand imbalance.

    Fuller, R., Driver control theory: From task difficulty homeostasis to risk allostasis, in Handbook of Traffic Psychology. 2011. p. 13-26

    Copyright (c) 2013-2022 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
    BSD-style license. See OpenTrafficSim License.

    Version:
    $Revision$, $LastChangedDate$, by $Author$, initial version 3 apr. 2018
    Author:
    Alexander Verbraeck, Peter Knoppers, Wouter Schakel
    • Field Detail

      • TC

        public static final org.opentrafficsim.base.parameters.ParameterTypeDouble TC
        Task capability in nominal task capability units, i.e. mean is 1.
      • TS_CRIT

        public static final org.opentrafficsim.base.parameters.ParameterTypeDouble TS_CRIT
        Critical task saturation.
      • TS_MAX

        public static final org.opentrafficsim.base.parameters.ParameterTypeDouble TS_MAX
        Maximum task saturation, pertaining to maximum deterioration.
      • TS

        public static final org.opentrafficsim.base.parameters.ParameterTypeDouble TS
        Task saturation.
    • Constructor Detail

      • Fuller

        public Fuller​(Set<? extends Task> tasks,
                      Set<Fuller.BehavioralAdaptation> behavioralAdapatations)
        Constructor with custom situational awareness.
        Parameters:
        tasks - Set<? extends Task>; tasks
        behavioralAdapatations - Set<BehavioralAdaptation>; behavioralAdapatations
      • Fuller

        public Fuller​(Set<? extends Task> tasks,
                      Set<Fuller.BehavioralAdaptation> behavioralAdapatations,
                      TaskManager taskManager)
        Constructor with custom situational awareness.
        Parameters:
        tasks - Set<? extends Task>; tasks
        behavioralAdapatations - Set<BehavioralAdaptation>; behavioralAdapatations
        taskManager - TaskManager; task manager
    • Method Detail

      • addTask

        public void addTask​(Task task)
        Adds a task.
        Parameters:
        task - Task; task to add
      • removeTask

        public void removeTask​(Task task)
        Removes a task.
        Parameters:
        task - Task; task to remove
      • getTasks

        public ImmutableSet<Task> getTasks()
        Returns the tasks.
        Returns:
        ImmutableSet<Task> tasks
      • apply

        public void apply​(LanePerception perception)
                   throws org.opentrafficsim.base.parameters.ParameterException,
                          GTUException
        Apply mental model on perception.
        Specified by:
        apply in interface Mental
        Parameters:
        perception - LanePerception; perception
        Throws:
        org.opentrafficsim.base.parameters.ParameterException - if a parameter is missing or out of bounds
        GTUException - exceptions pertaining to the GTU
      • getAnticipationReliance

        public double getAnticipationReliance​(String taskId)
        Returns the anticipation reliance of the given task id.
        Parameters:
        taskId - taskId; task id to return the anticipation reliance for.
        Returns:
        double; anticipation reliance of given task id, NaN if not present
      • getTaskDemand

        public double getTaskDemand​(String taskId)
        Returns the demand of the given task id.
        Parameters:
        taskId - taskId; task id to return the demand for.
        Returns:
        double; demand of given task id, NaN if not present