Project Proposals

Listed here are several projects that are of relevance to the LibreCube open source space software and hardware ecosystem. Those projects could be worked on by individuals or teams. Most projects are also suited to be implemented in the frame of Bachelor or Master thesis, or student projects. Get in contact with us for details (info@librecube.org).


Project: ZED PLUTO Language Plugin

Description: PLUTO is a domain specific language for writing procedures to be used for test and operation of space system. PLUTO procedures are both human-readable and can be parsed by machines (for example, we have developed a PLUTO to Python parser to demonstrate it). The goal here is to create a language support plugin for the ZED editor to support syntax highlighting and code formatting. This will greatly assist in writing PLUTO procedures. Previously we had developed a plugin for VS Code, which can serve as a guideline.

Keywords: Python, PLUTO, tree-sitter parser


Project: Blockly PLUTO Procedure Editor

Description: We developed a blockly-based application to support the creation of PLUTO procedures using block programming. A demo of the application can be found here. PLUTO is predominantly used in European space missions. This application is targeted for students and engineers of space mission automation. It provides them an easy-to-use tool to create valid PLUTO procedures. The task here is to improve the editor in a number of ways. Most importantly, the activity and value references, which are currently defined as free text in the blocks input fields, should be instead come from a database and be presented as pull-down menu. The database shall in the XTCE format. Writing an XTCE encoder/decoder will be essential for this task.

Keywords: JavaScript, Blockly, Docker, XTCE


Project: XTCE Editor

Description: XTCE is a CCSDS standardized XML format for the exchange of command and telemetry databases for (but not limited to) space systems. The goal of this project is to develop a GUI or web application that allows to load and display an XTCE v1.2 database, and also to create and modify it. There exists a Java program, named xtcetools, which however is not maintained and is not working well, but can serve as a resource and inspiration.

Keywords: Python, XTCE