# **************************************************************************** # CUI # # The Advanced Framework for Simulation, Integration, and Modeling (AFSIM) # # The use, dissemination or disclosure of data in this file is subject to # limitation or restriction. See accompanying README and LICENSE for details. # **************************************************************************** # AUTHOR: Michael Williams (michael.x.williams@boeing.com) ### RIPR-AIAI knows how to pick a target and pursue it sp {evaluate*pursue-target*prefer-lag (state ^name RIPR-AIAI # ^target-name ^operator + ^operator +) ( ^name pursue-target ^actions.pursue-target.pursuit-mode lag ^target.target-name ) ( ^name pursue-target ^actions.pursue-target.pursuit-mode pure ^target.target-name ) --> ( ^operator > ) } sp {evaluate*pursue-target*prefer-lead (state ^name RIPR-AIAI # ^target-name ^operator + ^operator +) ( ^name pursue-target ^actions.pursue-target.pursuit-mode lead ^target.target-name ) ( ^name pursue-target ^actions.pursue-target.pursuit-mode << pure lag >> ^target.target-name ) --> ( ^operator > ) } sp {evaluate*pursue-target*prefer-f-pole (state ^name RIPR-AIAI # ^target-name ^operator + ^operator +) ( ^name pursue-target ^actions.pursue-target.pursuit-mode f-pole ^target.target-name ) ( ^name pursue-target ^actions.pursue-target.pursuit-mode << pure lead lag >> ^target.target-name ) --> ( ^operator > ) } #sp {monitor*pursue-target*counts # (state ^name RIPR-AIAI # ^operator +) # ( ^name pursue-target # ^target ) # ( ^target-name # ^counted ) # ( ^name # ^value ) #--> # (write (crlf) |count: | | | | | ) #} #sp {evaluate*proposed-actions-for-diff-targets*indifferent # (state ^name check-target # ^operator + # ^operator +) # ( ^actions..target-name ) # ( ^actions..target-name { <> }) #--> # ( ^operator = ) #} #sp {evaluate*pursue-target*prefer-high-score # (state ^name RIPR-AIAI # ^operator + # ^operator { <> } +) # ( ^name pursue-target # ^actions.pursue-target.job-bid # ^target.target-name ) # ( ^name pursue-target # ^actions.pursue-target.job-bid { < } # ^target.target-name <> ) #--> # ( ^operator > ) # (write (crlf) |prefer-high-score: | | (| |) > | | (| |)|) #} #sp {evaluate*pursue-target*prefer-fastest-closer # (state ^name RIPR-AIAI # ^operator + # ^operator +) # ( ^target.closing-speed-of ) # ( ^target.closing-speed-of < ) #--> # ( ^operator > ) #} # #sp {evaluate*pursue-target*prefer-closest # (state ^name RIPR-AIAI # ^operator + # ^operator +) # ( ^target.slant-range-to ) # ( ^target.slant-range-to < ) #--> # ( ^operator < ) #} # #sp {evaluate*pursue-target*prefer-pure # (state ^name RIPR-AIAI # ^operator + # ^operator +) # ( ^actions.pursue-target.pursuit-mode pure # ^target ) # ( ^actions.pursue-target.pursuit-mode << lead lag >> # ^target ) #--> # ( ^operator < ) #} # #sp {evaluate*pursue-target*prefer-lead # (state ^name RIPR-AIAI # ^operator + # ^operator +) # ( ^actions.pursue-target.pursuit-mode lead # ^target ) # ( ^actions.pursue-target.pursuit-mode lag # ^target ) #--> # ( ^operator < ) #} #sp {evaluate*pursue-target*prefer-current-target # (state ^name RIPR-AIAI # ^operator + # ^operator +) # ( ^target.currently-targeted 0) # ( ^target.currently-targeted 1) #--> # ( ^operator < ) #}