The AHA Model  Revision: 12809
Reference implementation 04 (HEDG02_04)
the_neurobio::state_motivation_base Type Reference

These types describe the neurobiological states of the agent. (1) Each state may have several components that are related to specific inner or outer perception objects (stimuli). (2) There is also a motivation component that describes the global motivation value for this state. More...

Inheritance diagram for the_neurobio::state_motivation_base:
Collaboration diagram for the_neurobio::state_motivation_base:

Public Member Functions

procedure(motivation_init_root), deferred, public clean_init
 Abstract init function that has to be overridden by each object that extends the basic motivational state type. More...
 
procedure, public get_light => state_motivation_light_get
 These are basically the accessor get-functions, the set-functions are based on neural response from the perception object the_neurobio::appraisal. Get light perception component for this motivation state. See the_neurobio::state_motivation_light_get(). More...
 
procedure, public get_depth => state_motivation_depth_get
 Get depth perception component for this motivation state. See the_neurobio::state_motivation_depth_get(). More...
 
procedure, public get_food_dir => state_motivation_food_dir_get
 Get directly perceived food perception component for this motivation state. See the_neurobio::state_motivation_food_dir_get(). More...
 
procedure, public get_food_mem => state_motivation_food_mem_get
 Get food in past memory perception component for this motivation state. See the_neurobio::state_motivation_food_mem_get(). More...
 
procedure, public get_conspec => state_motivation_conspec_get
 Get conspecifics perception component for this motivation state. See the_neurobio::state_motivation_conspec_get(). More...
 
procedure, public get_pred_dir => state_motivation_pred_dir_get
 Standard "get" function for the state neuronal direct predation effect component. See the_neurobio::state_motivation_pred_dir_get(). More...
 
procedure, public get_predator => state_motivation_predator_get
 Get predator perception component for this motivation state. See the_neurobio::state_motivation_predator_get(). More...
 
procedure, public get_stomach => state_motivation_stomach_get
 Get stomach contents perception component for this motivation state. See the_neurobio::state_motivation_stomach_get(). More...
 
procedure, public get_bodymass => state_motivation_bodymass_get
 Get body mass perception component for this motivation state. See the_neurobio::state_motivation_bodymass_get(). More...
 
procedure, public get_energy => state_motivation_energy_get
 Get energy reserves perception component for this motivation state. See the_neurobio::state_motivation_energy_get(). More...
 
procedure, public get_age => state_motivation_age_get
 Get age perception component for this motivation state. See the_neurobio::state_motivation_age_get(). More...
 
procedure, public get_reprfac => state_motivation_reprfac_get
 Get reproductive factor perception component for this motivation state. See the_neurobio::state_motivation_reprfac_get(). More...
 
procedure, public motivation_value_prim => state_motivation_motivation_prim_get
 Get the overall primary motivation value (before modulation). See the_neurobio::state_motivation_motivation_prim_get(). More...
 
procedure, public motivation_value => state_motivation_motivation_get
 Get the overall final motivation value (after modulation). See the_neurobio::state_motivation_motivation_get(). More...
 
procedure, public is_dominant => state_motivation_is_dominant_get
 Check if the root state is the dominant state in GOS. See the_neurobio::state_motivation_is_dominant_get(). More...
 
procedure, public label_is => state_motivation_fixed_label_get
 Get the fixed label for this motivational state. Note that the label is fixed and cannot be changed. See the_neurobio::state_motivation_fixed_label_get(). More...
 
procedure, public attention_copy => state_motivation_attention_weights_transfer
 Transfer attention weights between two motivation state components. See the_neurobio::state_motivation_attention_weights_transfer(). More...
 
procedure, public max_perception => state_motivation_percept_maxval
 Calculate the maximum value over all perceptual components. See the_neurobio::state_motivation_percept_maxval(). More...
 
procedure, public motivation_calculate => state_motivation_calculate_prim
 Calculate the level of the primary motivation. See the_neurobio::state_motivation_calculate_prim(). More...
 

Public Attributes

type(percept_components_motivpercept_component
 Perceptual components. More...
 
type(percept_components_motivattention_weight
 Attention sets the weights given to the individual perceptual components in the calculation of the motivation value. More...
 
real(srp) motivation_prim
 Overall primary motivation values. More...
 
real(srp) motivation_finl
 Overall final motivation value after modulation is performed. More...
 
logical dominant_state
 Overall GOS value, is this motivation state is dominant (TRUE/FALSE)? More...
 

Private Attributes

character(len=label_length), private label
 Label for the motivation state, fixed, cannot be changed. More...
 

Detailed Description

These types describe the neurobiological states of the agent. (1) Each state may have several components that are related to specific inner or outer perception objects (stimuli). (2) There is also a motivation component that describes the global motivation value for this state.

This is the base type that serves as root for all other motivation and emotion states, which are extensions of this the_neurobio::state_motivation_base type.

Definition at line 952 of file m_neuro.f90.

Member Function/Subroutine Documentation

◆ clean_init()

procedure(motivation_init_root), deferred, public the_neurobio::state_motivation_base::clean_init

Abstract init function that has to be overridden by each object that extends the basic motivational state type.

Warning
Needs abstract interface, with import of the base object type the_neurobio::state_motivation_base.

Definition at line 986 of file m_neuro.f90.

◆ get_light()

procedure, public the_neurobio::state_motivation_base::get_light

These are basically the accessor get-functions, the set-functions are based on neural response from the perception object the_neurobio::appraisal. Get light perception component for this motivation state. See the_neurobio::state_motivation_light_get().

Definition at line 992 of file m_neuro.f90.

◆ get_depth()

procedure, public the_neurobio::state_motivation_base::get_depth

Get depth perception component for this motivation state. See the_neurobio::state_motivation_depth_get().

Definition at line 995 of file m_neuro.f90.

◆ get_food_dir()

procedure, public the_neurobio::state_motivation_base::get_food_dir

Get directly perceived food perception component for this motivation state. See the_neurobio::state_motivation_food_dir_get().

Definition at line 998 of file m_neuro.f90.

◆ get_food_mem()

procedure, public the_neurobio::state_motivation_base::get_food_mem

Get food in past memory perception component for this motivation state. See the_neurobio::state_motivation_food_mem_get().

Definition at line 1001 of file m_neuro.f90.

◆ get_conspec()

procedure, public the_neurobio::state_motivation_base::get_conspec

Get conspecifics perception component for this motivation state. See the_neurobio::state_motivation_conspec_get().

Definition at line 1004 of file m_neuro.f90.

◆ get_pred_dir()

procedure, public the_neurobio::state_motivation_base::get_pred_dir

Standard "get" function for the state neuronal direct predation effect component. See the_neurobio::state_motivation_pred_dir_get().

Definition at line 1008 of file m_neuro.f90.

◆ get_predator()

procedure, public the_neurobio::state_motivation_base::get_predator

Get predator perception component for this motivation state. See the_neurobio::state_motivation_predator_get().

Definition at line 1011 of file m_neuro.f90.

◆ get_stomach()

procedure, public the_neurobio::state_motivation_base::get_stomach

Get stomach contents perception component for this motivation state. See the_neurobio::state_motivation_stomach_get().

Definition at line 1014 of file m_neuro.f90.

◆ get_bodymass()

procedure, public the_neurobio::state_motivation_base::get_bodymass

Get body mass perception component for this motivation state. See the_neurobio::state_motivation_bodymass_get().

Definition at line 1017 of file m_neuro.f90.

◆ get_energy()

procedure, public the_neurobio::state_motivation_base::get_energy

Get energy reserves perception component for this motivation state. See the_neurobio::state_motivation_energy_get().

Definition at line 1020 of file m_neuro.f90.

◆ get_age()

procedure, public the_neurobio::state_motivation_base::get_age

Get age perception component for this motivation state. See the_neurobio::state_motivation_age_get().

Definition at line 1023 of file m_neuro.f90.

◆ get_reprfac()

procedure, public the_neurobio::state_motivation_base::get_reprfac

Get reproductive factor perception component for this motivation state. See the_neurobio::state_motivation_reprfac_get().

Definition at line 1026 of file m_neuro.f90.

◆ motivation_value_prim()

procedure, public the_neurobio::state_motivation_base::motivation_value_prim

Get the overall primary motivation value (before modulation). See the_neurobio::state_motivation_motivation_prim_get().

Definition at line 1029 of file m_neuro.f90.

◆ motivation_value()

procedure, public the_neurobio::state_motivation_base::motivation_value

Get the overall final motivation value (after modulation). See the_neurobio::state_motivation_motivation_get().

Definition at line 1033 of file m_neuro.f90.

◆ is_dominant()

procedure, public the_neurobio::state_motivation_base::is_dominant

Check if the root state is the dominant state in GOS. See the_neurobio::state_motivation_is_dominant_get().

Definition at line 1036 of file m_neuro.f90.

◆ label_is()

procedure, public the_neurobio::state_motivation_base::label_is

Get the fixed label for this motivational state. Note that the label is fixed and cannot be changed. See the_neurobio::state_motivation_fixed_label_get().

Definition at line 1040 of file m_neuro.f90.

◆ attention_copy()

procedure, public the_neurobio::state_motivation_base::attention_copy

Transfer attention weights between two motivation state components. See the_neurobio::state_motivation_attention_weights_transfer().

Definition at line 1043 of file m_neuro.f90.

◆ max_perception()

procedure, public the_neurobio::state_motivation_base::max_perception

Calculate the maximum value over all perceptual components. See the_neurobio::state_motivation_percept_maxval().

Definition at line 1047 of file m_neuro.f90.

◆ motivation_calculate()

procedure, public the_neurobio::state_motivation_base::motivation_calculate

Calculate the level of the primary motivation. See the_neurobio::state_motivation_calculate_prim().

Definition at line 1050 of file m_neuro.f90.

Member Data Documentation

◆ label

character(len=label_length), private the_neurobio::state_motivation_base::label
private

Label for the motivation state, fixed, cannot be changed.

Note
Note that the label can be used as an ID for the motivational state.
Note that we cannot use protected attribute within derived type, so make it private and implement the accessor function %label_is. The label component is then set in each derived motivation object in its respective clean_init procedure.
Note that the clean_init procedure is deferred (see abstract interface) in this abstract type. Specific clean_init should be implemented for each of the separate motivational/emotional state type.
The procedure motivation_components does not seem to be necessary at this level of class hierarchy as it would duplicate that in the_neurobio::percept_components_motiv. Therefore just call the upper procedure %percept_component%motivation_components().

Definition at line 968 of file m_neuro.f90.

◆ percept_component

type(percept_components_motiv) the_neurobio::state_motivation_base::percept_component

Perceptual components.

Definition at line 970 of file m_neuro.f90.

◆ attention_weight

type(percept_components_motiv) the_neurobio::state_motivation_base::attention_weight

Attention sets the weights given to the individual perceptual components in the calculation of the motivation value.

Definition at line 973 of file m_neuro.f90.

◆ motivation_prim

real(srp) the_neurobio::state_motivation_base::motivation_prim

Overall primary motivation values.

Definition at line 975 of file m_neuro.f90.

◆ motivation_finl

real(srp) the_neurobio::state_motivation_base::motivation_finl

Overall final motivation value after modulation is performed.

Definition at line 977 of file m_neuro.f90.

◆ dominant_state

logical the_neurobio::state_motivation_base::dominant_state

Overall GOS value, is this motivation state is dominant (TRUE/FALSE)?

Note
Note that only one state can be dominant at a time (Or not?

Definition at line 980 of file m_neuro.f90.


The documentation for this type was generated from the following file: