= 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 (https://github.com/Mach30/m30ml[m30ml]) for specifying references, stakeholder needs, user stories, & data structures, s.a., the https://odu-cga-cubesat.github.io/sealion-mission-architecture/#_satellite_health_data_packet[satellite health data packet].
This repository (repo) also structured as a https://mach30.github.io/dof/#_component[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.
Full documentation is available on https://odu-cga-cubesat.github.io/sealion-mission-architecture/.
This project also follows a https://www.writethedocs.org/guide/docs-as-code/[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 https://linkml.io/linkml/index.html[LinkML] - a linked data modeling language, with considerations for mappings to the web ontology language (OWL) via the https://github.com/linkml/linkml-owl[linkml-owl] extension.
== Contribute
Want to contribute? Checkout our link:CONTRIBUTORS.adoc[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 https://docs.microsoft.com/en-us/windows/wsl/install-win10[Windows Subsystem for Linux].
=== Installing requirements
You will need https://git-scm.com/[git] to clone the project contents and https://podman.io/getting-started/installation[podman] to run the podman image that contains the dependencies needed for building the documentation.
. https://git-scm.com/downloads[git]. . https://podman.io/getting-started/installation[podman].
=== Cloning the repo
Clone the https://github.com/odu-cga-cubesat/sealion-mission-architecture[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.
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
.
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.