Download and Build the Mission Model Template
Mission models require a couple of standard items for Aerie to process the model once it has been built:
- A
package-info.java
file containing a reference to the top-level mission model class, annotations referencing any activities defined in the model, an annotation referencing a configuration class that can expose configuration parameters that can be varied prior to simulation, and import statements to the Aerie modeling framework to bridge the framework to the model. - The top-level mission model class that defines or delegates the behavior of the system being described in the model. Any quantity or state that you would like to track over the course of the simulation - which we define as a Resource - should be declared and defined in this class or its delegates. The name of the top-level mission class can be anything as long as it matches the reference in
package-info.java
.
Fortunately, to save you some trouble, we've created a mission model template repository that already has these items included for you along with a gradle build setup that takes care of including the right Aerie dependencies to get your mission model .jar
file built hassle-free. In this repository, if you take a look in missionmodel/src/main/java/missionmodel
, you'll see the package-info.java
file along with the top-level Mission
and Configuration
classes already defined for you.
On the main page for the mission model template repository, click the "Use this template" button on the top right of the page and select "Create a new repository" to create a new repository for your SSR model. Clone your new repository and follow the instructions in the README.md
to setup your environment and test out building a mission model .jar
from the model. You'll find the .jar
you built within a build/libs
directory generated as part of the gradle build.
At this point, we could pull up the Aerie UI and load the .jar
file into Aerie as a model, but there is nothing really interesting in the model yet. So before we bring our model into Aerie, let's give it some content.