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

Annotation Processor updates for Procedural Constraints #1571

Open
dandelany opened this issue Sep 26, 2024 · 0 comments · May be fixed by #1611
Open

Annotation Processor updates for Procedural Constraints #1571

dandelany opened this issue Sep 26, 2024 · 0 comments · May be fixed by #1611
Assignees
Labels
constraints Anything related to the constraints domain feature A new feature or feature request

Comments

@dandelany
Copy link
Collaborator

dandelany commented Sep 26, 2024

Background

Now that Procedural Scheduling has been released, we are working on implementing Procedural Constraints. The workflow for using them will be very similar to scheduling goals: write a constraint in Java, compile a JAR, upload it via the Aerie UI, and add it to a plan using the same list UI that is used for eDSL constraints. Whereas procedural scheduling goals create activities on an editable plan, procedural constraints will return violations, ie. windows of time when the constraint is violated, and will not be able to edit the plan directly.

Procedural Scheduling goals use an annotation processor to look for classes with the annotation @SchedulingProcedure and process them with ValueMappers to generate the final goal/procedure code. It's located here:

procedural/processor/src/main/java/gov/nasa/ammos/aerie/procedural/processor/SchedulingProcedureProcessor.java

Requirements

  • Define a new annotation for constraints - @SchedulingConstraint or @ProceduralConstraint?
    • or could re-use existing @SchedulingProcedure annotation, but might be confusing
  • Update the annotation processor (or create a new one) to process constraints and generate code that implements the correct interface
  • Populate constraint parameter schemas stored in the DB based on the parameters from the generated code

Related Issues

#1572, NASA-AMMOS/aerie-ui#1478

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
constraints Anything related to the constraints domain feature A new feature or feature request
Projects
Status: Todo
Development

Successfully merging a pull request may close this issue.

4 participants