https://github.com/gssi/astra-project

The ASTRA Scheduler Tool, a Model-Driven Engineering (MDE)-based solution for designing, validating, and optimizing task schedules in safety-critical satellite systems. The tool supports Digital Twin-based runtime adaptation through scheduling reconfiguration and telemetry-driven monitoring.

https://github.com/gssi/astra-project

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.7%) to scientific vocabulary
Last synced: 5 months ago · JSON representation

Repository

The ASTRA Scheduler Tool, a Model-Driven Engineering (MDE)-based solution for designing, validating, and optimizing task schedules in safety-critical satellite systems. The tool supports Digital Twin-based runtime adaptation through scheduling reconfiguration and telemetry-driven monitoring.

Basic Info
  • Host: GitHub
  • Owner: gssi
  • Language: Java
  • Default Branch: main
  • Size: 2.94 MB
Statistics
  • Stars: 1
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 11 months ago · Last pushed 8 months ago
Metadata Files
Readme

README.md

ASTRA Project – Digital Twin Scheduler Tool

This repository contains the full implementation of the ASTRA Scheduler Tool, a Model-Driven Engineering (MDE)-based solution for designing, validating, and optimizing task schedules in safety-critical satellite systems. The tool supports Digital Twin-based runtime adaptation through scheduling reconfiguration and telemetry-driven monitoring.

📦 Project Structure

The repository is organized as a multi-module Maven project, composed of the following submodules:

1. astra-project-editor

A graphical editor used to design scheduling configurations based on the defined metamodel. It provides a visual concrete syntax for interacting with task attributes and execution constraints.

2. astra-project-metaeditor

Contains the configuration and resources needed to define the graphical editor. It includes model mappings, layout settings, and palette definitions for customizing the design interface.

3. astra-project-metamodel

Defines the Ecore-based metamodel representing the scheduling domain. It models tasks, dependencies, start/end constraints, and execution parameters used across the entire toolchain.

4. astra-project-solver

Implements the validation and optimization logic. It includes: - EVL_validation: EVL (Epsilon Validation Language) rules for checking model constraints (e.g., CPU load threshold). - Java utilities to validate instances, prepare optimization inputs, and trigger reconfiguration logic.

🚀 Running the Tool

To launch the graphical scheduling tool:

  1. Open the project in your IDE (e.g., Eclipse or IntelliJ).
  2. Navigate to the astra-project-editor module.
  3. Run the EditorAppMain.java class as a Standard Java Application.

This will start the GUI for designing, editing, and validating scheduling configurations interactively.

🔧 Build Instructions

To compile all modules:

```bash mvn clean install

Owner

  • Name: Gran Sasso Science Institute
  • Login: gssi
  • Kind: organization
  • Location: L'Aquila (Italy)

International PhD school and a Center for advanced studies in physics, mathematics, computer science and social sciences.

GitHub Events

Total
  • Watch event: 2
  • Push event: 3
  • Create event: 4
Last Year
  • Watch event: 2
  • Push event: 3
  • Create event: 4

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

astra-project-editor/pom.xml maven
  • it.gssi.astra:astra-project-metaeditor 0.0.1-SNAPSHOT
  • it.gssi.astra:astra-project-metamodel 0.0.1-SNAPSHOT
  • it.gssi.astra:astra-project-solver 0.0.1-SNAPSHOT
astra-project-metaeditor/pom.xml maven
  • at.bestsolution.efxclipse.rt:org.eclipse.fx.core.databinding 3.7.0.202010120723
  • com.github.librepdf:openpdf 1.0.1
  • com.google.guava:guava 30.0-jre
  • com.itextpdf:itextpdf 5.5.13.2
  • com.jfoenix:jfoenix 9.0.0
  • org.apache.commons:commons-lang3 3.12.0
  • org.apache.pdfbox:pdfbox 2.0.24
  • org.apache.xmlgraphics:batik-codec 1.13
  • org.apache.xmlgraphics:batik-dom 1.13
  • org.apache.xmlgraphics:batik-svggen 1.13
  • org.controlsfx:controlsfx 11.1.1
  • org.eclipse.emf:org.eclipse.emf.databinding 1.5.0
  • org.eclipse.emf:org.eclipse.emf.databinding.edit 1.3.0
  • org.eclipse.emf:org.eclipse.emf.edit 2.16.0
  • org.eclipse.epsilon:org.eclipse.epsilon.ecl.engine 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.egl.engine 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.emc.emf 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.emc.plainxml 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.eml.engine 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.eol.engine 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.etl.engine 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.evl.engine 2.4.0
  • org.jfxtras:jmetro 11.6.12
  • org.openjfx:javafx 17.0.2
  • org.openjfx:javafx-base 17.0.2
  • org.openjfx:javafx-controls 17.0.2
  • org.openjfx:javafx-fxml 17.0.2
  • org.openjfx:javafx-graphics 17.0.2
  • org.openjfx:javafx-media 17.0.2
  • org.openjfx:javafx-swing 17.0.2
  • org.slf4j:slf4j-log4j12 1.7.30
astra-project-metamodel/pom.xml maven
  • com.fasterxml.jackson.core:jackson-annotations 2.10.5
  • com.fasterxml.jackson.core:jackson-core 2.10.5
  • com.fasterxml.jackson.core:jackson-databind 2.10.5.1
  • com.googlecode.json-simple:json-simple 1.1.1
  • junit:junit 4.13.1 test
astra-project-solver/pom.xml maven
  • it.gssi.astra:astra-project-metamodel 0.0.1-SNAPSHOT
  • org.apache.commons:commons-math3 3.6.1
  • org.apache.poi:poi 5.2.3
  • org.apache.poi:poi-ooxml 5.2.3
  • org.eclipse.epsilon:org.eclipse.epsilon.ecl.engine 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.egl.engine 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.emc.emf 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.emc.plainxml 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.eml.engine 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.eol.engine 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.etl.engine 2.4.0
  • org.eclipse.epsilon:org.eclipse.epsilon.evl.engine 2.4.0
pom.xml maven
  • org.apache.commons:commons-math3 3.6.1
  • org.apache.poi:poi 5.2.3
  • org.apache.poi:poi-ooxml 5.2.3
  • org.eclipse.emf:org.eclipse.emf.common 2.15.0
  • org.eclipse.emf:org.eclipse.emf.ecore 2.15.0
  • org.eclipse.emf:org.eclipse.emf.ecore.xmi 2.15.0