Data Modelling and Code Automation For Space Systems Software
The document discusses using data modeling and code automation to develop a modular Command and Data Handling Software (CDHS) for the United Arab Emirates Space Agency within 30 months and with a small team. It describes how specifying interfaces in an abstract data model allowed generating code for space and ground segments as well as validation frameworks. Overall it was measured that 45.3% of the onboard CDHS application code was automatically generated along with interface documents. These techniques helped produce a service-based CDHS comparable to those of other space programs within tight constraints.
Data Modelling and Code Automation For Space Systems Software
The document discusses using data modeling and code automation to develop a modular Command and Data Handling Software (CDHS) for the United Arab Emirates Space Agency within 30 months and with a small team. It describes how specifying interfaces in an abstract data model allowed generating code for space and ground segments as well as validation frameworks. Overall it was measured that 45.3% of the onboard CDHS application code was automatically generated along with interface documents. These techniques helped produce a service-based CDHS comparable to those of other space programs within tight constraints.
Data Modelling and Code Automation for Space Systems Software
David Santos Gil, Mukesh Jha, Hessa Alshamsi
National Space Science and Technology Center (NSSTC), United Arab Emirates University (UAEU) P.O. Box: 15551, Al Ain, Abu Dhabi, UAE; +971556793111 SSC21-P2-22 [email protected]
Background Interface Generation Conclusion
I/F In 2019, the United Arab Emirates (UAE) Space Agency Of all the opportunities to use code generation in the Service Template A.C. Template I/F Spec. Excluding input/output (IO) and the Board Support Spec awarded the National Space Science and Technology development of space systems, generating code for the Package (BSP), it was measured that overall, 45.3% of the Center (NSSTC) a contract to develop a modular telecommand and telemetry interfaces is probably the Avionic codebase of the CDHS application that runs on-board was On-Board Service Equipment Equipment I/F Command and Data Handling Software (CDHS) to be used most evident. After specifying the interfaces of the CDHS Controller Controller Controller I/F Equipment Equipment generated automatically along with the Interface Control in current and future UAE missions. and other onboard equipment in an abstract data model, it Document (ICD) and Test Specification Document. These The CDHS is a critical element of the mission. This means was possible to generate elements of code for both space techniques were also applied in the validation framework that it needs to be developed with sufficient quality such and ground segments, and validation framework. The data IO CDHS BSP and ground software of the first mission where this Satellite that it poses a low risk to the success of the mission. The model was used to generate code for multiple languages, software is going to be used. software also needs to offer functionality that is on-par including C for onboard code, LaTeX for documentation, Object Generic Although the benefits of the selected code generation Template Object Encoders / with what is being used in other countries to fulfill the database schema, queries for data visualization and decoders options are difficult to objectively measure and compare, UAE ambitions in space. A CDHS with these elements of Human Machine Interface for ground we assert that without them, it would have not been characteristics was challenging to produce within the 30 operation software. possible to produce in 30 months a service based CDHS Radio month span of the project and with a small team. The Equipment on-par with what is being used in other space programs. technical solution that was adopted is to provide services Software Production Line Ground Data flow generation All this, in a context where engineers with decades long of aligned with the Packet Utilization Standard[1] (PUS) Using common design patterns, it was possible to generate packets space industry experience are difficult to find. With this listed in Table 1. the skeletons of all software components. Additionally, the Encoders / Fully Decoders Generated respect, code automation was an enabler. We expect that This software is selected to fly in 3 missions, the first one CDHS features 17 Services and 16 Equipment Controllers schema Partially during the operation of the satellite, we will be able to is the GNSSaS[2] 6U CubeSat which is due to be launched (one per equipment with which the CDHS has to interact). Generated accommodate, support change requests and help the in Q4 2021. Among these components, the commonality goes well Database HMI mission to adapt to unforeseen circumstances. beyond the skeleton. They have similar structure and Manual or PUS ID Title Reuse control flows, which enabled us to generate a substantial ST03 Housekeeping Visualization References part of the code for these components. Service Service Data Model ST05 Event Reporting of Telemetry Clients or Template Clients 1. European Space Agency, “Telemetry and telecommand ST08 Function Management Improving quality through code automation packet utilization”. ECSS-E-ST-70-41C. ESA Requirements ST11 Time-based schedule Human factors are a common cause of defects, code Configuration and Standards Division, ESTEC, Noordwijk, The ST12 On-Board Monitoring Packet Interface generation minimizes these. Code automation also makes Specification Specification Control Doc. Netherlands, April 2016. ST14 Real-Time Forward Control it easier for developers to work in different parts of the 2. Alhashmi K, Al-Eman O, Hasbi AM, Mustapha MI, ST17 Test Figure 2: CDHS and Ground Segment diagram codebase because it helps to ensure that all software “NSSTC capabilities and the GNSSaS satellite project,” ST19 Event-Action components have a similar design pattern. Along with the Aeronautics and Aerospace Open Access Journal, ST20 Parameter Management obvious savings in time and cost, this enhances Volume 4 Issue 4 – 2020. ST21 Request Sequencing maintainability and overall quality of the software. In 3. Clerigo, A. A, P. Collins, N. Mardle, E. Montagnon, J. ST22 Position-Based Scheduling “overall, 45.3% of the code of the CDHS addition, the data model acts as a single point of truth for Morales and I. Tanco, “One Standard To Rule Them All: Table 1: CDHS Services application that runs on-board was the Tailoring of PUS-C for Future ESA Missions,” all the software components. generated automatically” SpaceOps Conferences, June 2018, Marseille, France. 4. The CubeSat Space Protocol, [Online] www.libcsp.org. (Assessed on 26th April 2021). 5. The Consultative Committee for Space Data Systems, “Spacecraft Onboard Interface Services – XML Specification for Electronic Data Sheets, ” CCSDS 876.0- I/F Spec. Template Data flow I/F Spec B-1, Recommendation for Space Data Systems generation Standards, April 2019. c CDHS I/F Avionic Fully 6. J. Wilmot, "A core flight software system," 2005 Third I/F Simulator Generated I/F Equipment IEEE/ACM/IFIP International Conference on t Encoders / Partially Hardware/Software Codesign and System Synthesis decoders Generated (CODES+ISSS'05), 2005, pp. 13-14, doi: Satellite Packet Simulator c t Spec. Manual 10.1145/1084834.1084842. 7. Hong Mei, Wei Zhang and Fang Gu, "A feature-oriented Test Supervisor Data Model approach to modeling and reusing requirements of Encoders / or Template decoders software product lines," Proceedings 27th Annual printers International Computer Software and Applications Test Plan Test Script Test Script comparators Conference. COMPAC 2003, pp. 250-256, doi: 10.1109/CMPSAC.2003.1245350. Figure 1: Example of data visualization in the ground that uses data collected by the CDHS Figure 3: CDHS Validation Framework diagram