Skip to content

ODU-CGA-CubeSat/sealion-mission-architecture

Repository files navigation

SeaLion Mission Architecture

The SeaLion Mission Architecture is a model of the Sealion Flight Software architecture, intended to guide an implementation, for the SeaLion Mission - a joint CubeSat mission between Old Dominion University (ODU) & Coast Guard Academy (CGA).

The SeaLion Mission Architecture is modeled using the Mach30 modeling language (m30ml) for specifying references, stakeholder needs, user stories, & data structures, s.a., the satellite health data packet.

This repository (repo) also structured as a DOF-component for defining the contents of the Mission ConOps as a collection of nested subcomponents, component interfaces, and component functions for generating bill of materials (BOMs) and assembly instructions for the SeaLion CubeSat.

This project also follows a docs-as-code approach, applying the same principles and practices of software development for documentation.

Work-In-Progress

This project is currently undergoing a refactor, whereby the core modeling language will rebuild on top of LinkML - a linked data modeling language, with considerations for mappings to the web ontology language (OWL) via the linkml-owl extension.

Contribute

Want to contribute? Checkout our Contributor’s guide!

View the documentation locally

You can build the documentation site on a local desktop:

Note: It is recommended you run the following instructions on a Linux/Unix-like operating system. If you are on a Windows machine, consider installing Windows Subsystem for Linux.

Installing requirements

You will need git to clone the project contents and podman to run the podman image that contains the dependencies needed for building the documentation.

Cloning the repo

Clone the SeaLion Mission ConOps repo. Don’t forget to use --recurse-submodules flag, or else you won’t pull down some of the code you need to generate a working site.

git clone --recurse-submodules https://github.com/odu-cga-cubesat/sealion-mission-architecture.git
cd sealion-mission-architecture

Note: If you accidentally cloned without using --recurse-submodules, you can run git submodule update --init --recursive to pull down submodules needed to generate a working site.

Building the documentation

Once you’ve cloned the repo & installed podman, run the buildDocs.sh script in the project root directory (Note: Linux users may need to prepend this command sudo). This will pull the podman images, as well as install node modules, needed for generating the sealion-mission-architecture page locally. You can view all locally installed podman images by running podman images.

./buildDocs.sh

Once you run this step, you can locally view the documentation by opening dist/index.html in a web browser or by opening dist/sealion-mission-architecture.pdf in a pdf viewer.