Problem 1
Suggest six reasons why software dependability is important in most sociotechnical systems.
Problem 2
Explain with an example why resilience to cyber attacks is a very important characteristic of system dependability.
Problem 3
Using an example, explain why it is important when developing dependable systems to consider these as sociotechnical systems and not simply as technical software and hardware systems.
Problem 4
Give two examples of government functions that are supported by complex sociotechnical systems and explain why, in the foreseeable future, these functions cannot be completely automated.
Problem 5
Explain the difference between redundancy and diversity.
Problem 6
Explain why it is reasonable to assume that the use of dependable processes will lead to the creation of dependable software.
Problem 7
Give two examples of diverse, redundant activities that might be incorporated into dependable processes.
Problem 8
Give two reasons why different versions of a system based on software diversity may fail in a similar way.
Problem 9
You are an engineer in charge of the development of a small, safety-critical train control system, which must be demonstrably safe and secure. You suggest that formal methods should be used in the development of this system, but your manager is skeptical of this approach. Write a report highlighting the benefits of formal methods and presenting a case for their use in this project.
Problem 10
It has been suggested that the need for regulation inhibits innovation and that regulators force the use of older methods of systems development that have been used on other systems. Discuss whether or not you think this is true and the desirability of regulators imposing their views on what methods should be used.