A suite of software tools and services created to support activity planning and sequencing needs of missions with modeling, simulation, scheduling and validation capabilities

Related tags

Spring Boot aerie
Overview

publish

Aerie

A suite of software tools and services created to support activity planning and sequencing needs of missions with modeling, simulation, scheduling, and validation capabilities.

Getting Started

Contributing

Please read the CONTRIBUTING.md guidelines for branch naming and pull request conventions.

Comments
  • [AERIE-1656]  Activities opt-in to controllable duration

    [AERIE-1656] Activities opt-in to controllable duration

    • Tickets addressed: AERIE-1656
    • Review: By commit
    • Merge strategy: Merge (no squash)

    Description

    Note: this PR does not actually change any functionality, per se. It merely requires activities to explicitly opt-in to having their durations controlled by the scheduler.

    Currently, the scheduler assumes that all activities have a duration parameter, which can be used to control their duration. This is not, in general, true.

    One option to reconcile this is to have the scheduler inspect the parameters of an activity type, and check if there is a duration parameter with the correct type. However, this feels wrong to me, since it ascribes a meaning to a particular parameter name - something we've managed to avoid thus far. Parameter names should be completely up to the mission modelers.

    The option I chose to pursue is to add an annotation, @ControllableDuration(parameterName = "myDurationParam") that allows an activity definition to opt-in to being controllable by the scheduler. I added a validateControllableDurationParameter method to the MissionModelParser that checks that the string provided:

    1. corresponds to an existing parameter name
    2. that parameter has type Duration

    The scheduler will be able to call TaskSpecType::getDurationType on a particular activity's TaskSpecType, and get back whether the activity has opted-in to having a controllable duration:

    public sealed interface DurationType {
      record Controllable(String parameterName) implements DurationType {}
      record Uncontrollable() implements DurationType {}
    }
    

    The contract between the scheduler and the mission model is that after simulating any activity marked with @ControllableDuration, its actual duration is expected to be equal to the value of the declared duration parameter. The scheduler will rely on this fact to satisfy certain goals (such as lining up the end time of one activity with the start time of another activity).

    I modified the scheduler to use getDurationType to look up what parameter to set for a desired duration. For activities with Uncontrollable duration, the scheduler prints a warning, but does not throw an exception. The main reason here is I do not want to impede uncontrollable activities in existing plans. Future work is to test that the scheduler works with an existing plan.

    Verification

    I ran the aerie lander tests, and they passed (though they don't seem to have very clear success criteria, so I want to spend some time in a future PR making the tests stricter).

    I'll make a corresponding PR to aerielander momentarily.

    Documentation

    This will, of course, need to be documented, but it's still in flux. We have a meeting with some stakeholders next week, where we'll get some feedback.

    Future work

    • Focused testing of controllable activity durations
    • Testing of the scheduler against existing plans (i.e. not just plans generated from procedural rules, as the tests do now)
    • It may be desirable to schedule activities whose duration is uncontrollable. This will place restrictions on the kinds of goals that can place this activity.
    • There are potential performance benefits from getting more fine grained than Uncontrollable. For example, if the scheduler knew that an activity's duration is "Context Independent", it would know that the activity's duration is invariant under translation in time, which could reduce the necessity to re-simulate.
    • It may also turn out to be useful to allow gradations of "Controllable". Some activities cannot uphold the contract of matching the requested duration exactly. Perhaps they have a lower bound for how long they will take. Perhaps the activity can only take multiples of a certain amount of time, so requesting a duration between two multiples would require the activity to decide whether to treat the requested duration as a lower or upper bound. (E.g. take "N" pictures takes "N" times the amount of time it takes to take a picture).
    opened by mattdailis 22
  • [AERIE-1844] Use constraints language as subset of scheduling language

    [AERIE-1844] Use constraints language as subset of scheduling language

    • Tickets addressed: AERIE-1844
    • Review: By commit
    • Merge strategy: Merge (no squash)

    Description

    This PR adds a gradle action to copy files matching constraints-*.ts out of the constraints-dsl-compiler and into the scheduling-dsl-compiler.

    It then replaces the scheduling language's state-based windows expressions with the constraints windows expressions.

    Activity expressions are treated separately, because they are intended to have a slightly different semantics in the scheduler, since they are not well represented by an Expression<Windows>. We can revisit these in a future PR.

    Some amount of rebasing/coordination will be required between this PR and the constraints type checking PR.

    Verification

    Existing scheduler tests were updated (since their assertions turned out to be incorrect). Then, the tests were updated again to match the new syntax. They now pass.

    Documentation

    This section in the wiki will need to be updated: https://github.com/NASA-AMMOS/aerie/wiki/Scheduling-Guide#coexistence-goal-coming-soon

    Future work

    • Activity Expressions should not use a TimeRangeExpression, since we do not want to coalesce overlapping activities of the same type
    • Type checking/code generation on the constraints side will need to be threaded into the scheduling side as well
    opened by mattdailis 21
  • [AERIE-1935] Expose plan start time to mission model

    [AERIE-1935] Expose plan start time to mission model

    • Tickets addressed: AERIE-1935
    • Review: By commit
    • Merge strategy: Merge (no squash)

    Description

    Mission modelers currently don't have access to a plan's start time. With this PR a plan start time Instant parameter can optionally be declared in the top-level mission model ("Mission.java") constructor.

    If a top-level mission model defines a constructor with Instant as the 2nd argument then the sim. start time will be passed to the mission model upon instantiation. If the Instant parameter (or Registrar parameter and optionally a "Configuration" parameter) is declared out-of-order then an actionable error message is now presented at compile-time. See the section below for examples.

    More concretely, the following top-level mission model constructor parameters are allowed (lifted from MissionModelParser.java):

        // - (Registrar, Instant, Configuration)
        // - (Registrar, Configuration)
        // - (Registrar, Instant)
        // - (Registrar)
    

    As seen above, both sim. start time and mission model configuration parameters are optional. However, if both are defined "Configuration" must be declared last. This ensures backwards compatibility with existing mission models while allowing future mission models to make use of this Instant.

    See the future work section for a discussion on alternative approaches for this PR.

    Verification

    See foo-missionmodel's MissionConfigurationTest.

    Error Handling

    When the following Mission constructor parameters are declared in an allowable order no compile-time error is thrown:

    public Mission(final Registrar registrar, final Instant planStart, final Configuration config) {
      ...
    }
    

    However, when Instant (or any of the above parameters) are declared out of expected order a custom error message will appear:

    .../foomissionmodel/package-info.java:21: error: The top-level model's constructor is expected to accept [gov.nasa.jpl.aerie.merlin.framework.Registrar, java.time.Instant, gov.nasa.jpl.aerie.foomissionmodel.Configuration], found: [gov.nasa.jpl.aerie.merlin.framework.Registrar, gov.nasa.jpl.aerie.foomissionmodel.Configuration, java.time.Instant]
    

    In this example, Mission's constructor was declared with a plan start Instant in the wrong expected order:

    public Mission(final Registrar registrar, final Configuration config, final Instant planStart) {
      ...
    }
    

    Documentation

    • See deployment/Environment.md and deployment/README.md for information on UNTRUE_PLAN_START.
    • See https://github.com/NASA-AMMOS/aerie/wiki/Developing-a-Mission-Model#mission-model-class
    • See https://github.com/NASA-AMMOS/aerie/wiki/Configuring-a-Mission-Model#mission-model

    Future work

    Initially a @PlanStart annotation was considered but in prototyping this implementation it was found that this change would require plan information to be passed in at our GQL layer (to allow any configured context to have plan information). This would break existing GQL queries and more tightly couple our plan and model "domains".

    See Slack thread for more context and discussion on this.

    opened by pcrosemurgy 19
  • Facilitate model-scoped SPICE

    Facilitate model-scoped SPICE

    • Tickets addressed: N/A
    • Review: By commit
    • Merge strategy: Merge (no squash)

    Description

    This PR enables each loaded model to acquire their own isolated instance of SPICE. (I kind of can't believe I'm writing those words!) The key ingredients are:

    • The host program must not have JNISpice available, much less depend on JNISpice itself. It is absolutely crucial that the classes cspice.basic.CSPICE and gov.nasa.jpl.aerie.spice.SpiceLoader be loaded by the model JAR's ClassLoader, not the Aerie application classloader. As I found out the hard way, nested classloaders check their parents first before attempting any specialized behavior. So the parent classloader must not satisfy requests for JNISpice classes.

    • The native library must be loaded from completely independent copies (with completely different canonical file paths) every time. It isn't sufficient to simply hard-link a file with a different name to the same libJNISpice.so; the JVM and the OS both must be convinced that they are independent images, or else either the JVM will throw an error (it won't tolerate explicit duplicates, or even distinct files with the same path) or the OS will silently provide a handle to the same library you've previously opened.

      ("But wait, Jonathan -- how can two distinct files have the same path???" Well, made-up interrogator, if you load a library at a path, delete that file, and create a new one in its place, your JVM will have a reference to a file that is no longer accessible to the filesystem, but did have a particular path on load, and you will have a new file that the JVM has not (yet) loaded at the same path!)

    I've gone through the Aerie codebase and removed all indirect dependencies on SPICE that are not model-side. The SPICE classes used to be accessed through merlin-sdk, which meant they were available everywhere. I moved them to the contrib module, and cleaned up any minor dependencies on contrib from the rest of the system.

    The current NAIF distribution of JNISpice for MacOS throws us another curveball: it compiles the library with extra flags (see "Future work") that cause the first-loaded library to greedily satisfy all matching native method resolutions, even if the JVM is specifically asking for a symbol from a different loaded library. I was able to make a custom build of libJNISpice.jnilib and confirm that, all together, these factors allow each model to have their own isolate of SPICE.

    I've replaced the libJNISpice.jnilib in our source tree with my custom-built one. Neither this nor the old one is particularly easy to reproduce, so I don't think I'm making the situation any worse with this change. Nonetheless, it's worth noting that I did build both an Intel and an M1 version of the library and fuse them together (with lipo), since the old one was similarly universal.

    On Linux, this StackOverflow discussion indicates that we should get the desired behavior without any changes. We'll see.

    Verification

    I modified Banananation's Mission class to load SPICE and perform a furnsh bracketed by two ktotals printed to screen. I then made a little main() in simulation-driver, confirmed that it didn't already observe CSPICE using the system classloader, and loaded banananation.jar three times in succession.

    Normally this would output 0 1 1 2 2 3, as each successive model instance observes the previous one's kernel loads.

    Now, it outputs 0 1 0 1 0 1. Isolation! (Holy smokes!)

    Documentation

    • We need to document for users this new understanding about how native libraries interact with models. In particular, if models bundle their own native libraries and load them, they should automatically be scoped to that model. (As long as they don't include antagonizing flags like libJNISpice.jnilib did, at least!)

    • This is extremely delicate right now; if any application-side Aerie component ever needs SPICE and needs to work with arbitrary mission models, the application-level SPICE is likely to be shared with all the models it loads. We ought to document this somewhere, and very clearly and carefully, because it is not the kind of thing that is very loud when it breaks.

      Maybe we should add a ClassLoader.loadClass("spice.basic.CSPICE") call in a reasonable location for the application-side components, and throw an error if it succeeds? At least then it will break loudly.

      I have a prototype solution for this, but it is not the kind of thing that can easily be placed on top of JNISpice. It's something that would need to be integrated pretty well into JNISpice proper. So I'm not sure how likely that is to happen.

    Future work

    • Petition NAIF to remove the flags -flat_namespace -undefined suppress from their build script for libJNISpice.jnilib. As it stands, the -flat_namespace flag causes all native methods to get resolved to the first loaded copy of the library, making it impossible to interact with multiply-loaded SPICE libraries.

    • Petition NAIF to distribute an M1 (arm64) version of JNISpice. If they distribute separate Intel and M1 versions with the above flags removed, we can easily fuse them together into a universal library using lipo.

    • Implement a child-first classloader (see also)to better insulate models from the application classpath. If both sources provide a class, we want the model to see the model's version, not the application's version. (This would likely allow the application to depend on CSPICE without causing global sharing to occur -- though some details around native library loading are still unclear.)

    • Make the scheduler less dependent on the particular representation of controllable duration parameters. The model could always override the value mapper used for Duration, so the scheduler's use of DurationValueMapper was already suspect; my changes here just make that dependency explicit.

      We ought to instead add a method fromDuration to the SchedulerModel that allows the scheduler to turn a given Duration into a SerializedValue suitable for that parameter. I have a mock-up here.

    opened by Twisol 15
  • [FEAT](AERIE-2146) Include EDSL API docs in docs

    [FEAT](AERIE-2146) Include EDSL API docs in docs

    Includes the autogenerated EDSL API documentation in our documentation site

    • Tickets addressed: AERIE-2146
    • Review: By commit
    • Merge strategy: Merge (no squash)

    Description

    Makes EDSL documentation part of the docsite generation and includes them in the docsite outputs. Includes some links to them in the existing docsite files.

    Release procedure:

    Ensure the current docs for EDSLs are in docs/edsl-api-docs/<constraints|schedling>-edsl-api/develop (can run ./gradlew publishDocs to generate it there) and copy it to a versioned directory (ie docs/edsl-api-docs/<constraints|schedling>-edsl-api/v0.13.2). Note that this versioned directory MUST have the same name as the release tag for it to properly be linked in the site docs.

    This new versioned directory needs to be committed to git so we maintain the older versions of edsl docs.

    Verification

    Generated them locally and was able to link locally - will have to build + deploy to see if it works in CI

    Documentation

    None

    Future work

    opened by dyst5422 14
  • [AERIE-1629] Computed Attributes in Simulation Results

    [AERIE-1629] Computed Attributes in Simulation Results

    • Tickets addressed: AERIE-1629
    • Review: By commit
    • Merge strategy: Merge (no squash)

    Description

    I've taken #17 and split it into three branches. I'll PR them sequentially, so we can focus on one at a time.

    EDIT: If it would help declutter, I can make a separate PR for the refactoring commits. Let me know if anyone would prefer that.

    The focus of this PR is reporting a value as part of simulation results upon completion of an activity instance.

    The commits in this PR fall into one of the following phases

    1. Preliminary refactoring (first 5 commits)
    2. Use Supplier instead of Runnable to represent an effect model
    3. Generate mapper and supplier for EffectModels with non-void return types
    4. Reporting:
      • Include ValueSchema in ActivityType
      • Include return value in SimulatedActivity
      • Persist all of that in postgres

    We continue to support void return types as before. These activities will have a SerializedValue.UNIT return value.

    Verification

    I've done some simple manual testing by giving BiteBanana a non-void return type and viewing it via hasura. Some more thorough verification is needed prior to merging.

    • [ ] more thorough testing. (unit test?)

    Documentation

    This work is part of the Activity Computed Attributes working group: https://wiki.jpl.nasa.gov/display/MPSA/Working+Group%3A+Activity+Computed+Attributes

    • [ ] We should update some user-facing documentation to explain how to use this feature.

    Future work

    Step 2: (AERIE-1630) Make this value available to the caller Step 3. (AERIE-1631) Tag events with activity ids

    opened by mattdailis 14
  • [AERIE-1893 ] Remove deprecated sim results response code

    [AERIE-1893 ] Remove deprecated sim results response code

    • Tickets addressed: AERIE-1893
    • Review: By commit
    • Merge strategy: Merge (no squash)

    Description

    Thanks to work on previous PRs (#209, #211, #189), simulation results are now entirely separated from the simulate Hasura action. Constraint violations are now queried with constraintViolations, resource samples with resourceSamples, and simulated activities directly from the database. UI has been updated to use new queries.

    Verification

    Manually tested UI to ensure functionality is maintained.

    query {
      simulate(planId: 1) {
        status
        reason
        results
      }
    }
    

    used to get a response of

    {
      "data": {
        "simulate": {
          "status": "complete",
          "results": {
            "unfinishedActivities": {},
            "start": "2022-023T12:12:12.000000",
            "activities": {
               ...
            "constraints": {
              "model/no waste": [
                ...
            "events": [
              {
                "graph": {
                  "suffix": {
                    ...
    

    now

    query {
      simulate(planId: 1) {
        reason
        status
      }
    }
    

    receives

    {
      "data": {
        "simulate": {
          "status": "complete"
        }
      }
    }
    

    Documentation

    Need to rework existing documentation on simulate responses, and point towards new API calls.

    Future work

    Opens the door for simulation streaming to database, as clients are no longer dependent on monolithic simulate call

    opened by skovati 13
  • [AERIE-2145] Gaps in external profiles

    [AERIE-2145] Gaps in external profiles

    • Tickets addressed: AERIE-2145
    • Review: By commit
    • Merge strategy: Merge (no squash)

    Description

    by commit:

    1. The nullableP parser currently cannot unparse nulls because it throws a NoSuchElementException when unwrapping. The workaround is to throw a ClassCastException which the chooseP parser will catch try the next option. @Twisol was this the intended pattern? I don't see another way to do it, but throwing for control flow on the happy path seems iffy.
    2. This allows the dynamics in ProfileSets to be Optional. This allows external dataset profiles to have gaps, but also requires all segments of simulated profiles to be wrapped in Optional.of(). Also, the Post/GetProfileSegmentsActions were updated to write to the new is_gap column of the profile_segment table.
    3. Due to conversions between our many formats for representing profiles, the duration of the last segment is lost when storing and retrieving from the database. This isn't an issue for simulated profiles because they end at the plan horizon, but external profiles can end in the middle of the plan. So I've added an extra gap segment at the end of all profiles to keep the duration. This required a small change in the UI here.

    Verification

    I'm in progress writing an e2e test(s) for this.

    Documentation

    I have added tutorial docs for uploading external datasets and using them in constraints. I will add a page for scheduling when we enable that.

    Future work

    • assignGaps
    • assignGaps
    • visual representation of violation gaps in UI
    • assignGaps
    feature 
    opened by JoelCourtney 12
  • [AERIE-1674] Persist Scheduling Results

    [AERIE-1674] Persist Scheduling Results

    • Tickets addressed: AERIE-1674
    • Review: By commit
    • Merge strategy: Merge (no squash)

    Description

    This branch provides the implementation of the scheduler-server's PostgresResultsCellRepository. The commits on this branch define the Postgres actions that will be used by the repository, and in the final commit the actions are hooked up tot he repository. Do note that some commits have descriptions explaining the motivation for their changes that reviewers may find useful.

    Verification

    Each commit was tested by running ./gradlew classes to make sure all commits compile. ./gradlew test was also run at the end to ensure that no tests were broken. I also made sure the database initializes properly, since the scheduling_request table was modified.

    As for testing the postgres actions themselves, I haven't run them since the scheduling agent is still in development.

    Documentation

    No documentation updates needed. These features are in development, and not yet documented.

    Future work

    Once the scheduler agent is hooked up we should do some integration testing and make sure a scheduling request can be created and run through our system, even if we have to manually insert the data into the database since the UI isn't hooked up yet. As careful as we try to be, it's difficult to be sure our code that interacts with the database is accurate without actually testing. Since none of this is in use yet, though, it shouldn't be a big deal if there's any issues to fix.

    opened by kroffo 12
  • [AERIE-1842] Type-checking for Constraints eDSL

    [AERIE-1842] Type-checking for Constraints eDSL

    • Tickets addressed: AERIE-1842
    • Review: By commit
    • Merge strategy: Merge (no squash)

    Description

    Adds type-checking for the following values in the constraints DSL:

    • Activity type names
    • Resource names
      • All resources, including Reals, are considered valid Discrete resources. Real resource names only accept the subset of resources that have a value schema exactly equal to ValueSchema.REAL.
    • Activity aliases generated by ForEachActivity - kind of
      • Instead of enforcing that a specific string is declared and used to reference an alias, the user instead now provides a function of type (instance: ActivityInstance<A extends ActivityTypeName>) => Constraint. Essentially, the alias is no longer a string but a variable. (Thanks @mattdailis for the idea!)
      • Since the expression tree in the backend still expects the old string-based alias approach, ForEachActivity calls .toString() on the function handle and searches through to find the argument name. The "alias" string is set to the argument name and stored inside the ActivityInstance class.
      • Activity parameters are accessed through instance.parameters().myParameter. The During, StartOf, and EndOf functions are now instance.during(), instance.start() and instance.end().
      • Example usage:
    // Forbids the usage of an activity type.
    export default (): Constraint => Constraint.ForEachActivity(
        "activityType",
        (instance) => instance.during().not()
    );
    
    • Schemas for discrete profiles
      • The schemas of all discrete profiles are checked, including those from Discrete.Resource(...) and instance.parameters().myDiscreteParameter. This is done by adding a __schemaInstance: Schema private field to the Discrete<Schema> class, and populating it with an unrelated dummy default value.

    Verification

    Many tests have been added and updated in ConstraintsDSLCompilationServiceTests.

    Documentation

    The in-code docs for the constraints API have been updated.

    Future work

    • In my opinion we are ready to start expanding the DSL with new features and remove the JSON version.
    • Wiki tutorial
    • Video demo

    Checklist

    checkmark = committed

    • [x] "Lets go ahead and make ActivityInstance#parameters be a getter"
    • [x] "Can we make the ActivityType an enum instead of a union of strings"
    • [x] "Who the heck invited this __schemaInstance field and how do we make it go away"
    • [x] Autoformat
    • [x] Bring back once in main.ts
    • [x] squash a few commits
    opened by JoelCourtney 11
  • Spice Fails to Load on M1 Macs during Simulation

    Spice Fails to Load on M1 Macs during Simulation

    Summary:

    When attempting to simulate a plan whose model loads SPICE, the following error occurs when SPICE is loaded:

    java.lang.UnsatisfiedLinkError: /tmp/JNISpice-4439314142500713632.tmp: /tmp/JNISpice-4439314142500713632.tmp: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64 .so on a AARCH64 platform)
    

    @Twisol and I have so far been discussing this in PR #322.

    How to Reproduce:

    1. Build the Banananation model found on the fix/spice_m1 branch
    2. Compose up Aerie into Docker
    3. Via the UI, upload the Banananation Model and create a new Plan from the model
    4. Via the UI, attempt to simulate the new Plan
    bug 
    opened by Mythicaeda 10
  • Link Checker Report

    Link Checker Report

    Summary

    | Status | Count | |---------------|-------| | πŸ” Total | 257 | | βœ… Successful | 212 | | ⏳ Timeouts | 0 | | πŸ”€ Redirected | 0 | | πŸ‘» Excluded | 0 | | ❓ Unknown | 0 | | 🚫 Errors | 45 |

    Errors per input

    Errors in docs/old_site/deployment/product-support.md

    Errors in CODE_OF_CONDUCT.md

    Errors in docs/old_site/activity-plans/simulation-configuration.md

    Errors in SECURITY.md

    Errors in docs/source/user-guide/mission-modeler-guide/activity-types/effect-model.md

    Errors in docs/source/user-guide/mission-modeler-guide/parameters/index.rst

    • [@Export.WithDefaults](@Export.WithDefaults): Cached: Error (cached) (status code: ERR)
    • [@Export.Validation.Subject](@Export.Validation.Subject): Failed: Unreachable mail address: ``@Export.Validation.Subject: Invalid: Email doesn't exist or is syntactically incorrect (status code: ERR)
    • [@Export.Template](@Export.Template): Cached: Error (cached) (status code: ERR)
    • [@Export.Parameter](@Export.Parameter): Cached: Error (cached) (status code: ERR)
    • [@Export.Validation](@Export.Validation): Failed: Unreachable mail address: ``@Export.Validation: Invalid: Email doesn't exist or is syntactically incorrect (status code: ERR)

    Errors in docs/old_site/mission-modeling/activity-mappers.md

    Errors in docs/old_site/activity-plans/simulation-results.md

    Errors in docs/old_site/mission-modeling/activities.md

    Errors in docs/source/contribute/documentation/docs-pr.rst

    Errors in docs/source/contribute/documentation/index.rst

    Errors in docs/old_site/mission-modeling/activity-parameters.rst

    • [@Export.Validation](@Export.Validation): Failed: Unreachable mail address: `@Export.Validation: Invalid: Email doesn't exist or is syntactically incorrect (status code: ERR)
    • [@Export.Parameter](@Export.Parameter): Failed: Unreachable mail address: `@Export.Parameter: Invalid: Email doesn't exist or is syntactically incorrect (status code: ERR)
    • [@Export.WithDefaults](@Export.WithDefaults): Failed: Unreachable mail address: ``@Export.WithDefaults: Invalid: Email doesn't exist or is syntactically incorrect (status code: ERR)
    • [@Export.Template](@Export.Template): Failed: Unreachable mail address: `@Export.Template: Invalid: Email doesn't exist or is syntactically incorrect (status code: ERR)
    • [@Export.WithDefaults](@Export.WithDefaults): Failed: Unreachable mail address: `@Export.WithDefaults: Invalid: Email doesn't exist or is syntactically incorrect (status code: ERR)
    • [@Export.Parameter](@Export.Parameter): Failed: Unreachable mail address: ``@Export.Parameter: Invalid: Email doesn't exist or is syntactically incorrect (status code: ERR)
    • [@Export.Template](@Export.Template): Failed: Unreachable mail address: ``@Export.Template: Invalid: Email doesn't exist or is syntactically incorrect (status code: ERR)

    Errors in docs/source/contribute/documentation/examples/eval-rst.md

    Errors in docs/source/user-guide/ui-api-guide/ui-layouts/ui-views.md

    Errors in CONTRIBUTING.md

    Errors in docs/source/user-guide/ui-api-guide/constraints/writing-constraints.md

    Errors in deployment/Environment.md

    Errors in docs/old_site/activity-plans/precomputed-profiles.md

    Errors in docs/source/user-guide/ui-api-guide/constraints/examples.md

    Errors in docs/old_site/deployment/single-host-deployment.md

    Errors in docs/source/user-guide/mission-modeler-guide/configuration/configuration-parameters.md

    Errors in docs/source/user-guide/mission-modeler-guide/activity-types/activity-parameters.md

    Full Github Actions output

    automated issue report 
    opened by github-actions[bot] 0
  • Add Aerie Maven artifacts to Maven Central

    Add Aerie Maven artifacts to Maven Central

    See: https://maven.apache.org/repository/guide-central-repository-upload.html

    This would help decrease the barrier to entry a bit since right now you need a GitHub account to use the Aerie Maven GitHub packages.

    ci 
    opened by camargo 0
  • Governance Model Document Creation

    Governance Model Document Creation

    • Tickets addressed: None
    • Review: by commit
    • Merge strategy: Merge (no squash)

    Description

    Initial creation of an Aerie open source governance model. This simply adds a GOVERNANCE.md document to describe our governance.

    documentation 
    opened by ewferg 1
  • Modify the Simulation Engine to Simulate Anchored Activities

    Modify the Simulation Engine to Simulate Anchored Activities

    This is a follow-up to #449. That ticket is about modifying the database to store/validate Anchors. This ticket is about modifying Simulation to process Anchors so that it can start simulating them at the correct time.

    feature 
    opened by Mythicaeda 0
  • Add search feature to help documentation

    Add search feature to help documentation

    As far as I can tell there's no ability to search the aerie documentation website. There's a lot of information in there and as a newcomer it's hard to know where to find things.

    https://nasa-ammos.github.io/aerie/stable/

    documentation 
    opened by lklyne 2
Releases(v1.0.1)
  • v1.0.1(Dec 19, 2022)

    Summary of New Features

    • Important critical security update from Hasura v2.12.0 to v2.12.1. See the security advisory here.
    • Gaps in constraint violations are now returned from the constraint violations query. UI support coming soon.
    • New GraphQL queries for generating Seq JSON in bulk.
    • New standalone Aerie Docker images for Hasura and Postgres that include Aerie-specific Hasura metadata and SQL tables respectively.
    • Update Gradle to version 7.6.
    • Lots of documentation updates.
    • Various bug fixes.

    What's Changed

    Breaking Changes

    Please see our latest upgrade guide for complete instructions for upgrading from 1.0.0 to 1.0.1.

    • Use a record instead of a pair for profile segments by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/434

    New Features

    • Bulk SeqJSON Actions by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/503
    • Ignore gaps outside of evaluation bounds for intospans by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/510
    • Include gaps in violations by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/484

    Bug Fixes

    • Added the path param to schema types by @cohansen in https://github.com/NASA-AMMOS/aerie/pull/508
    • Temp fix NASA Scrub scan by @camargo in https://github.com/NASA-AMMOS/aerie/pull/534
    • Fix infinite loop issue with recurrence goal and global scheduling condition + warning message by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/525
    • Make negative delays throw exceptions by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/533
    • Fix serialization of Duration to avoid rounding to millisecond by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/520
    • Added an override for qs to fix dependabot vulnerability by @cohansen in https://github.com/NASA-AMMOS/aerie/pull/539

    Continuous Integration

    • Add standalone Aerie Docker images by @camargo in https://github.com/NASA-AMMOS/aerie/pull/495
    • Fix Nasa Scrub in GitHub Actions by @camargo in https://github.com/NASA-AMMOS/aerie/pull/538

    Documentation

    • Update scheduling goal examples to use Temporal.Duration by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/483
    • Update command expansion docs by @camargo in https://github.com/NASA-AMMOS/aerie/pull/485
    • Fix broken links in Docs by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/486
    • Add external dataset CSV example by @camargo in https://github.com/NASA-AMMOS/aerie/pull/487
    • Provide Markdown Syntax in Documentation Examples by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/497
    • Add docs page on temporal subset scheduling by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/505
    • Plan Branch/Merge Docs by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/528

    Build System and Dependencies

    • Updated the hausra and postgres container names with the aerie prefix by @cohansen in https://github.com/NASA-AMMOS/aerie/pull/492
    • Update Hasura from v2.12.0 to v2.12.1 by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/527
    • Update Gradle to 7.6 by @camargo in https://github.com/NASA-AMMOS/aerie/pull/540

    New Contributors

    • @cohansen made their first contribution in https://github.com/NASA-AMMOS/aerie/pull/492

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v1.0.0...v1.0.1

    Source code(tar.gz)
    Source code(zip)
    code-scan-results.zip(259.99 KB)
    Deployment.zip(43.72 KB)
  • v1.0.0(Nov 15, 2022)

    Summary of New Features

    • Plan merge and collaboration. You can now create a branch from a plan, make a merge request to a parent plan, and interactively review merge requests!
    • You can now include gaps in external datasets and query for them using the constraints EDSL.
    • Global scheduling conditions can now be added via the GraphQL API. We are targeting UI support in an upcoming point release.
    • Many documentation updates with more coming. We recommend using the develop documentation for the next couple point releases.
    • Unit tests now require less boilerplate thanks to some simplification refactoring.

    What's Changed

    Breaking Changes

    Please see our latest upgrade guide for complete instructions for upgrading from 0.13.2 to 1.0.0.

    • Plan Duplicate and Snapshots by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/380
    • Revert name changes to boolean operations by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/407
    • Scheduler workers by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/406
    • Avoid computing samples eagerly in SimulationResults by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/423
    • Rename condition table to "constraint" by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/419
    • Global scheduling condition in scheduling eDSL + mutex by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/410
    • Rename command-expansion-server by @camargo in https://github.com/NASA-AMMOS/aerie/pull/439
    • Move the simulation thread pool from the model to the driver by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/382

    New Features

    • Plan Merging by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/399
    • Add during expression by updating ForEach and Spans by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/402
    • Gaps in external profiles by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/397
    • Assign Gaps by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/433

    Bug Fixes

    • Load scheduling DSL TypeScript libraries in scheduler-server by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/424
    • Use the constraints DSL from the constraints folder by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/431
    • Commit merge with delete-modify conflict resolution edge cases by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/440

    Performance Improvements

    • Wrap simulation results writing in TransactionContext by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/411

    Refactoring

    • Use IntervalMap for Linear and Discrete Profiles by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/339

    Continuous Integration

    • Database Migration Script by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/438

    Documentation

    • Do not use doc links to primitives by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/395
    • Update docs to use new favicon and logo by @lklyne in https://github.com/NASA-AMMOS/aerie/pull/403
    • Update command server Dockerfile and deployment readme by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/398
    • Javadocs for merlin.protocol by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/378
    • Include eDSL API docs on website by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/404
    • Update readme by @camargo in https://github.com/NASA-AMMOS/aerie/pull/412
    • Update readme by @camargo in https://github.com/NASA-AMMOS/aerie/pull/414
    • Update Website Layout by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/420
    • Constraints docs by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/421
    • Remove redundant env docs by @camargo in https://github.com/NASA-AMMOS/aerie/pull/437
    • Fix broken links in Docs by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/448
    • Reference api-examples by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/456
    • Add GitHub release.yml by @camargo in https://github.com/NASA-AMMOS/aerie/pull/468
    • Include MD link on Examples/index.rst by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/472
    • Documentation: activity types and configuration by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/465
    • Use aerie logo with background in readme by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/474
    • Update documentation about scheduling by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/476
    • Remove Scylla links by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/479
    • Mission modeling docs updates by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/478
    • Move more documents from old_site to main by @camargo in https://github.com/NASA-AMMOS/aerie/pull/482

    Build System and Dependencies

    • Upgrade command expansion server deps by @camargo in https://github.com/NASA-AMMOS/aerie/pull/394
    • Remove jheaps and jgrapht from third-party by @camargo in https://github.com/NASA-AMMOS/aerie/pull/413
    • Use version for publishing only by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/415
    • Use property for publishing version string by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/416
    • Put setProperty() in configure block by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/418

    Style

    • Format command expansion server by @camargo in https://github.com/NASA-AMMOS/aerie/pull/409

    New Contributors

    • @lklyne made their first contribution in https://github.com/NASA-AMMOS/aerie/pull/403

    Other Aerie 1.0.0 Releases

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.13.2...v1.0.0

    Source code(tar.gz)
    Source code(zip)
    code-scan-results.zip(212.23 KB)
    Deployment.zip(43.21 KB)
  • v0.13.2(Oct 19, 2022)

    Summary of New Features

    • The scheduling EDSL now uses Temporal.Duration for representing durations. Users no longer need to provide all durations in microseconds.
    • We now provide a recommended pattern to return computed attributes from an activity @EffectModel function.
    • You are now able to check constraints against external profiles.
    • Scheduling and simulation errors now provide more context and type consistency.

    Breaking Changes

    • Going forward we are recommending you install Aerie using the GitHub package repository instead of Artifactory.
    • Migrating a mission model will require two modifications. Please see our upgrade guide for detailed instructions.
    • We updated to Java 19 to start taking advantage of the latest concurrency features. Mission modelers will need to install a Java 19 JDK.

    What's Changed

    New Features

    • [AERIE-2033] Replace long representation of duration with Temporal.Duration in scheduling eDSL by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/187
    • [AERIE-1858] Facilitate recommended pattern for computed attributes by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/188
    • [AERIE-1961] External profiles in constraints by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/350
    • [AERIE-2119] Structure failWith() reasons by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/362
    • [AERIE-1930] Include awaiting execution state activity tasks in results by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/367
    • [AERIE-1983] Add temporal to command typings by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/375

    Bug Fixes

    • Fix scheduler by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/301
    • [AERIE-2022] Scheduling does not see child activities by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/332
    • [AERIE-2132] Incremental simulation incorrectly updated its timeline by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/351
    • [AERIE-1983] Activity TS includes temporal by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/359
    • Fix json<->SerializedValue int/double ambiguity when parsing by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/372
    • Constraints Any semantics should preserve false by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/373
    • [AERIE-2165] fix command typelib generation by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/376
    • [AERIE-2177] Serialize Temporal.Duration as integer in scheduling edsl by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/383
    • update activity table to use start_time_doy by @camargo in https://github.com/NASA-AMMOS/aerie/pull/387

    Performance Improvements

    • [AERIE-2158] Refactor activity validation check by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/368
    • [AERIE-2153] Remove refreshActivityValidations event trigger by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/370

    Refactoring

    • Remove some unnecessary simulation system complexity (and fix a bug) by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/318
    • Rename InvalidArgumentsException -> InstantiationException by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/371

    Documentation

    • Add logo and favicon to docs by @jeffpamer in https://github.com/NASA-AMMOS/aerie/pull/355
    • various updates by @camargo in https://github.com/NASA-AMMOS/aerie/pull/358
    • update ui custom base path by @camargo in https://github.com/NASA-AMMOS/aerie/pull/381
    • fix link in README by @bradNASA in https://github.com/NASA-AMMOS/aerie/pull/385
    • [AERIE-2178] Update 0.13.2 migration docs by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/386
    • Fix link and remove outdated waitFor() docs by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/388

    Build System and Dependencies

    • upgrade Hasura to v2.12.0 by @camargo in https://github.com/NASA-AMMOS/aerie/pull/364
    • Update to Java 19 by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/379
    • update gradle wrapper version by @camargo in https://github.com/NASA-AMMOS/aerie/pull/384
    • Change the Merlin Worker Java image from alpine to jammy by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/389

    New Contributors

    • @jeffpamer made their first contribution in https://github.com/NASA-AMMOS/aerie/pull/355
    • @bradNASA made their first contribution in https://github.com/NASA-AMMOS/aerie/pull/385

    Other Aerie 0.13.2 Releases

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.13.1...v0.13.2

    Source code(tar.gz)
    Source code(zip)
    Deployment.zip(30.29 KB)
  • v0.13.1(Oct 3, 2022)

    What's Changed

    Activity to Command Expansion

    • AERIE-2041 - TS convert functional programing UNIT to {} by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/311
    • feat: increase command expansion server body parser limit by @camargo in https://github.com/NASA-AMMOS/aerie/pull/323
    • [AERIE-1764] Return more information about errors. by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/302
    • [AERIE-1924] Implement transpilation caching in command expansion by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/326
    • [AERIE-2049] Fallible seqJson actions by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/324
    • FEAT Convert seqJson to seq EDSL by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/338
    • [Aerie 2021] Remove Deprecated Time Formats by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/328

    Activity Parameters

    • [AERIE-2067] Return associated parameters in validation responses by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/317 : The @Validation.Subject annotation is available to report the parameter(s) associated with a particular activity parameter validation response.
    • Add @Validation.Subject where possible by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/329
    • [HOTFIX] Allow ValidationResponse.errors to be null (when success false) by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/319
    • [AERIE-2066] Report activity argument validations in activity_directive_validations by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/330 Activity parameter argument validations are available to query on the graphql API via the activity_directive_validations
    • [AERIE-2091] Fix "classic style" required @Parameter support by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/334

    Modeling

    • Facilitate model-scoped SPICE by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/322

    Scheduling

    • [REFACTOR] Move Scheduling Goal compilation out of Database Driver by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/305
    • [AERIE-1967] Global Scheduling Conditions by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/308
    • [AERIE-2111] Return AnalysisID as part of Schedule Action by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/348

    General

    • [HOTFIX] Fix malformed HTML by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/314
    • [REFACTOR] Try with resource refactoring in database actions by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/309
    • [AERIE 2071] Resolve Code Security Alerts by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/315
    • Avoid leaking an open JarFile by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/321
    • [HOTFIX] Corrects the order of the arguments to the Exception's message by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/325
    • [HOTFIX] Ensure Duration is Long prior to serialization by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/327
    • [AERIE-2060] Update example views to include new timeline row name and collapsed fields by @AaronPlave in https://github.com/NASA-AMMOS/aerie/pull/331
    • [AERIE-1825] Nullable Windows by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/295
    • [AERIE-1953] Interval split operation for Windows and Spans by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/260
    • [AERIE-1948] Starts and Ends windows (and spans!) operations by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/249
    • refactor: update simulation_dataset relationship name by @camargo in https://github.com/NASA-AMMOS/aerie/pull/337
    • Include stack trace in failure reason by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/340

    Documentation

    • [AERIE 2053] Add Sphinx Documentation Generation and Publishing by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/320 : Aerie documentation is now served from a multi-version documentationAerie website.
    • [Hotfix] Fix GitHub Pages by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/333
    • [AERIE-2025] Reformat scanning artifacts with nasa-scrub by @skovati in https://github.com/NASA-AMMOS/aerie/pull/342
    • docs: prefix public UI env vars by @camargo in https://github.com/NASA-AMMOS/aerie/pull/335
    • [DOCS] Add link to website in README by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/336
    • [AERIE-2121] Adding the remainder of the wiki docs. by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/344
    • docs: add ui-custom-base-path document by @camargo in https://github.com/NASA-AMMOS/aerie/pull/345
    • fix: remove unused gateway env var by @camargo in https://github.com/NASA-AMMOS/aerie/pull/347
    • [AERIE-2134] Resolve Broken Links by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/352

    New Contributors

    • @AaronPlave made their first contribution in https://github.com/NASA-AMMOS/aerie/pull/331

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.13.0...v0.13.1

    Source code(tar.gz)
    Source code(zip)
    deployment.zip(86.69 KB)
  • v0.13.0(Sep 6, 2022)

    What's Changed

    Activity-Command Expansion

    Command expansion now passes the computed attributes of a simulated activity to the activity-command expansion process. See docs

    • [AERIE-2001] Pass along Computed Attributes by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/291

    Users can now compose a stand alone sequence and generate a seqjson document. See docs

    • [AERIE-2002] Generate a standalone sequence seqjson by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/285

    Automated Scheduling

    Composite goal types were refactored with the user facing changes being the inPeriod operator of the CardinalityGoal removed from the eDSL, bug fix where the horizon was not set (forAllTimeIn) in the conjunctive goal, and the criterion for satisfaction of composite or/and goal refactored to be similar to the semantics of partialSatisfiability for non-composite goals.

    • [AERIE-1849] Test composite goals by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/242

    Documentation updates in preparation for publishing of an autogenerated eDSL API documentation similar in style to javadocs.

    • [AERIE-1977] Update eDSL documentation by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/283

    Scheduler populates source activity metadata field.

    • [AERIE-1940] Scheduler populate source metadata field by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/282

    Constraints

    Bug fixed where extra quotes would be parsed in a constraint definition.

    • [AERIE-2004] extra quotes in constraints codegen by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/290

    General

    Secrets have been removed from the repository and Aerie docker compose file now takes secrets as environment parameters.

    • [AERIE-1696] Move secrets to enviornment variables by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/279

    This change will require any clients to update their graphql query from activity to activity_directive.

    • [AERIE-1941] Rename activity table to activity_directive by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/284

    Make use of an unconfigured mission model, rather than a configured mission model, wherever possible. This should increase system responsiveness when loading activity plans. This change is the culmination of discussions about which actions need "fully instantiated" mission models, and which actions only need "loaded mission models". The terminology in the code uses the words "Configured Mission Model" to mean one whose constructor had been called, and "Unconfigured Mission Model" for mission models whose factories had been loaded, and directive types extracted, but no constructor had been called.

    • [AERIE-2082] Use unconfigured models where possible by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/312

    Simulation

    A bug limiting the number of activity definitions in the annotations processor has been fixed.

    • [AERIE-2005] Use builder pattern when instantiating activity type directives by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/281
    • [REFACTOR] Simplify builder chaining code codegen by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/286

    The plan start time is now available to the mission model during initialization.

    • [AERIE-1935] Expose plan start time to mission model by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/278

    Remainder

    • [AERIE-1988] Update user code runner to 0.3.1 by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/293
    • [HOTFIX] Fix bad npm registry by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/294
    • [AERIRE 1918] Add schema property to real profiles by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/292
    • build: update package-lock.json by @camargo in https://github.com/NASA-AMMOS/aerie/pull/296
    • [AERIE-1954] Add the container scan action to the publish workflow by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/256
    • [HOTFIX] Scanning action detecting vulnerabilities shouldn't fail publish pipeline by @skovati in https://github.com/NASA-AMMOS/aerie/pull/299
    • [AERIE 1815] Replace org.json dependency with javax.json.JsonObject dependency by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/300
    • [HOTFIX] Update to [email protected] by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/303
    • [AERIE-1958] update example tables to reflect Ag-Grid definitions by @duranb in https://github.com/NASA-AMMOS/aerie/pull/307
    • [AERIE-1982] feat: add user sequence table by @camargo in https://github.com/NASA-AMMOS/aerie/pull/304
    • [AERIE-1997] Add custom PR logic action by @skovati in https://github.com/NASA-AMMOS/aerie/pull/298
    • Javadocs for the parser combinator library by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/288
    • Remove {POSTGRES_DB} enviornment variable by @Mythicaeda in https://github.com/NASA-AMMOS/aerie/pull/289
    • Increment version to 0.13.0 by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/313

    Breaking Changes

    This change will require any clients to update their graphql query from activity to activity_directive.

    • [AERIE-1941] Rename activity table to activity_directive by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/284

    New Contributors

    • @Mythicaeda made their first contribution in https://github.com/NASA-AMMOS/aerie/pull/279
    • @duranb made their first contribution in https://github.com/NASA-AMMOS/aerie/pull/307

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.12.3...v0.13.0

    Source code(tar.gz)
    Source code(zip)
    deployment.zip(82.68 KB)
  • v0.12.3(Aug 9, 2022)

    What's Changed

    Activity to Command Expansion

    • [AERIE-1824] Rework TimeType API by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/241: Time types are now written as R00:15:00 rather than R(Temporal.Duration.from({ minutes: 15 }). The old method is deprecated and will be supported for a few more releases. https://github.com/NASA-AMMOS/aerie/wiki/Setup-IDE-and-Writting--Expansion-Logic#time

    • [AERIE-1875] Return Dictionary fields when uploading by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/268: When uploading a command dictionary the API returns the unique id to the new set of commands and associated metadata. https://github.com/NASA-AMMOS/aerie/wiki/Upload-and-Generate-Command-Library-File#upload

    Automated Scheduling

    • [FIX] Root-finding issue by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/234
    • [AERIE-1966] Spans by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/272

    Constraints

    • [REFACTOR] Read activity types from database for constraints codegen by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/264
    • [AERIE-1974] Remove nested ternary type checks in constraints eDSL by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/274: Large mission models would encounter a stack-overflow-like error when typechecking constraints because of the massive nested ternary expressions involved. This refactors that to avoid those types.

    Documentation

    • [DOCS]: add security.md by @camargo in https://github.com/NASA-AMMOS/aerie/pull/273
    • [REFACTOR]: update ui view examples by @camargo in https://github.com/NASA-AMMOS/aerie/pull/275

    General

    • [FIX] Upgrade n0067 Spice JNIlib for intel+arm architectures by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/271
    • [AERIE-1908] Jetty-Hasura idle timeout clash by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/263
    • [HOTFIX] Check that the needed servers are alive before starting tests by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/240
    • [REFACTOR] Delete unused merlin-server database actions by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/261
    • [BUILD]: Update dev docker-compose by @camargo in https://github.com/NASA-AMMOS/aerie/pull/269

    Planning (Activity)

    • [AERIE-1934] Add metadata to activity directives by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/245

    • [AERIE-1943] Mission specific activity directive metadata by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/253: These two changes make possible activity metadata via the API. The corresponding Aerie UI change will fully realize this capability for UI users.

    • feat: add Hasura relationship from plan to plan_dataset by @camargo in https://github.com/NASA-AMMOS/aerie/pull/266

    • [AERIE-1826] Accumulate activity/configuration instantiation errors by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/258: When an activity contains erroneous arguments to parameters or insufficient arguments Aerie now returns all errors, as opposed to simply returning the first error encountered.

    • [AERIE-1497] Raise negative plan duration PG exception by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/277: Aerie now disallows negative and zero duration plans, raising an error which is reported via the Aerie API.

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.12.2...v0.12.3

    Source code(tar.gz)
    Source code(zip)
    deployment.zip(80.86 KB)
  • v0.12.2(Jul 25, 2022)

    What's Changed

    General

    • [REFACTOR] Update ui view component names by @camargo in https://github.com/NASA-AMMOS/aerie/pull/257
    • [AERIE-1957] fix: add Hasura web socket URL env var by @camargo in https://github.com/NASA-AMMOS/aerie/pull/259

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.12.1...v0.12.2

    Source code(tar.gz)
    Source code(zip)
    deployment.zip(78.16 KB)
  • v0.12.1(Jul 21, 2022)

    What's Changed

    Activity-Command Expansion

    • [AERIE-1879] Commands with Dynamic Repeating Arguments are Out of Order by @goetzrrGit in #210
    • [AERIE-1874] Add command expansion test into e2e tests by @dyst5422 in #227

    Automated Scheduling

    General

    • [AERIE-1913] Add simulation dataset id to simulate query response by @skovati in #237
    • [AERIE-1766] Add healthcheck endpoints by @skovati in #218
    • [AERIE-1912] Temporal object types don't transfer to worker by @dyst5422 in #226
    • [AERIE-1906] Resolve LGTM errors by @pcrosemurgy in #220
    • [AERIE-1922] Add absolute time to activities and resource profiles by @dyst5422 in #236
    • [AERIE-1938] Upgrade Hasura to version 2.8.4 by @skovati in #243
    • [AERIE-1906] Resolve SerializedValue LGTM errors by @pcrosemurgy in #238

    Breaking Changes

    • [AERIE-1893 ] Remove deprecated sim results response code by @skovati in #224
      Simulation resource profiles are no longer returned with the simulation query. Rather resource profiles are available directly from the GraphQL API schema. An example query is shown in the wiki

    New Contributors

    • @pranav-super made their first contribution in https://github.com/NASA-AMMOS/aerie/pull/231

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.12.0...v0.12.1

    Source code(tar.gz)
    Source code(zip)
  • v0.12.0(Jun 15, 2022)

    What's Changed

    Activity-Command Expansion

    • [AERIE-1881] directive id column on simulated activity view by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/199
    • [AERIE-1857] command expansion timestamps by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/197
    • [AERIE 1871] simulated activity id metadata in generated sequences by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/201
    • [AERIE-1856] normalize dsl return types by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/202
    • [AERIE-1877] 'DayOfYear' isn't a valid entry for Temporal.ZonedDateTime by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/194

    Automated Scheduling

    • [AERIE-1844] Use constraints language as subset of scheduling language by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/179
    • [AERIE 1885] Add enabled/disabled to goal in sceduling specification by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/213
    • [AERIE-1835] Start and End TimingConstraints in CoexistenceGoal by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/214

    Constraints

    • [AERIE-1842] Type-checking for Constraints eDSL by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/183
    • [AERIE-1882] Remove old constraints pipeline by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/205
    • [AERIE-1878] Add Hasura constraintViolation action by @skovati in https://github.com/NASA-AMMOS/aerie/pull/211

    General

    • [BUILD] bump aerie-ts-user-code-runner to 0.3.0 by @camargo in https://github.com/NASA-AMMOS/aerie/pull/196
    • [DEPS] Misc. Gradle dependency updates by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/195
    • [HOTFIX] Simulation results persistence bugs by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/207
    • [FIX] update start time field for activity table by @camargo in https://github.com/NASA-AMMOS/aerie/pull/208
    • [AERIE 1871] simulated activity id metadata in generated sequences by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/201
    • [AERIE-1776] adjust compilation targets by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/221

    Simulation

    • Factor directive handling out of SimulationEngine by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/170
    • [AERIE-1861] Hasura resourceSamples action by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/189
    • [AERIE-1796] Carve out sim. results: resource samples by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/209
    • [AERIE-1909] Explicitly set prepared statement parameter by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/222

    Breaking Changes

    • Constraints results have been decoupled from the simulation query. Constraints results returned along side simulation results is deprecated and will be removed in the coming 0.12.1 release. A GraphQL query for constraint results can now be constructed with the constraintViolations schema addition. An example query is shown in the wiki
    • Simulation resource profiles are no longer returned with the simulation query. Rather resource profiles are available directly from the GraphQL API schema. An example query is shown in the wiki

    New Contributors

    • @skovati made their first contribution in https://github.com/NASA-AMMOS/aerie/pull/211

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.11.3...v0.12.0

    Source code(tar.gz)
    Source code(zip)
    Deployment.tar.gz(30.91 KB)
  • v0.11.3(May 31, 2022)

    What's Changed

    Activity-Command Expansion

    • [AERIE-1830] Adjust the seqJSON output when expanding the plan. by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/165
    • [FIX] Stricter/more correct type checking by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/158
    • [AERIE-1827] eDSL output the correct time format in seqJSON by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/160
    • [AERIE-1852] Command expansion "authored by" columns by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/173
    • [AERIE-1859] Remove base64 encoding by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/182
    • [AERIE-1823] sequence generation flow by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/166
    • [AERIE-1833] SeqJson should preserve parameter order by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/178

    Automated Scheduling

    • [FIX][AERIE-1829] Satisfying activities missing by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/163
    • [HOTFIX] Close Simulation Engine in Scheduler by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/168
    • [AERIE-1814] Optimize computations of constraints by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/152
    • [AERIE-1811] Scheduling Language Resource Constraints by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/157
    • [AERIE-1813] Replace scheduler state constraints with Merlin resource constraints by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/167
    • [AERIE-1812] Add cardinality goal (with implied mutex) to the scheduling eDSL by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/171

    Constraints

    • [AERIE-1816] New constraints pipeline by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/159
    • [AERIE-1819] Build Constraints eDSL to parity with JSON implementation by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/174
    • [AERIE-1843] Add constraintsDslTypescript hasura action by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/176

    General

    • Upgrade all components to Java 18 by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/129
    • [AERIE-1862] Change nvm install location to /usr/src by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/184

    Simulation

    • [AERIE-1685] Validate plan prior to simulating by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/140
    • [AERIE-1794] Accumulate & persist unfinished activities by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/164
    • Generate return for activities with return values by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/169

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.11.2...v0.11.3

    Source code(tar.gz)
    Source code(zip)
    Deployment.tar.gz(30.88 KB)
  • v0.11.2(May 3, 2022)

    What's Changed

    Automated Scheduling

    • [FIX] update docker-compose-test with new ports by @camargo in https://github.com/NASA-AMMOS/aerie/pull/148
    • [AERIE-1756] Initial barebones coexistence goal by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/132
    • [AERIE-1743] Asynchronous scheduling requests by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/138
    • [FIX] Fix special case issue in RecurrenceGoal and hasura request. by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/145

    Aerie UI

    • [AERIE-1669] feat: update default ui views by @camargo in https://github.com/NASA-AMMOS/aerie/pull/151
    • [AERIE-1669] refactor: update default ui views by @camargo in https://github.com/NASA-AMMOS/aerie/pull/155
    • [AERIE-1669] refactor: update default UI view gridName by @camargo in https://github.com/NASA-AMMOS/aerie/pull/161

    Activity Command Expansion

    • [AERIE-1790] Added Relative, Absolute, and Epoch timing. by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/149

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.11.1...v0.11.2

    Source code(tar.gz)
    Source code(zip)
    Deployment.tar.gz(29.61 KB)
  • v0.11.1(Apr 20, 2022)

    What's Changed

    Simulation

    • Avoid deserializing spawned activities by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/86

    Mission Modeling

    • [AERIE-1731] Schedule activities with uncontrollable durations by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/113

    Automated Scheduling

    • [AERIE-1744] Scheduler goal priority update SQL triggers by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/123
    • [AERIE-1709] Avoid regenerating activities after scheduling by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/121
    • [AERIE-1767] Typechecking Scheduling Goal EDSL by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/134
    • [AERIE-1785] Provide default priorities if not provided by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/141
    • [AERIE-1798] Fix JSON parse errors in scheduling dsl compiler by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/144

    Deployment

    • [AERIE-1779] Reduce docker image sizes. by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/133
    • [AERIE-1783] fix: update Hasura metadata ports by @camargo in https://github.com/NASA-AMMOS/aerie/pull/142
    • [DOCS] add ui ORIGIN env var by @camargo in https://github.com/NASA-AMMOS/aerie/pull/143

    Activity Command Expansion

    • [AERIE-1783] Add commanding container to the deployment docker compose by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/137
    • [AERIE-1775] Type check on expansion set creation by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/146

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.11.0...v0.11.1

    Source code(tar.gz)
    Source code(zip)
    Deployment.tar.gz(30.70 KB)
  • v0.11.0(Apr 4, 2022)

    Breaking Changes

    • MissionModelFactory now takes a concrete config object

      • MissionModelTest is the same
    • MissionModelBuilder and associated test take directive registry now

      • was return builder.build(model, registry.taskSpecTypes());
      • now return builder.build(model, registry);
    • Mission model now needs a gov.nasa.jpl.aerie.merlin.protocol.model.SchedulerPluginfile in the META-INF)/services directory. This will live alongside the already existing gov.nasa.jpl.aerie.merlin.protocol.model.GeneratedMerlinPlugin. It's contents will be E.g. gov.nasa.jpl.aerie.banananation.generated.GeneratedSchedulerPlugin

    What's Changed

    Of User Interest

    Mission Modeling

    • Model configuration interface cleanup by @Twisol in https://github.com/NASA-AMMOS/aerie/pull/66

    Activity Command Expansion

    • [AERIE-1717] Upload a command dictionary by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/70
    • [AERIE-1726] Activity Typescript Types Generation by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/81
    • [AERIE-1725] get command typescript types by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/80
    • [AERIE-1715] Typescript evaluation in scheduler-server by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/63
    • [AERIE-1727] Add put-expansion endpoint by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/92

    Configurable Logging

    • [AERIE-1733] Set merlin log level and output file in docker-compose by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/93
    • [AERIE-1734] Use configurable logging in scheduler by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/97
    • Only log INFO-level Hikari logs in dev stack by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/124

    Automated Scheduling

    • [AERIE-1656] Activities opt-in to controllable duration by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/54
    • [AERIE-1692] Connect Step Simulation to the scheduler by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/71
    • [AERIE-1676] Look up ActivityTypes from Problem when building Goals by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/112
    • [AERIE-1741/29/28/54] TypeScript instantiations of simulated activities by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/106
    • [AERIE-1694] Provide Scheduling DSL Typescript via API by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/120

    Multiple Concurrent Simulation Execution

    • [AERIE-1384] Multiple simulation workers by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/107

    Fix

    • [AERIE-1582] Fix concurrent composition of register effects by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/40
    • [AERIE-1711] Replace DB_TYPE env vars with DB_SERVER env vars by @kroffo in https://github.com/NASA-AMMOS/aerie/pull/115

    Dev Ops

    • docs: update env vars by @camargo in https://github.com/NASA-AMMOS/aerie/pull/95
    • build: remove env vars from docker-compose by @camargo in https://github.com/NASA-AMMOS/aerie/pull/96
    • [REFACTOR] Keep node_modules/ directory upon gradle clean by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/88
    • [REFACTOR] Open debug ports on java servers in dev docker compose by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/89
    • [DEVOPS] Add security-extended codeql queries by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/118
    • test: add e2e-test project by @camargo in https://github.com/NASA-AMMOS/aerie/pull/122
    • [AERIE-1739] Add codeql config for security scanning by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/87

    Remainder

    • [REFACTOR] Update README.md by @patkenneally in https://github.com/NASA-AMMOS/aerie/pull/85
    • refactor: scheduling Hasura metadata relationships by @camargo in https://github.com/NASA-AMMOS/aerie/pull/90
    • [HOTFIX] Command route names include method by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/91
    • [HOTFIX] Boolean enums should be type boolean by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/94
    • [Command Expansion] Added a basic banananation command dictionary by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/119
    • Set default dev log-level to DEBUG by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/98
    • Configure Hasura log level through env vars by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/99
    • [HOTFIX] Remove duration parameter from createAllPlanActivities by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/100
    • [HOTFIX] Hasura CommandExpansionResponse should return id. by @goetzrrGit in https://github.com/NASA-AMMOS/aerie/pull/101
    • refactor: add more Hasura metadata for scheduling by @camargo in https://github.com/NASA-AMMOS/aerie/pull/103
    • [AERIE-1738] Put expansion_set, auto-update expansion_set_to_rule join table by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/83
    • [AERIE-1750] Configure gateway logging by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/105
    • [FEAT] Expansion Hasura Relationships by @dyst5422 in https://github.com/NASA-AMMOS/aerie/pull/104
    • [HOTFIX] Fix expansion Hasura metadata by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/108
    • [AERIE-1749] command expansion logging by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/109
    • [HOTFIX] Check activity DurationType before setting its duration parameter by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/110
    • [AERIE-1557] Separate Harusa action parsers from Merlin Parsers by @JoelCourtney in https://github.com/NASA-AMMOS/aerie/pull/111
    • [AERIE-1710] Strengthen merlin-server Postgres Boundary by @kroffo in https://github.com/NASA-AMMOS/aerie/pull/102
    • [HOTFIX] Merlin-Server Refactor Issues Fix by @kroffo in https://github.com/NASA-AMMOS/aerie/pull/114
    • [HOTFIX] Fix Typo in scheduling_specification Table by @kroffo in https://github.com/NASA-AMMOS/aerie/pull/116

    Full Changelog: https://github.com/NASA-AMMOS/aerie/compare/v0.10.1...v0.11.0

    Source code(tar.gz)
    Source code(zip)
    Deployment.tar.gz(28.34 KB)
  • v0.10.1(Mar 5, 2022)

    Breaking Changes

    • Activity ID and Plan ID are now int data types rather than string.
    • merlin-framework:
      • Mission model configuration
        • Merlin now auto-generates configuration mappers, therefore configuration value mappers are now obsolete and should be removed.
        • Configurations are now required to declare their parameters and default arguments with the same style as activities.
          • See https://github.com/NASA-AMMOS/aerie/wiki/Configuring-a-Mission-Model for guidance on defining configuration parameters and default arguments.
        • The family of annotations which trigger code generation for exporting various mission model capabilities have been moved to the gov.nasa.jpl.aerie.merlin.framework.annotations.Export class
          • See https://github.com/NASA-AMMOS/aerie/wiki/Declaring-Parameters
    • scheduler:
      • All scheduler env variables have had a name change.

    Bug Fixes

    Known Limitations

    • The scheduler is currently limited to serial execution of scheduling runs (1 scheduling run per Aerie instance at a time).
    • Scheduling rules are provided to the scheduler agent as a JAR file of Java defined scheduling rules

    Key User Facing Pull Requests

    • [AERIE-1578] Numeric Activity Instance IDs by @kroffo in https://github.com/NASA-AMMOS/aerie/pull/18
    • [DOCUMENTATION] Add psql prereq. to building.md by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/22
    • [AERIE-1639] Plan ID Record by @kroffo in https://github.com/NASA-AMMOS/aerie/pull/24
    • [AERIE-1350] Mission model configuration: effective arguments by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/20
    • [REFACTOR] Simplify activity & configuration mapper generation by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/33
    • [AERIE-1629] Computed Attributes in Simulation Results by @mattdailis in https://github.com/NASA-AMMOS/aerie/pull/25
    • [AERIE-1638] Mission model configuration validation by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/37
    • [AERIE-1647] Refactor scheduler ActivityInstance by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/35
    • Support Hasura v2.2 action JSON request_query field by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/44
    • [AERIE-1691] Return default arguments alongside effective argument failures by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/50
    • [AERIE-1666] Distribute SQL with Gradle by @pcrosemurgy in https://github.com/NASA-AMMOS/aerie/pull/51
    • [AERIE-1673] Compute Scheduling Results by @adrienmaillard in https://github.com/NASA-AMMOS/aerie/pull/46
    • [DOCUMENTATION] remove internal docs and deployment variables by @camargo in https://github.com/NASA-AMMOS/aerie/pull/73

    Full Changelog: https://github.com/NASA-AMMOS/aerie/commits/v0.10.1

    Source code(tar.gz)
    Source code(zip)
    Deployment.zip(20.50 KB)
Owner
NASA Advanced Multi-Mission Operations System
NASA Advanced Multi-Mission Operations System
A Toolkit for Modeling and Simulation of Resource Management Techniques in Internet of Things, Edge and Fog Computing Environments

The iFogSimToolkit (with its new release iFogSim2) for Modeling and Simulation of Resource Management Techniques in Internet of Things, Edge and Fog Computing Environments. In the new release Mobili Management, Microservice Management, and Dynamic Clustering mechanisms are added as new features.

The Cloud Computing and Distributed Systems (CLOUDS) Laboratory 69 Dec 17, 2022
Anime game server software reimplementation. Planning to replace @Grasscutters/Grasscutter.

NOTE This is a rewritten version of Grasscutter. Find the original project at Grasscutters/Grasscutter. Grasscutter TODO: Write README.md Players Guid

Magix 11 Dec 1, 2022
Source Code for TransRot, molecular modeling software for simulated annealing Monte Carlo geometry optimizations of atomic and molecular clusters.

TransRot Version 1.5.3 Steven L. Topper and Robert Q. Topper School of Engineering The Cooper Union   for the Advancement of Science and Art New York,

Steven Topper 5 Dec 14, 2022
Critter Chronologer a Software as a Service application that provides a scheduling interface for a small business that takes care of animals

Critter Chronologer a Software as a Service application that provides a scheduling interface for a small business that takes care of animals. This Spring Boot project will allow users to create pets, owners, and employees, and then schedule events for employees to provide services for pets.

Rasha Omran 1 Jan 28, 2022
A fast and reliable Java micro-library which chooses the sorting algorithm that best fits your needs and sorts the parameter.

A fast and reliable Java micro-library which chooses the sorting algorithm that best fits your needs and sorts the parameter.

Simone Nicol 2 Feb 19, 2022
React native wrapper for Jitsi Meet SDK Library that rely on the native view (Activity / ViewController)

react-native-jitsi-meet-sdk React native wrapper for Jitsi Meet SDK Library. This Library implements the Jitsi SDK with a native activity on the Andro

null 7 May 2, 2022
App to demonstrate the passage of adapter items into activity using interfaces

OnClickListenerExample This application shows how to pass adapter items into an activity using interfaces. The sample data set contains two fields rep

Rohan Bari 1 Feb 2, 2022
CO1212 - Stack Operations Activity

StackOperations Download this two java files and implement the methods which are mentioned inside the class. Just use the basic things that I have tau

Dilshan Karunarathne 4 Apr 26, 2022
Idk. Simple argument parser for u. Probably needs some changes xd

SimpleArgumentParser Maven <repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories> <de

γͺるみ 6 Sep 30, 2022
This project was created as a simple example to show how we can implement the hexagonal architecture(software design) proposed by Netflix.

Netflix Hexagonal Architecture Table of contents About the project Description Built with Installation Requirements to run Usage information Run Licen

JosΓ© Lucas 12 Dec 20, 2022
Experimental validation mini-framework

ClinQ Simple yet interesting validation mini-framework Features Declarative checks ClinQ.checker(Integer.class) .with(i -> i % 2 == 0) .with(i

Alexey Akhundov 13 Sep 27, 2022
Unit 1 for WASP composable software tools project

one This unit uses Spoon to find program constructs from a Java source file, based on their visibility. It currently supports public and private class

Deepika Tiwari 2 Oct 13, 2021
This Web Application Allows A user to upload a two minutes Video. It uses Server Side Capabilities of Nodejs and Spring Boot .

VideoStreamingApplication Purpose Of This Application These days trend of short videos are on rise youtube recently realsed "Shorts" . So , taking ins

Prateek Kumar 57 Nov 13, 2022
Tuya 37 Dec 26, 2022
This sample shows how to implement two-way text chat over Bluetooth between two Android devices, using all the fundamental Bluetooth API capabilities.

Zenitsu-Bluetooth Chat Application This sample shows how to implement two-way text chat over Bluetooth between two Android devices, using all the fund

Gururaj Koni 1 Jan 16, 2022
Tasks Planner : A minimalist collaborative app for scheduling and managing your tasks with the team and getting notifications through discord.

Tasks Planner ✨ Overview Tasks planner is a minimalist collaborative app for planning and managing your tasks with the team and get notifications thro

MILIARI Adnane 7 Dec 1, 2022
Swerve control, simulation, and trajectory generation / following. Everything you need for swerve.

BearSwerve BearSwerve is intended to be an all in one swerve solution including: teleop driving, simulation, trajectory following and more. It combine

null 7 Dec 28, 2022
Implementation of Greedy Particle Swarm Optimization, HSGA and Hybrid(GA+PSO) for the purpose of Task Scheduling in cloud computing environment using CloudSim

Implementation of Greedy Particle Swarm Optimization, HSGA and Hybrid(GA+PSO) for the purpose of Task Scheduling in cloud computing environment using CloudSim

Yash Jain 5 Dec 18, 2022