326
9 OBDH Technology of Lunar Lander
detection and correction, scheduling of long term continuous events and management of spacecraft payloads. In general, it could be classified into several software
sessions according to software architecture and functional requirement, such as the
telecommand data processing and distribution session, the telemetry data acquisition and processing session, delay telemetry data compression session, downlink
telemetry data generation session, program control session, the autonomous control
sessions including thermal control, power supply monitoring and mechanism control,
special data processing session, auxiliary data generation and transmission session,
routine session, program loading session and etc. Configuring different sessions was
not only conducive to development and maintenance of software, especially during
orbital maintenance, but also easy to satisfy requirements of different spacecraft
missions.
Along with extension of spacecraft application, the function of application software was becoming more and more complex. Besides traditional telecommand
data processing, telemetry data acquisition and processing, onboard data exchange,
system time management, autonomous flight management (program control), the
data record, system routine management and etc., more functions were added such as
spacecraft fault diagnosis and redundant switch, automatic control and autonomous
management, multimedia data processing, and CCSDS data service processing. In
addition, the time of spacecraft development was becoming shorter and shorter and
number of spacecraft is increasing, which made life cycle of software development
was becoming shorter and shorter. Therefore, the design level of application software
should be improved from the following aspects.
(1) Software design technology: On the basis of consolidating current software
engineering achievements, new software engineering methodology and new
technology were continuously researched, including development and application of software configuration management, project management, top-down
structured software design technology, and object-oriented software design
technology, software fault tolerance technology and etc.
(2) Software reuse: As software development costs became higher and higher, software reuse technology had become increasingly valuable to aerospace engineering. The form of reuse components extended from code to everything
that could be used to construct software systems. The reuse of aerospace software had evolved from the initial code reuse to the reuse of software configuration items such as design, planning, test data, and documents. Reuse of
code could only bring minimal productivity and reliability gains. The benefits
were achieved by multiplexing the design and documentation associated with
“reusable source code.” Now that software reuse technology was implemented
through component development. Software engineers could adapt to new
changes by selecting, deleting, modifying, or repeating any subcomponents.
(3) Software testing technology: Software testing was a very important and essential process in software development, which played a key role in the discovery of
software failure to improve the quality of software. There were many methods
9 OBDH Technology of Lunar Lander
detection and correction, scheduling of long term continuous events and management of spacecraft payloads. In general, it could be classified into several software
sessions according to software architecture and functional requirement, such as the
telecommand data processing and distribution session, the telemetry data acquisition and processing session, delay telemetry data compression session, downlink
telemetry data generation session, program control session, the autonomous control
sessions including thermal control, power supply monitoring and mechanism control,
special data processing session, auxiliary data generation and transmission session,
routine session, program loading session and etc. Configuring different sessions was
not only conducive to development and maintenance of software, especially during
orbital maintenance, but also easy to satisfy requirements of different spacecraft
missions.
Along with extension of spacecraft application, the function of application software was becoming more and more complex. Besides traditional telecommand
data processing, telemetry data acquisition and processing, onboard data exchange,
system time management, autonomous flight management (program control), the
data record, system routine management and etc., more functions were added such as
spacecraft fault diagnosis and redundant switch, automatic control and autonomous
management, multimedia data processing, and CCSDS data service processing. In
addition, the time of spacecraft development was becoming shorter and shorter and
number of spacecraft is increasing, which made life cycle of software development
was becoming shorter and shorter. Therefore, the design level of application software
should be improved from the following aspects.
(1) Software design technology: On the basis of consolidating current software
engineering achievements, new software engineering methodology and new
technology were continuously researched, including development and application of software configuration management, project management, top-down
structured software design technology, and object-oriented software design
technology, software fault tolerance technology and etc.
(2) Software reuse: As software development costs became higher and higher, software reuse technology had become increasingly valuable to aerospace engineering. The form of reuse components extended from code to everything
that could be used to construct software systems. The reuse of aerospace software had evolved from the initial code reuse to the reuse of software configuration items such as design, planning, test data, and documents. Reuse of
code could only bring minimal productivity and reliability gains. The benefits
were achieved by multiplexing the design and documentation associated with
“reusable source code.” Now that software reuse technology was implemented
through component development. Software engineers could adapt to new
changes by selecting, deleting, modifying, or repeating any subcomponents.
(3) Software testing technology: Software testing was a very important and essential process in software development, which played a key role in the discovery of
software failure to improve the quality of software. There were many methods
