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.
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
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
Metadata Files
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:
- Open the project in your IDE (e.g., Eclipse or IntelliJ).
- Navigate to the
astra-project-editormodule. - Run the
EditorAppMain.javaclass 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)
- Website: http://cs.gssi.it
- Repositories: 36
- Profile: https://github.com/gssi
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
- 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
- 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
- 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
- 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
- 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