Mannering, Derek; Hall, Jon and Rapanotti, Lucia
(2007). Towards Normal Design for Safety-Critical Systems.
In: Dwyer, Matthew, B. and Lopes, Antonia eds.
Fundamental Approaches to Software Engineering.
Lecture Notes in Computer Science, 4422.
Springer Verlag, pp. 398–411.
Normal design is, essentially, when an engineer knows that the design they are working on will work. Routine ‘traditional’ engineering works through normal design. Software engineering has more often been assessed as being closer to radical design, i.e., repeated innovation. One of the aims of the Problem Oriented Software Engineering framework (POSE) is to provide a foundation for software engineering to be considered an application of normal design. To achieve this software
engineering must mesh with traditional, normal forms of engineering, such as aeronautical engineering. The POSE approach for normalising software development, from early requirements through to code (and beyond), is to provide a structure within which the results of dierent development activities can be recorded, combined and reconciled. The
approach elaborates, transforms and analyses the project requirements, reasons about the eect of (partially detailed) candidate architectures, and audits design rationale through iterative development, to produce a justified (where warranted) fit-for-purpose solution. In this paper we show how POSE supports the development task of a safety-critical system. A normal ‘pattern of development’ for software safety under POSE is proposed and validated through its application to an industrial case
About the book: This book constitutes the refereed proceedings of the 10th International Conference on Fundamental Approaches to Software Engineering, FASE 2007, held in Braga, Portugal in March/April 2007 as part of ETAPS 2007, the Joint European Conferences on Theory and Practice of Software.
The 30 revised full papers presented together with two invited papers were carefully reviewed and selected from 141 submissions. The papers are organized in topical sections on evolution and agents, model driven development, tool demonstrations, distributed systems, specification, services, testing, analysis, and design.
Actions (login may be required)