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

APT.all-test.clean-house-new.get-object.goto-not-clean-area.soar Maven / Gradle / Ivy

#####!!!!!!!!!!!!!!!!!!!!

sp {get-object*propose*goto-not-clean-area*cleaned
   (state  ^name get-object
              ^top-state.parameters.areas-held-in wm
              ^top-state.areas.area 
              ^current-location.cleaned yes)
   ( ^cleaned no
          -^storage-area yes)
-->
   ( ^operator  + =)
   ( ^name goto-not-clean-area
         ^type go-to-area
         ^area )
}
sp {get-object*propose*goto-not-clean-area*gateway
   (state  ^name get-object
              ^top-state.parameters.areas-held-in wm
              ^top-state.areas.area 
              ^current-location.type door)
   ( ^cleaned no
          -^storage-area yes)
-->
   ( ^operator  + =)
   ( ^name goto-not-clean-area
         ^type go-to-area
         ^area )
}

sp {get-object*propose*goto-not-clean-area*storage
   (state  ^name get-object
              ^top-state.parameters.areas-held-in wm
              ^top-state.areas.area 
              ^current-location.storage-area yes)
   ( ^cleaned no
          -^storage-area yes)
-->
   ( ^operator  + =)
   ( ^name goto-not-clean-area
         ^type go-to-area
         ^area )
}

#############SMEM

sp {get-object*propose*goto-not-clean-area*smem
   (state  ^name get-object
              ^top-state.parameters.areas-held-in smem)
-->
   ( ^operator  + =, <)
   ( ^name goto-not-clean-area
         ^type go-to-area
         ^storage-area no)
}

sp {apply*goto-not-clean-area*smem*query
   (state  ^operator.name goto-not-clean-area
              ^top-state.parameters.areas-held-in smem
              ^smem.command )
-->
   ( ^query )
   ( ^type room
        ^cleaned no)}

sp {apply*goto-not-clean-area*smem*result
 #  :interrupt
   (state  ^operator.name goto-not-clean-area
              ^smem )
   ( ^command.query 
           ^result )
   ( ^retrieved 
          ^success )
-->
   (write (crlf) |Retrieved dirty area |  )
   ( ^area )}

sp {apply*goto-not-clean-area*smem*operator
   (state  ^operator 
              ^area )
   ( ^name goto-not-clean-area)
-->
   (write (crlf) |Retrieved area |  )
   ( ^area )}

sp {apply*goto-not-clean-area*smem*result*failure
   (state  ^operator.name goto-not-clean-area
              ^smem )
   ( ^command.query 
           ^result.failure )
-->
   (write (crlf) |Failed to find dirty area |)
   (halt)}