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

Fix Problem's timed effects in Protobuf Writer #538

Merged
merged 8 commits into from
Dec 6, 2023
Merged

Conversation

Framba-Luca
Copy link
Contributor

Fix #536

@arbimo
Copy link
Member

arbimo commented Dec 4, 2023

🤔 I am surprised this bug was not encountered earlier as protobuf testing is done by a round-trip conversion of all test cases in the UP, checking that the result is the same as the original.
So it may be worth checking that we have an example with timed effects in the test suite and if not adding one.

@arbimo
Copy link
Member

arbimo commented Dec 5, 2023

I just expanded a bit the example to better test the compliance of validators.

It seems however that we now hit a limitation of the PDDL writer that does not support TILs...

@Framba-Luca
Copy link
Contributor Author

Thanks for expanding. I did a quick fix to mypy, so now we see the PDDL test failing. I think I just have to add a skip if there are TILs to the problem in the PDDL testing file

@codecov-commenter
Copy link

codecov-commenter commented Dec 5, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (830f340) 84.91% compared to head (6ad31db) 84.95%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #538      +/-   ##
==========================================
+ Coverage   84.91%   84.95%   +0.04%     
==========================================
  Files         200      200              
  Lines       26403    26428      +25     
==========================================
+ Hits        22420    22453      +33     
+ Misses       3983     3975       -8     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@alvalentini
Copy link
Member

@arbimo I'm going to add TILs support in the PDDLWriter in a different PR.

@arbimo
Copy link
Member

arbimo commented Dec 5, 2023

One last thing. The test cases trigger a corner case of the temporal planning semantics: when should the goals hold in the presence of timed initial literals ? The PDDL 2.2 semantics require the goals to hold after all TILs are computed (the real final state).
Another possible interpretation would be "immediately after the end of the last action".

Looking at report it seems that:

  • tamer and aries-val adheres to the PDDL 2.2 semantics
  • aries and tamer-val adheres to the second one

I believe we should enforce the PDDL2.2 semantics as they are the least surprising ones (and most established). This is the one enforced in the test-cases added in this PR.

Note that this is truly a corner case as it is very unusual to have goal conditions on exogeneous state variables in real problems.

@mikand Feel free to jump in on this, otherwise I will merge it as it is (which means that down the line, aries and tamer-val will need to align themselves on the PDDL semantics).

@alvalentini
Copy link
Member

@arbimo I agree with you and the PDDL 2.2 semantics. I'm going to fix the tamer validator.

@arbimo
Copy link
Member

arbimo commented Dec 6, 2023

@alvalentini Perfect, we agree. I'll merge this one then (and add this aries' fix to my todos)

Thanks a lot to both of you!

@arbimo arbimo merged commit 435072c into master Dec 6, 2023
8 checks passed
@arbimo arbimo deleted the fix-proto-writer branch December 6, 2023 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Crash of aries engine integration code when adding timed effects
4 participants