2.1 Software Systems Dependability-RevA
2.1 Software Systems Dependability-RevA
2.1 Software Systems Dependability-RevA
1
SOFTWARE SYSTEMS DEPENDABILITY
Software Systems Dependability
• Motivation
• The use of software for control and protection purposes is
expected to increase. In order to facilitate the successful
development, assurance and deployment of high integrity
software, the industry will need to continuously improve the
methods, techniques and tools for the different life-cycle phases
of the software
• Objective
• Provide lessons learned and recommendations on processes,
methods, techniques and tools for the different life cycle phases
for software important to safety
• Activities
1. Software Development
2. Software Assurance
3. Software Certification
2
Approach
3
Features
4
Benefits
Utilities:
• System level processes for engineering relevant requirements to system
safety and dependability, allocating these to sub-systems and components,
following up the vendors in a competent and appropriate manner, and
contributing to an efficient acceptance process
Vendors:
• An improved basis for choosing and implementing means adequate for the
fulfilment of the requirements allocated to the electronic systems and
software
Regulators:
• An improved basis for assessing the evidences and argumentation produced
through the development, assurance, and certification activities
5
Perspective
System approach to safety
Overall system
Allocation of
requirements to Acceptance and
Electronic system
sub-systems and deployment
components
Software
6
Scope
7
Activity 2.1.1 Software Development
Software Development
Objectives:
• To provide lessons learned and recommendations on means for software
requirements specification, architecture and design, component design,
component implementation, and integration
9
Software Development
Work plan:
• Cases involving the development of safety-critical electronic systems
• Requirements engineering: Identification of the relevant safety requirements;
management of traceability and changes; alignment of safety and security requirements
assessment; effective use of formal methods
• Software design: Choice of adequate architectures; proper use of pre-developed
software; protection against common cause failures; safety and dependability impacts of
fundamental software design principles
• System level aspects: Early consideration of control room aspects, graphical interfaces,
and human factors; integration of software and hardware into safe and dependable
electronic systems
• Organisational aspects: The relationship and interplay between development, assurance,
and certification; allocation of responsibilities; interaction and communication between
the different roles involved
10
Software Development
Expected results:
• Empirical knowledge from cases carried out involving the development of safety-
critical electronic systems, in conformance to relevant standards and guidelines
• Lessons learned from each case, based on an evaluation of the results achieved
concerning the development means investigated
• Guidelines on the integration of security aspects in the development of software
important to safety
• Guidelines on selected aspects of software development
• Guidelines on the effective use of formal methods in software specification and
design
• Lessons learned and recommendations on software development
• Evaluation and further improvement of development processes, methods,
techniques, and tools
11
Activity 2.1.2 Software Assurance
Software Assurance
Objectives:
• To provide lessons learned and recommendations on means for software
testing, verification, validation, assessment, and quality assurance
13
Software Assurance
Work plan:
• Cases involving the assurance of safety-critical electronic systems
• Verification and validation: Demonstration of the fulfilment of identified safety
requirements; effective use of formal verification; the relationship between V&V and
certification
• System level aspects: Optimal use of simulators in software assurance
• Organisational aspects: The relationship and interplay between software assurance and
software certification; allocation of responsibilities; interaction and communication
between the different roles involved; how the different assurance activities support each
other and certification
14
Software Assurance
Expected results:
• Empirical knowledge from cases carried out involving the assurance of
safety-critical electronic systems, in conformance to relevant standards and
guidelines
• Lessons learned from each case, based on an evaluation of the results
achieved concerning the assurance means investigated
• Guidelines on selected aspects of software assurance
• Guidelines on the effective use of formal methods in software verification
• Lessons learned and recommendations on software assurance
• Evaluation and further improvement of assurance processes, methods,
techniques, and tools
15
Activity 2.1.3 Software Certification
Software Certification
Objectives:
• To provide lessons learned and recommendations on means supporting
safety demonstration and approval
17
Software Certification
Work plan:
• Cases involving the certification of safety-critical electronic systems
• Certification processes: The understanding and interpretation of requirements;
harmonization of certification processes; harmonization of different classifications of
digital I&C
• Safety argumentation: Structure and representation of the safety argumentation;
optimization between safety and security issues; quality and validity of the safety
argumentation; types and value of supporting evidences; utilization of formal methods in
safety demonstration
• System level aspects: The relationship between software certification and system safety
demonstration
• Organisational aspects: The balance between independence and involvement in the
certification process; allocation of responsibilities for producing safety argumentation and
supporting evidences
18
Software Certification
Expected results:
• Empirical knowledge from cases carried out involving the certification of
safety-critical electronic systems, in conformance to relevant standards and
guidelines
• Lessons learned from each case, based on an evaluation of the results
achieved concerning the certification means investigated
• Guidelines on selected aspects of software certification
• Guidelines on the effective use of formal methods in software certification
• Lessons learned and recommendations on software certification
• Evaluation and further improvement of certification processes, methods,
techniques, and tools
19