Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Deploy Documentation

on:
push:
branches:
- main
- release/v2.0
paths:
- 'book/**'
- 'book.toml'
- '.github/workflows/deploy-docs.yml'
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup mdBook
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: 'latest'

- name: Setup Pages
uses: actions/configure-pages@v4

- name: Build documentation
run: mdbook build

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./book/docs

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ __pycache__/
# UV virtual environment
.venv/
uv.lock

# mdbook
book/book/
45 changes: 45 additions & 0 deletions book.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
[book]
title = "StarPerf Documentation"
authors = ["StarPerf Team"]
description = "A comprehensive platform for simulating and analyzing mega-constellation satellite network performance"
language = "en"
multilingual = false
src = "book/src"

[build]
build-dir = "book/docs"

[output.html]
default-theme = "dark"
preferred-dark-theme = "navy"
git-repository-url = "https://github.com/SpaceNetLab/StarPerf_Simulator"
git-repository-icon = "fa-github"
edit-url-template = "https://github.com/SpaceNetLab/StarPerf_Simulator/edit/main/book/src/{path}"
site-url = "/StarPerf_Simulator/"
cname = ""

[output.html.fold]
enable = true
level = 0

[output.html.search]
enable = true
limit-results = 30
teaser-word-count = 30
use-boolean-and = true
boost-title = 2
boost-hierarchy = 1
boost-paragraph = 1
expand = true
heading-split-level = 3

[output.html.playground]
editable = false
copyable = true
copy-js = true
line-numbers = true

[preprocessor.katex]

[output.html.print]
enable = true
51 changes: 51 additions & 0 deletions book/src/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# StarPerf: Emerging Mega-Constellations LEO Network Performance Simulator

Welcome to the StarPerf documentation! This comprehensive guide will help you understand and use StarPerf, a powerful platform for simulating and analyzing the network performance of mega-constellation satellite networks such as Starlink and OneWeb.

## What is StarPerf?

"Newspace" mega-constellations are gaining tremendous popularity, with the promising potential to provide high-capacity and low-latency communication globally. StarPerf enables constellation manufacturers and content providers to estimate and understand the achievable performance under a variety of constellation options.

## Key Features

StarPerf integrates four key techniques:

1. **Performance Simulation for Mega-Constellation**
- Captures the impact of inherent high mobility in satellite networks and profiles area-to-area attainable network performance

2. **Constellation Scaling**
- Synthesizes various topological options by scaling space resources (e.g., number of satellites, link availability and capacity)

3. **Constellation Visualization**
- Leverages Cesium to render mainstream LEO constellations in a highly interactive and realistic 3D environment

4. **Security Simulation**
- Based on attack modeling and numerical simulation, including traffic plugins and communication energy consumption plugins

## StarPerf 2.0

StarPerf 2.0 represents a major upgrade from version 1.0:

- **Pure Python Implementation**: No longer depends on third-party orbit analysis tools (STK, GMAT)
- **Framework + Plugin Architecture**: Highly extensible and modular design
- **Enhanced Functionality**: Richer features and improved usability
- **Python 3.10+ Required**: Modern Python environment

## QuickStart

- [Getting Started](./getting-started/overview.md) - Learn the basics and get up and running
- [Installation Guide](./getting-started/installation.md) - Set up your environment
- [Architecture Overview](./user-guide/architecture.md) - Understand the system design
- [API Reference](./api-reference/introduction.md) - Detailed interface documentation
- [Examples](./examples/overview.md) - Practical usage examples

## Contact

If you have any questions about StarPerf, please don't hesitate to contact us:

- Email: zeqilai AT tsinghua.edu.cn
- Email: houyn24 AT mails.tsinghua.edu.cn
- Email: ZhifengHan AT mail.com
- Email: lijh19 AT mails.tsinghua.edu.cn

Happy benchmarking your constellation! 🛰️
123 changes: 123 additions & 0 deletions book/src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Summary

[Introduction](./README.md)

# Getting Started

- [Overview](./getting-started/overview.md)
- [Installation](./getting-started/installation.md)
- [Quick Start](./getting-started/quick-start.md)

# User Guide

- [Introduction](./user-guide/introduction.md)
- [Environment & Dependencies](./user-guide/environment.md)
- [Architecture](./user-guide/architecture.md)
- [Configuration Module](./user-guide/configuration.md)
- [H5 File Format](./user-guide/config/h5-format.md)
- [TLE Constellation](./user-guide/config/tle-constellation.md)
- [XML Constellation](./user-guide/config/xml-constellation.md)
- [Ground Stations](./user-guide/config/ground-stations.md)
- [POPs](./user-guide/config/pops.md)
- [Data Storage Module](./user-guide/data-storage.md)
- [Auxiliary Scripts](./user-guide/auxiliary-scripts.md)

# Core Modules

- [Kernel Module Overview](./core-modules/overview.md)

## Constellation Generation

- [Overview](./core-modules/constellation-generation/overview.md)
- [XML-based Generation](./core-modules/constellation-generation/xml-based.md)
- [constellation_configuration.py](./core-modules/constellation-generation/xml-constellation-config.md)
- [orbit_configuration.py](./core-modules/constellation-generation/xml-orbit-config.md)
- [Case Study](./core-modules/constellation-generation/xml-case-study.md)
- [TLE-based Generation](./core-modules/constellation-generation/tle-based.md)
- [download_TLE_data.py](./core-modules/constellation-generation/tle-download.md)
- [satellite_to_shell_mapping.py](./core-modules/constellation-generation/tle-shell-mapping.md)
- [satellite_to_orbit_mapping.py](./core-modules/constellation-generation/tle-orbit-mapping.md)
- [get_satellite_position.py](./core-modules/constellation-generation/tle-position.md)
- [constellation_configuration.py](./core-modules/constellation-generation/tle-constellation-config.md)
- [Case Study](./core-modules/constellation-generation/tle-case-study.md)
- [Duration-based Generation](./core-modules/constellation-generation/duration-based.md)

## Standalone Modules

- [Satellite Visibility Time](./core-modules/standalone-modules/satellite-visibility.md)

## Beam Placement

- [Overview](./core-modules/beam-placement/overview.md)
- [Plugin Specification](./core-modules/beam-placement/plugins.md)
- [Framework](./core-modules/beam-placement/framework.md)
- [Case Study](./core-modules/beam-placement/case-study.md)

## Connectivity

- [Overview](./core-modules/connectivity/overview.md)
- [Plugin Specification](./core-modules/connectivity/plugins.md)
- [Framework](./core-modules/connectivity/framework.md)
- [Case Study](./core-modules/connectivity/case-study.md)

## Performance Evaluation

- [Overview](./core-modules/evaluation/overview.md)
- [With ISL](./core-modules/evaluation/with-isl.md)
- [Bandwidth](./core-modules/evaluation/isl-bandwidth.md)
- [Betweenness](./core-modules/evaluation/isl-betweenness.md)
- [Coverage](./core-modules/evaluation/isl-coverage.md)
- [Delay](./core-modules/evaluation/isl-delay.md)
- [Without ISL (Bent-pipe)](./core-modules/evaluation/without-isl.md)
- [Bandwidth](./core-modules/evaluation/bentpipe-bandwidth.md)
- [Coverage](./core-modules/evaluation/bentpipe-coverage.md)
- [Delay](./core-modules/evaluation/bentpipe-delay.md)

## Entity Classes

- [Overview](./core-modules/entity/overview.md)

## Routing

- [Overview](./core-modules/routing/overview.md)
- [Plugin Specification](./core-modules/routing/plugins.md)
- [Framework](./core-modules/routing/framework.md)

## High Survivability

- [Overview](./core-modules/survivability/overview.md)
- [Plugin Specification](./core-modules/survivability/plugins.md)
- [Framework](./core-modules/survivability/framework.md)

# Visualization

- [Constellation Visualization](./visualization/constellation.md)
- [Setup Instructions](./visualization/setup.md)

# Examples

- [Overview](./examples/overview.md)
- [XML Constellation Example](./examples/xml-constellation.md)
- [TLE Constellation Example](./examples/tle-constellation.md)
- [Beam Placement Example](./examples/beam-placement.md)
- [Connectivity Example](./examples/connectivity.md)
- [Performance Evaluation Example](./examples/evaluation.md)

# API Reference

- [Introduction](./api-reference/introduction.md)
- [Plugin Interfaces](./api-reference/plugin-interfaces.md)
- [Entity Classes](./api-reference/entities.md)
- [Utility Functions](./api-reference/utilities.md)

# Contributing

- [How to Contribute](./contributing/how-to-contribute.md)
- [Writing Plugins](./contributing/writing-plugins.md)
- [Code Style Guide](./contributing/code-style.md)

# About

- [License](./about/license.md)
- [Contact](./about/contact.md)
- [Contributors](./about/contributors.md)
Loading