Software Systems

Software is the term given to coded sets of instructions that tell the system what to do in a given situation. Thus, the software represents the “intelligence” of a certain system. As the sophistication and on-board intelligence of spacecraft has increased, e.g. to become more autonomous from ground, so too has the size and complexity of their associated software programs, stretching to hundreds of thousands of lines of code (and up to one million lines of code for the Jules Verne ATV).

What is the Software Systems domain?

The domain of Software Systems covers most aspects of the software in the service of ESA space missions. In particular it covers:

  • software engineering methods and tools;
  • software technology for onboard and ground systems
  • software architectures and building blocks;
  • system-software co-engineering techniques in which computer code is specified in a concurrent way together with the system;
  • real-time software embedded in spacecraft systems and payloads;
  • ground facilities software, including electrical ground support equipment, testbenches, databases and simulation and modelling tools;
  • verification and validation techniques for checking mission-critical software
  • software standards.

Why is Software Systems important?

ESA's ATV Control Centre, Toulouse, during Demonstration Day 2Access the image

Software enables highly complex activities - such satellite precision manoeuvres, autonomous navigation of rovers on a planetary terrain - and provides a means to recover from malfunctions and compensate for hardware equipment defects. Software must work correctly first time in orbit, and 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.

The added value of software to space systems has increased greatly in recent decades, reflecting the ever growing functionality and autonomy of spacecraft and the amount of mission data to be collected and processed.

Software systems engineering is needed to ensure that the software is properly designed, developed and verified, like for any physical equipment.

Rate this

  • Currently 4.5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Rating: 4.6/5 (14 votes cast)

Thank you for rating!

You have already rated this page, you can only rate it once!

Your rating has been changed, thanks for rating!