Closed joffreyhuguet closed 7 months ago
This is only a draft PR because the new features are not publicly available (in Community Edition or on alire).
At time of writing, this PR resolves #72 and successfully builds the OpenUxAS Ada sources. Given the conflict, we'll have to do some rebasing / cleanup before this is ready to be merged.
But there's a bigger issue: the version of SPARK delivered in GNATprove FSF 13.2.0 is inappropriate for the state of the SPARK sources reflected in this PR - so we still don't have complete proofs. We expect that in moving to a newer of SPARK, these proof failures will be resolved automatically.
Leaving this PR as a draft until cleanup is complete (at least) and probably until we have a sufficient version of SPARK to resolve the proof failures.
@VVCAS-Sean This is now in a state that's fit to be reviewed and merged. The failure on Ubuntu 20.04 is attributable to this issue, reported at Alire: https://github.com/alire-project/alire/issues/1526 - this will go away once we move away from Alire nightlies or if Alire changes the way it builds nightlies.
This patch makes the Ada code compatible with the changes done in GNAT and SPARK. It takes advantage of new features such as logical equality, both in containers and more generally in SPARK code, to remove lots of wrappers that were used to reduce context for provers to prove invariants on the service state.