Publisher Summary This chapter describes the roots of the software safety problem, why they exist, and some approaches that can be used to mitigate them. Software is quickly becoming a major part of and a major concern in space applications. Whereas software always has played a role in the design and control of spacecraft, the functionality being assigned to software is quickly increasing; and conservative design, which minimizes the role and complexity of software components, is rapidly decreasing. The increasing number of incidents and losses related to software, despite great care in its development and testing, show the difficulty involved in spacecraft software engineering and the need for more attention and rigor. Spacecraft software can be treated from a safety perspective in the same way as the physical components, it is important to understand why software is such a special problem and needs additional attention. With the proliferation of software control of physical systems and system components, a different type of accident is taking on increasing importance. In these accidents, labeled system accidents, losses arise from dysfunctional interactions among system components in which no components have failed.
[1]
Nadine B. Sarter,et al.
How in the World Did We Ever Get into That Mode? Mode Error and Awareness in Supervisory Control
,
1995,
Hum. Factors.
[2]
Robyn R. Lutz,et al.
Analyzing software requirements errors in safety-critical, embedded systems
,
1993,
[1993] Proceedings of the IEEE International Symposium on Requirements Engineering.
[3]
Michel D. Ingham,et al.
Engineering Complex Embedded Systems with State Analysis and the Mission Data System
,
2004,
J. Aerosp. Comput. Inf. Commun..
[4]
Glenn Reeves,et al.
Software architecture themes in JPL's mission data system
,
1999
.
[5]
Nancy G. Leveson,et al.
Role of Software in Spacecraft Accidents
,
2004
.
[6]
Nancy G. Leveson.
Intent Specifications: An Approach to Building Human-Centered Specifications
,
2000,
IEEE Trans. Software Eng..
[7]
D. Dvořák,et al.
Challenging encapsulation in the design of high-risk control systems
,
2002
.
[8]
Nancy G. Leveson,et al.
An experimental evaluation of the assumption of independence in multiversion programming
,
1986,
IEEE Transactions on Software Engineering.