ESA title
Enabling & Support

About Software Systems

824 views 2 likes
ESA / Enabling & Support / Space Engineering & Technology

Software is the term given to coded sets of instructions that inform hardware what to do in a given situation. As the sophistication and on-board autonomy of spacecraft has increased, so too has the size and complexity of their associated software programs, stretching to hundreds of thousands of lines of code.

What is Software Systems?

Software requires engineering for space in the same way that physical subsystems do. Software systems covers every aspect of computer programming in the service of ESA space missions.

It includes software engineering technologies and architectures; system-software co-engineering techniques in which computer code is developed simultaneously with physical hardware; specialised software embedded in spacecraft systems and payloads; ground data systems for data processing, simulation and modelling tools; verification and validation techniques for checking mission-critical software as well as European and global standardisation efforts.

Why is Software Systems important?

Software is an intangible part of the finished space system, so its importance is easy to underestimate. However getting it right is crucial to mission success: software bugs have been the doom of many spacecraft, going back to the earliest days of space exploration.

At its most basic, software can be thought of as embedded intelligence, increasing the capability and versatility of space hardware. It amounts to a programmed list of instructions telling the system how to operate in reaction to a given eventuality.

Spacecraft designers must anticipate a huge number of different eventualities however, so the resulting software will be vast in turn, though must remain internally consistent throughout to avoid bugs.

The proportion of ESA budget spent on software development has increased greatly in recent decades, reflecting the ever growing autonomy of spacecraft designs and the amount of processed information they yield.

What innovations are involved?

Automatic code generation where a system produces its own software to oversee some operations is becoming a useful means of boosting software productivity and increasing the on-board autonomy of spacecraft, reducing ground-based running costs in turn.

Assigning greater power to software during mission operations does put an onus on improving the reliability of verification and validation (V&V) procedures of mission- and safety-critical software during the earlier design stage. Work is ongoing on means of guaranteeing software reliability.

Continuing research and development of modelling and simulation software tools offers a means of improving the mission creation, definition and testing process. Particular areas of innovation include interactive 3D graphics and real-time simulation. Simulations can also be employed to test real flight hardware on a closed loop basis, where commands between the two are linked, or even the performance of human astronauts.

As a related activity, advanced man-machine interface devices and usability engineering are a continued area of research in terms of manned spaceflight as well as the ground-based fields of electrical ground support equipment (EGSE) and assembly, integration and testing (AIT) of spacecraft – where the efficient interaction of people with computer systems is a crucial consideration.

Harmonisation and standardisation of software systems and architectures is carried out on an ongoing basis both within ESA and also in cooperation with other space agencies. The aim is to reduce the cost of software development and modularising software 'building blocks' with potential for adaptation and reuse elsewhere.

What applications and missions are enabled?

ESA's Project for On-Board Autonomy (Proba) series of missions are obvious examples of spacecraft where advanced software systems has given them a high level of autonomy, allowing them to operate on an ongoing basis with a minimum of inputs from ground controllers.

A similar kind of approach has been followed with ESA's Automated Transfer Vehicle (ATV) which has more than a million lines of code and a quadruple redundancy architecture to comply with the rigorous 'Class A' safety requirements associated with manned spaceflight while also allowing it to dock with the International Space Station on an entirely automatic basis.

Comparable levels of autonomy will be essential for next-decade planetary rovers such as ExoMars, where the uncertainty of the terrain and the length of time between communication with ground control means that the missions will have no option but to think for themselves.

Greater onboard data processing capability has applications closer to home as well, empowering a new generation of telecommunication satellites such as ESA's planned Alphabus Platform, intended to support broadband connectivity across our planet.