Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the tracking of sensed effects of nowait actions #17

Open
morxa opened this issue Oct 31, 2018 · 3 comments
Open

Improve the tracking of sensed effects of nowait actions #17

morxa opened this issue Oct 31, 2018 · 3 comments
Assignees
Labels
enhancement Issue or PR describes or implements an enhancement pinned Issue will not be closed by stale bot

Comments

@morxa
Copy link
Member

morxa commented Oct 31, 2018

Since commit f486472, we also add a pending-sensed-fact for actions that do not wait for the effect to occur. This can be used to react properly if the effect does not ever occur as expected. One possible scenario:

  1. Prepare a machine, do not wait until it is READY-AT-OUTPUT.
  2. Drive to the output side
  3. Machine is not yet ready, monitoring needs to decide what to do (e,g., wait or fail). For this, we need to know whether we expect the machine state to change.

However, as it currently stands, if the effect does not occur, there are at least two problems:

  • the pending effect will never be cleaned up
  • the action is marked as successful, but at least one of its effects never occurred

This needs improvement, as pointed out in #12.

@morxa morxa self-assigned this Nov 12, 2018
@morxa morxa added the enhancement Issue or PR describes or implements an enhancement label Nov 12, 2018
@stale
Copy link

stale bot commented Dec 12, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix We won't fix this issue label Dec 12, 2018
@morxa morxa added pinned Issue will not be closed by stale bot and removed wontfix We won't fix this issue labels Dec 12, 2018
@timn
Copy link
Member

timn commented Jan 13, 2019

@morxa, can you please make some suggestions how to proceed here and improve the situation.

@morxa
Copy link
Member Author

morxa commented Jan 18, 2019

One idea is to introduce a new concept, let's call it a promise, with the following properties:

  • Any effect can be a promise
  • A promised effect is not immediately applied
  • Instead, it only promises that the effect will occur eventually in the future
  • A promise is tied to a goal-plan-action triplet that created it
  • A promise has a timestamp, either indicating when it was created, or (probably better) a deadline when it is expected to be fulfilled (possibly also both)
  • A promise can be accomplished by an external process, and maybe also by another goal
  • Promises could be shared with other agents, similar to the idea of intention sharing that we discussed a while ago. Maybe we can combine those concepts.

With promises, we would only mark a sensed effect as pending if we need to wait for it before we let the action finalize. Otherwise, it would be a promise. This means we could actually get rid of the nowait flag, and replace all sensed nowait effects with promises.

These are just brainstorming ideas. Let me know what you think.

Maybe @Sagre, @TarikViehmann, and @MostafaGomaa also want to comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Issue or PR describes or implements an enhancement pinned Issue will not be closed by stale bot
Projects
None yet
Development

No branches or pull requests

2 participants