All Downloads are FREE. Search and download functionalities are using the official Maven repository.

APT.all-test.HauntBot.elaborations.communications.soar Maven / Gradle / Ivy

echo "\nLoading elaborations/communications"
# REW: 2002-07-08
# This is where all communication-specific elaborations should be located.  The 
# ^comm structure should *not* (generally) be copied to local states.

#Create the comm structure.  Must be initialized for comms to be enabled.
sp {elaborate*state*comm
   (state  ^superstate nil 
              ^initialized true)
   -->
   ( ^comm )
   # Any scenario-static additional comm information can be initialized here
}



# These are simple test productions, not intended to be included in the final agent.

#sp {test*say
#   (state  ^comm 
#              ^io.output-link 
    ) # --> # (write (crlf) |Firing the say test production....|) # (
      ^say ) # ( ^phrase |This_is_a_test_of_say| # ^target |Marine|) #} # # #sp {test*broadcast # (state ^comm # ^io.output-link
        ) # --> # (write (crlf) |Firing the broadcast test production....|) # (
          ^broadcast ) # ( ^phrase |This_is_a_test_of_broadcast|) #} #sp {monitor*output-link*broadcast # (state ^comm # ^top-state.io # ^impossible) # ( ^input-link.agent.cycle # ^output-link
            ) # (
              ^broadcast ) #--> # (write (crlf) |Generating message for cycle | ) # (tcl |print -depth 10 | ) # #(interrupt) #} # #sp {monitor*output-link*say # (state ^comm # ^top-state.io.output-link
                # ^impossible) # (
                  ^say ) #--> # (tcl |print -depth 10 | ) #} # sp {monitor*output-link*say-or-broadcast*error (state ^comm ^top-state.io.output-link
                    ) (
                      ^<< say broadcast >> ) ( ^status error) --> (write (crlf) |********************************************|) (write (crlf) |broadcast error: | ) (write (crlf) |********************************************|) } # REW: Necessary for now because the justification for the # output-link broadcast strucutures is retracting before # an output phase.... fixed (see communicate [2] #sp {the-infamous-o-support-production # (state ^superstate nil ^io.output-link
                        ) # (
                          ^broadcast ) # ( ^phrase ) # --> # (write (crlf) |firing o-support prod|) # (
                            ^broadcast +) # ( ^phrase + ) # }