![]() |
![]() |
![]() Overview of software life cycle related activities ![]() ![]() Software Engineering and Standardisation Section activities related to the software life cycle address mainly the beginning of the life cycle and its automation. System software co-engineering is intended to link the software development with the system requirements. System, in this instance, means any spacecraft sub-system that generates on-board software requirements (examples: data handling, attitude control, thermal control, power management). Requirements engineering emphasises modelling as a means of enforcing the completeness and consistency of the requirements. Modelling languages are also used with design methods, but with a particular emphasis on hard real-time systems. Modelling allows automation of the life cycle through the automatic generation of flight code and some validation tests. Code is cross compiled for specific space-qualified processors. The choice of language is influenced by the constraints arising from the use of the hardware in space.
The hard real-time nature of most flight software imposes requirements for a thorough schedulability analysis and the use of specific scheduling policies such as Ravenscar.
![]() |