3.2.1 Software is to be designed and tested in accordance with recognised standards.
3.2.2 The ways in which software could be a stimulus event to a hazard, impair the
mitigation of a hazard, or impair recovery following such a hazardous event shall be
communicated to the appropriate parties.
3.2.3 The production of software shall be managed so that the safety risks arising from the
software production are reduced to an acceptable level.
3.2.4 Provision shall be made to protect systems against:
- Unauthorised installation, change or deletion of software or
associated data;
- The installation or use of unauthorised software (e.g.
running games or office applications); and
- Modification of the software function by additional or
modified physical devices.
3.2.5 A system safety justification shall be developed to include the risks posed by the
use of software and how those risks are reduced to an acceptable level.
3.2.6 The configuration status of the software on each submarine shall be captured and
recorded, and the record maintained up-to-date for the life of the submarine.
3.2.7 The development and testing of changes to the software and data, including specific
arrangements for onboard testing, shall be managed so that safety of the system,
sub-system or equipment is not compromised.
3.2.8 The retention and release of earlier versions of software shall be managed to enable
restoration of a previous known and trusted state when necessary.
3.2.9 The release and installation of software to each submarine shall be appropriately and
actively managed so that changes to software are controlled. The installation
process shall include a strategy for managing a failed installation.
3.2.10 Assurance of software integrity is to be provided to appropriate standards and
verified by an appropriate organisation throughout the entire software
lifecycle.
3.2.11 The computer-based system hosting software shall comply with electrotechnical and
whole-boat requirements.