NASA-AMMOS / aerie

A software framework for modeling spacecraft.
https://nasa-ammos.github.io/aerie-docs/
MIT License
73 stars 19 forks source link

Add @AllChildren annotation #1367

Open adrienmaillard opened 8 months ago

adrienmaillard commented 8 months ago

Description

Add a @AllChildren annotation to mission model so mission modelers can report, for a given activity, what other activity is called/spawned. This information will be used by the scheduler to evaluate whether it is useful to resimulate or not before goal evaluation: let's have G goal being satisfied by an activity of type A, G is the next goal to be evaluated. If an activity of type B was inserted at the last iteration, has B any chance of generating A and thus of satisfying the goal G ? If yes, simulation is required, otherwise it's not (for that only purpose, there might be other things that warrant a simulation, e.g. the goal needs to also evaluate an expression...).

Some edge cases:

This PR does not contain changed to the scheduler to use this information. These changes would overlap too much with changes under review in #1323

Verification

A test with the banananation model has been added to verify that the generated code is accurate.

Documentation

To be done.

Future work

Other things in #1364 + use the annotation in the scheduler.

adrienmaillard commented 7 months ago

This is blocked because part of an ongoing prototyping for dependency modeling in #1364.

adrienmaillard commented 2 months ago

@dandelany I think we can close this PR.

sonarcloud[bot] commented 2 months ago

Quality Gate Passed Quality Gate passed

Issues
3 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud