
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)}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy