Add @AllChildren annotation
- Tickets addressed: Part of #1364 but does not resolve it
- Review: By commit
- Merge strategy: Merge (no squash)
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:
- If the user does not use the annotation for an activity, we make the worst case assumption that the activity might generate all activities (itself included).
- Activities without effect model cannot generate children
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.
This is blocked because part of an ongoing prototyping for dependency modeling in #1364.
@dandelany I think we can close this PR.
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