A Model-driven Software Architecture for Ultra-cold Gas Experiments in Space

Research output: Contribution to journalConference articleResearchpeer review

Authors

  • Benjamin Weps
  • Daniel Lüdtke
  • Tobias Franz
  • Olaf Maibaum
  • Thijs Wendrich
  • Hauke Müntinga
  • Andreas Gerndt

External Research Organisations

  • German Aerospace Center (DLR)
  • University of Bremen
View graph of relations

Details

Original languageEnglish
JournalProceedings of the International Astronautical Congress, IAC
Volume2018
Publication statusPublished - 2018
Event69th International Astronautical Congress: #InvolvingEveryone, IAC 2018 - Bremen, Germany
Duration: 1 Oct 20185 Oct 2018

Abstract

Developing software for large and complex experiments is a challenging task. It must incorporate many requirements from different domains, all with their own conceptions about the overall systems. An additional level of complexity is added if the experiment is conducted autonomously during a sounding rocket flight. Without a proper software architecture and development techniques, achieving and maintaining a high code quality is a very cumbersome task. This paper describes the architecture and the model-driven development approach we used to implement the control software of the experiments in the MAIUS-1 mission (matter-wave interferometry in microgravity). In this mission, the software had to handle around 150 experiments in six minutes autonomously and adapt to changes in the control flow according to real-time data from the experiment. The MAIUS-1 mission was the first mission to create Bose-Einstein condensates in space and conduct other experiments with ultra-cold gases on a sounding rocket. Besides the scientific goals in the area of quantum-optics, other important objectives of the mission were the miniaturization and further development of laser systems, vacuum components, optical sensors, and other related technologies. To fulfil these goals, new experimental hardware has been created which had to be integrated and tested with the software of the experiment computer. The custom-made hardware and the considerable number of domains involved brought up many challenges for the software engineering. To face all these challenges of developing software with this high complexity, we chose to follow a model-driven software development approach. Several domain-specific languages (DSLs) accompanied with specialized tools were created to allow the physicists and electronic engineers to describe system components and the experiments in a domain-specific way. These descriptions were then automatically transformed in C++ code for the flight software. This way we could actively incorporate all the domains involved in conducting the experiment directly in building the flight software without compromising the software quality. We created a versatile software platform not only for the MAIUS-1 mission but also for upcoming missions with similar experiments and hardware. With our approach we were able to generate around 84% of the source code for the final flight software from the domain-specific models. Besides the improvement of the development process, the code generation made a significant contribution to the overall software quality as almost all manual coding of error-prone boilerplate code could be mitigated.

Keywords

    Code generation, Experiment control, Model-driven development, Software engineering, Sounding rocket

ASJC Scopus subject areas

Cite this

A Model-driven Software Architecture for Ultra-cold Gas Experiments in Space. / Weps, Benjamin; Lüdtke, Daniel; Franz, Tobias et al.
In: Proceedings of the International Astronautical Congress, IAC, Vol. 2018, 2018.

Research output: Contribution to journalConference articleResearchpeer review

Weps, B, Lüdtke, D, Franz, T, Maibaum, O, Wendrich, T, Müntinga, H & Gerndt, A 2018, 'A Model-driven Software Architecture for Ultra-cold Gas Experiments in Space', Proceedings of the International Astronautical Congress, IAC, vol. 2018. <https://elib.dlr.de/126145/>
Weps, B., Lüdtke, D., Franz, T., Maibaum, O., Wendrich, T., Müntinga, H., & Gerndt, A. (2018). A Model-driven Software Architecture for Ultra-cold Gas Experiments in Space. Proceedings of the International Astronautical Congress, IAC, 2018. https://elib.dlr.de/126145/
Weps B, Lüdtke D, Franz T, Maibaum O, Wendrich T, Müntinga H et al. A Model-driven Software Architecture for Ultra-cold Gas Experiments in Space. Proceedings of the International Astronautical Congress, IAC. 2018;2018.
Weps, Benjamin ; Lüdtke, Daniel ; Franz, Tobias et al. / A Model-driven Software Architecture for Ultra-cold Gas Experiments in Space. In: Proceedings of the International Astronautical Congress, IAC. 2018 ; Vol. 2018.
Download
@article{1426571a610e45baba5d0011c354ece1,
title = "A Model-driven Software Architecture for Ultra-cold Gas Experiments in Space",
abstract = "Developing software for large and complex experiments is a challenging task. It must incorporate many requirements from different domains, all with their own conceptions about the overall systems. An additional level of complexity is added if the experiment is conducted autonomously during a sounding rocket flight. Without a proper software architecture and development techniques, achieving and maintaining a high code quality is a very cumbersome task. This paper describes the architecture and the model-driven development approach we used to implement the control software of the experiments in the MAIUS-1 mission (matter-wave interferometry in microgravity). In this mission, the software had to handle around 150 experiments in six minutes autonomously and adapt to changes in the control flow according to real-time data from the experiment. The MAIUS-1 mission was the first mission to create Bose-Einstein condensates in space and conduct other experiments with ultra-cold gases on a sounding rocket. Besides the scientific goals in the area of quantum-optics, other important objectives of the mission were the miniaturization and further development of laser systems, vacuum components, optical sensors, and other related technologies. To fulfil these goals, new experimental hardware has been created which had to be integrated and tested with the software of the experiment computer. The custom-made hardware and the considerable number of domains involved brought up many challenges for the software engineering. To face all these challenges of developing software with this high complexity, we chose to follow a model-driven software development approach. Several domain-specific languages (DSLs) accompanied with specialized tools were created to allow the physicists and electronic engineers to describe system components and the experiments in a domain-specific way. These descriptions were then automatically transformed in C++ code for the flight software. This way we could actively incorporate all the domains involved in conducting the experiment directly in building the flight software without compromising the software quality. We created a versatile software platform not only for the MAIUS-1 mission but also for upcoming missions with similar experiments and hardware. With our approach we were able to generate around 84% of the source code for the final flight software from the domain-specific models. Besides the improvement of the development process, the code generation made a significant contribution to the overall software quality as almost all manual coding of error-prone boilerplate code could be mitigated.",
keywords = "Code generation, Experiment control, Model-driven development, Software engineering, Sounding rocket",
author = "Benjamin Weps and Daniel L{\"u}dtke and Tobias Franz and Olaf Maibaum and Thijs Wendrich and Hauke M{\"u}ntinga and Andreas Gerndt",
note = "Funding information: This work is supported by the DLR Space Administration with funds provided by the Federal Ministry of Economics and Technology (BMWi) under grant number DLR 50WM1131-1137, DLR 50WM1552-1557, DLR 50WP1431-1435, DLR 50WM0940, and DLR 50WM1240. We thank the MAIUS-1 team for their contributions and support. In particular, we want to mention H. Ahlers, D. Becker, A. N. Dinkelaker, M. D. Lachmann, S. T. Seidel, and E. M. Rasel. We are grateful to our former colleague M. Deshmukh for her contributions to the DSL development.; 69th International Astronautical Congress: #InvolvingEveryone, IAC 2018 ; Conference date: 01-10-2018 Through 05-10-2018",
year = "2018",
language = "English",
volume = "2018",

}

Download

TY - JOUR

T1 - A Model-driven Software Architecture for Ultra-cold Gas Experiments in Space

AU - Weps, Benjamin

AU - Lüdtke, Daniel

AU - Franz, Tobias

AU - Maibaum, Olaf

AU - Wendrich, Thijs

AU - Müntinga, Hauke

AU - Gerndt, Andreas

N1 - Funding information: This work is supported by the DLR Space Administration with funds provided by the Federal Ministry of Economics and Technology (BMWi) under grant number DLR 50WM1131-1137, DLR 50WM1552-1557, DLR 50WP1431-1435, DLR 50WM0940, and DLR 50WM1240. We thank the MAIUS-1 team for their contributions and support. In particular, we want to mention H. Ahlers, D. Becker, A. N. Dinkelaker, M. D. Lachmann, S. T. Seidel, and E. M. Rasel. We are grateful to our former colleague M. Deshmukh for her contributions to the DSL development.

PY - 2018

Y1 - 2018

N2 - Developing software for large and complex experiments is a challenging task. It must incorporate many requirements from different domains, all with their own conceptions about the overall systems. An additional level of complexity is added if the experiment is conducted autonomously during a sounding rocket flight. Without a proper software architecture and development techniques, achieving and maintaining a high code quality is a very cumbersome task. This paper describes the architecture and the model-driven development approach we used to implement the control software of the experiments in the MAIUS-1 mission (matter-wave interferometry in microgravity). In this mission, the software had to handle around 150 experiments in six minutes autonomously and adapt to changes in the control flow according to real-time data from the experiment. The MAIUS-1 mission was the first mission to create Bose-Einstein condensates in space and conduct other experiments with ultra-cold gases on a sounding rocket. Besides the scientific goals in the area of quantum-optics, other important objectives of the mission were the miniaturization and further development of laser systems, vacuum components, optical sensors, and other related technologies. To fulfil these goals, new experimental hardware has been created which had to be integrated and tested with the software of the experiment computer. The custom-made hardware and the considerable number of domains involved brought up many challenges for the software engineering. To face all these challenges of developing software with this high complexity, we chose to follow a model-driven software development approach. Several domain-specific languages (DSLs) accompanied with specialized tools were created to allow the physicists and electronic engineers to describe system components and the experiments in a domain-specific way. These descriptions were then automatically transformed in C++ code for the flight software. This way we could actively incorporate all the domains involved in conducting the experiment directly in building the flight software without compromising the software quality. We created a versatile software platform not only for the MAIUS-1 mission but also for upcoming missions with similar experiments and hardware. With our approach we were able to generate around 84% of the source code for the final flight software from the domain-specific models. Besides the improvement of the development process, the code generation made a significant contribution to the overall software quality as almost all manual coding of error-prone boilerplate code could be mitigated.

AB - Developing software for large and complex experiments is a challenging task. It must incorporate many requirements from different domains, all with their own conceptions about the overall systems. An additional level of complexity is added if the experiment is conducted autonomously during a sounding rocket flight. Without a proper software architecture and development techniques, achieving and maintaining a high code quality is a very cumbersome task. This paper describes the architecture and the model-driven development approach we used to implement the control software of the experiments in the MAIUS-1 mission (matter-wave interferometry in microgravity). In this mission, the software had to handle around 150 experiments in six minutes autonomously and adapt to changes in the control flow according to real-time data from the experiment. The MAIUS-1 mission was the first mission to create Bose-Einstein condensates in space and conduct other experiments with ultra-cold gases on a sounding rocket. Besides the scientific goals in the area of quantum-optics, other important objectives of the mission were the miniaturization and further development of laser systems, vacuum components, optical sensors, and other related technologies. To fulfil these goals, new experimental hardware has been created which had to be integrated and tested with the software of the experiment computer. The custom-made hardware and the considerable number of domains involved brought up many challenges for the software engineering. To face all these challenges of developing software with this high complexity, we chose to follow a model-driven software development approach. Several domain-specific languages (DSLs) accompanied with specialized tools were created to allow the physicists and electronic engineers to describe system components and the experiments in a domain-specific way. These descriptions were then automatically transformed in C++ code for the flight software. This way we could actively incorporate all the domains involved in conducting the experiment directly in building the flight software without compromising the software quality. We created a versatile software platform not only for the MAIUS-1 mission but also for upcoming missions with similar experiments and hardware. With our approach we were able to generate around 84% of the source code for the final flight software from the domain-specific models. Besides the improvement of the development process, the code generation made a significant contribution to the overall software quality as almost all manual coding of error-prone boilerplate code could be mitigated.

KW - Code generation

KW - Experiment control

KW - Model-driven development

KW - Software engineering

KW - Sounding rocket

UR - http://www.scopus.com/inward/record.url?scp=85065321563&partnerID=8YFLogxK

M3 - Conference article

AN - SCOPUS:85065321563

VL - 2018

JO - Proceedings of the International Astronautical Congress, IAC

JF - Proceedings of the International Astronautical Congress, IAC

SN - 0074-1795

T2 - 69th International Astronautical Congress: #InvolvingEveryone, IAC 2018

Y2 - 1 October 2018 through 5 October 2018

ER -