Skip to content

SNTSVV/IOTScheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Test Schedule Generation for Acceptance Testing of Mission-Critical Satellite Systems

Overview

Mission-Critical System, such as satellite systems, healthcare systems, or nuclear power plant control systems, require rigorous testing to ensure they meet specific operational requirements before deployment. This includes Operational Acceptance Testing (OAT), which ensures systems function correctly under real-world conditions. In satellite development, In-Orbit Testing (IOT) is a crucial OAT activity performed post-deployment to verify subsystem performance and payload requirements. IOT scheduling is complex, involving factors like satellite visibility, antenna usage costs, and configuration times. This article addresses the gap in OAT literature for satellite systems, emphasizing unique constraints such as antenna-related costs and context-switching. Unlike previous methods, which focus on CPS test case prioritization, our approach integrates scheduling challenges and resource constraints specific to satellite systems. We propose a multi-objective approach using Non-dominated Sorting Genetic Algorithm III (NSGA-III) to generate near-optimal IOT schedules. Our method evaluates schedules based on operational cost, fragmentation, and resource efficiency. An industrial case study with SES Techcom demonstrates significant improvements: an average improvement of 49.4% in cost fitness, 60.4% in fragmentation fitness, and 30% in resource usage efficiency compared to random search approaches. Additionally, our approach improves cost efficiency by 538% and resource usage efficiency by 39.42% compared to manually constructed schedules, while requiring only 12.5% of the time.


Installation

Minimum Pre-requisites

IOTSchedulerTool requires a virtual machine with the following characteristics:

  • OS: Any Unix-based OS (e.g., Ubuntu, Fedora, macOS) supporting Python 3.11.6 or higher
  • CPU: 1 core
  • Memory: 2 GB
  • Disk: 1 GB

Recommended Pre-requisites

IOTSchedulerTool has been tested on the following configurations:

  • OS: Ubuntu 20.04 LTS
  • CPU: 8-core
  • Memory: 32 GB
  • Disk: 1 TB

Required Tools

  • Python 3.11.6 or higher
  • Poetry 1.3.0 or higher

Installation Steps

  1. Download the archive "IOTSchedulerTool.zip" from the artifact repository.
  2. Extract the archive to a directory of your choice.
  3. Open a terminal and navigate to the extracted directory.
  4. Run the following command to install the required dependencies:
poetry update && poetry install
  1. The installation is complete. You can now run the tool using the following command:

Usage

Input Data

IOTSchedulerTool requires the following input data:

  • A list of satellite passes extracted from an orbit prediction tool. The following tool are supported:
  • Additionally, the TLEs of the satellite can be easily obtained using the following command:
iot_planner tools download-tle [parameters]
  • The generated passes file then needs to be converted to a pass file interpretable by our tool. To do so, run the following command:
iot_planner tools convert-passes [parameters]

Creating a configuration file

To create a configuration file, perfom the following steps:

  1. Generate the input data the instruction provided above.
  2. Run the following command to create a configuration file:
iot_planner tools make-config

Then follow the instructions to create the configuration file.

Running the tool

To run the tool, use the following command:

iot_planner schedule -n [name] -e [config_file] -p [passes_file]

Reproducing our experiments

Due to confidentiality agreements, we cannot provide the actual data used in our case study. However, similar datasets can be generated using the provided tools. Galileo's orbit data can be obtained from their public TLEs, and the antenna costs can be estimated based on industry standards. Further, any ground location can be used to generate satellite passes using one of the supported tools. The exact parameter settings of the tool have been provided in the configurations file of each of our experiments (see the empirical folder).

Licensing

This software is © University of Luxembourg and is licensed under the GPLv3 license. See the LICENSE file.

About

IOTScheduler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages