An Open and Customizable Software Suite for Systems Engineering and Data Management

Today's space missions and projects dealing with cutting-edge technologies often lead to the development of highly complex systems. To ensure the fulfillment of the mission goals, these projects require the support of adequate software tools that are capable of various project management tasks. However, due to their high cost and inflexibility, existing tools and software are not always well suited for operation in the field of research. We seek to fill this gap by developing a new software suite at the Institute for Satellite Geodesy and Inertial Sensing of the German Aerospace Center (DLR-SI). In particular, we aim for open interfaces, extensibility and ease of use, with a “single source of truth” data model, to provide a wide range of functionalities essential for systems engineering and data management. This is realized by building on a flexible database engine, which consists of user-customizable sets of item-based archives, and implementing packages to organize, manipulate and validate their data. A graphical user interface (GUI), which is automatically generated for the tailored database, and an API expose these functionalities to the user. The underlying database is implemented as a bidirectionally traversable directed acyclic graph of items, allowing for the representation of multiple hierarchies such as parents and children, links between items, superseding structures, and references. Multiple configurations for different items can be created and customized via a graphical editor. In return, the GUI generated from these configurations allows the user to interact with the item data. The descriptive nature of this system is further used to perform data coherence validation; thus, the software serves as a user defined, but still sanitized interface to a customized database. Each item is saved individually in a structured plain-text file (YAML), the contents of which are defined by the corresponding item configuration, enabling easy integration into version control systems. This facilitates collaboration and offline operation, such as documenting tests in laboratories where network restrictions apply. In addition to that, the software can be extended with user-defined functions via a python scripting interface. This includes triggering external scripts manually, defining arbitrary relations between item data, and generating PDF documents from the database according to user specification. Because of a clear separation from the frontend, the backend can be integrated as a module into other applications, exposing its functionalities with the provided API. This paper explains the underlying structure of the backend and the implementation of the automatic generation of GUIs from configurations in more detail. As a case study, we assess the applicability of our software suite within the ISS project BECCAL (Bose Einstein Condensate and Cold Atom Laboratory) by tailoring it to the demands of the project. This comprises the creation of a requirements and verification database, the GUI based conduction of procedures with automated PDF document creation, risk management, and configuration management.