21.01.2022 Views

Sommerville-Software-Engineering-10ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

304 Chapter 10 ■ Dependable systems

Exercises

10.1. Suggest six reasons why software dependability is important in most sociotechnical systems.

10.2. Explain with an example why resilience to cyber attacks is a very important characteristic of

system dependability.

10.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.

10.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.

10.5. Explain the difference between redundancy and diversity.

10.6. Explain why it is reasonable to assume that the use of dependable processes will lead to the

creation of dependable software.

10.7. Give two examples of diverse, redundant activities that might be incorporated into dependable

processes.

10.8. Give two reasons why different versions of a system based on software diversity may fail in

a similar way.

10.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.

10.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.

References

Abrial, J. R. 2009. “Faultless Systems: Yes We Can.” IEEE Computer 42 (9): 30–36. doi:10.1109/

MC.2009.283.

. 2010. Modeling in Event-B: System and Software Engineering. Cambridge, UK: Cambridge

University Press.

Avizienis, A., J. C. Laprie, B. Randell, and C. Landwehr. 2004. “Basic Concepts and Taxonomy of

Dependable and Secure Computing.” IEEE Trans. on Dependable and Secure Computing 1 (1): 11–33.

doi:10.1109/TDSC.2004.2.

Badeau, F., and A. Amelot. 2005. “Using B as a High Level Programming Language in an Industrial

Project: Roissy VAL.” In Proc. ZB 2005: Formal Specification and Development in Z and B. Guildford,

UK: Springer. doi:10.1007/11415787_20.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!