GitHunt

slack


PlanDev

PlanDev is a software framework for modeling spacecraft. Its main features include:

  • A Java-based mission modeling library
  • A discrete-event simulator
  • An embedded TypeScript DSL for defining and executing scheduling goals
  • An embedded TypeScript DSL for defining and executing constraints
  • An embedded TypeScript DSL for defining and executing activity command expansions
  • An embedded TypeScript DSL for defining sequences
  • A GraphQL API
  • A web-based client application

Aerie -> PlanDev Rebrand

This product was formerly known as Aerie and is now named PlanDev. While we've updated most documentation and external references, some legacy mentions of the old product name may remain as we complete the transition.

What to know:

  • The planning product, including modeling, simulation, scheduling and constraint-checking, is now named PlanDev
  • The sequencing product, including the sequence editor, workspaces, and actions, is now named SeqDev
  • All features and functionality remain the same
  • Currently, repository names, package names and other internal code references will retain their existing names, and deployment/migration procedures have not changed
  • In a future release, our repository and/or package names may change. If so, this will be communicated to users via release notes and normal communication channels

For the latest documentation, visit: PlanDev Documentation

Getting Started

To get started using PlanDev for the first time please do our fast track tutorial on our documentation website.

Need Help?

News and Updates

  • Join the PlanDev Users group to stay up to date on news, releases, and our project roadmap.

Directory Structure

.
├── .github                     # GitHub metadata
├── constraints                 # Java library for constraint checking
├── contrib                     # Java convenience classes for mission models
├── db-tests                    # Database unit tests
├── deployment                  # Deployment artifacts and documentation
├── docker                      # Additional Dockerfiles for PlanDev-specific images
├── docs                        # Documentation
├── e2e-tests                   # End-to-end tests
├── examples                    # Example mission models
├── gradle                      # Gradle Wrapper
├── load-tests                  # Load testing code and configuration
├── merlin-driver               # Java library for discrete-event simulation
├── merlin-framework            # Java library for mission modeling
├── merlin-framework-junit      # Extension of JUnit to unit test mission models
├── merlin-framework-processor  # Java annotation processor for mission models
├── merlin-sdk                  # Java interface between mission models and the merlin-driver
├── merlin-server               # Service for planning and simulation
├── merlin-worker               # Worker for executing simulations
├── parsing-utilities           # Java classes for JSON serialization and deserialization
├── permissions                 # Java library for authorizing endpoint requests
├── scheduler-driver            # Java library for goal-oriented scheduling
├── scheduler-server            # Service for scheduling
├── scheduler-worker            # Worker for executing scheduling goals
├── sequencing-server           # Service for sequence generation and management
└── third-party                 # External Java dependencies that are not obtained from Maven

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing. If you are a developer you can get started quickly by reading the developer documentation.

License

The scripts and documentation in this project are released under the MIT License.

Languages

Java74.5%TypeScript13.9%PLpgSQL7.1%Kotlin3.8%Python0.6%JavaScript0.1%Dockerfile0.1%Shell0.0%
MIT License
Created November 23, 2021
Updated March 5, 2026
NASA-AMMOS/aerie | GitHunt