SUMMIT

The Simulation Utility for Multi-satellite Mission Integration and Test (SUMMIT) is a vertically integrated environment for testing software. The system provides an advanced continuous integration/continuous development (CI/CD) tool for distributed development and test teams and can be thought of as an extension and enhancement to standard CI/CD tools such as Jenkins, Travis CI, GitLab, or Bamboo. While traditional CI/CD tools are great for running simplified unit tests, SUMMIT takes that a step further and allows developers to run any test, ranging from a simple unit test to a full-blown integration or performance test, e.g. for flight software development.

SUMMIT is built on a modular architecture to enable it to evolve and grow as technology and/or requirements change and leverages a variety of cutting-edge tools such as Git, Docker, Flask, React, and PostgreSQL. It is designed to be scalable to support software testing for a variety of projects and portable so that it can be quickly and easily integrated into both new and existing projects.

SUMMIT provides built-in support for both resource management and parallel testing, which enables developers to easily and expediently run a vast range of tests on a software stack. SUMMIT’s use of Git allows tracking the historical regression of all scenarios for a project to enable users to identify the exact commit that might have changed the results for a particular test.

SUMMIT Architecture. The SUMMIT ScenarioRunner can run any scenario defined in a SUMMIT configuration file.  After the execution of each scenario, the ScenarioTester tests the scenario and writes the output metadata and test results to a PostgreSQL database. The containerized frontend web application pulls from the database to provide scenario progress/status, historical/regression test results, plots, and more.

SUMMIT Web Application Screenshots. The SUMMIT frontend web application makes it easy for users to view the status, progress, and results of current and previously run scenarios.

A web-based user interface acts as the visual guide to all scenarios being tracked by SUMMIT, whether it’s a simple, standalone unit test or a batch of complex ASCENT simulations running in parallel. The user interface allows users to track the progress of currently running scenarios, as well as view the status of all previously run scenario tests. The web-based architecture supports multiple platforms, allowing SUMMIT to be used from any web-enabled device.

ASCENT Integration. ASCENT simulation instances are integrated into SUMMIT as scenarios.

ASCENT Integration Screenshots. The ASCENT plugin for SUMMIT logs telemetry data in real-time and allows users to plot orbits, ground tracks, and generate custom plots from simulation states data.

Additionally, SUMMIT also provides a framework for developing plugins that are specific to certain types of scenarios. The ASCENT plugin, for example, provides tools for analyzing and visualizing data from any scenarios that are ASCENT simulations, both in real-time and after the scenario has completed. Telemetry data is logged in real-time and users can plot the orbits, ground tracks, and generate custom plots.