Building Dependable Systems And Software


Published on

We depend on systems more and more. This slide show introduces 'dependability' and describes how it can be achieved for systems, products and software. The key idea is to directly relate the development process to measurable aspects of the system to achieve verifiable dependability.

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Building Dependable Systems And Software

  1. 1. Dependable Systems and Software guaranteeing software for projects and products by Brian Kirk and Stuart Doyle of Robinson Associates
  2. 2. Why dependable ? <ul><li>Efficiency of the organisation or business </li></ul><ul><li>Productivity and well being of users </li></ul><ul><li>Avoiding harm to people and property </li></ul>
  3. 3. Dependable Systems are everywhere <ul><li>We depend on more and more systems … </li></ul><ul><li>Anti lock braking cars, trains, planes </li></ul><ul><li>Anti skid protection </li></ul><ul><li>Automated medical analysis </li></ul><ul><li>Medical treatment machines </li></ul><ul><li>Water management systems </li></ul><ul><li>Benefits payment systems (welfare) </li></ul><ul><li>Supermarket logistics systems (food) </li></ul><ul><li>and any system relying on software </li></ul><ul><li>where a guarantee must be offered … </li></ul>
  4. 4. The bottom line … <ul><li>Creating dependable systems and software </li></ul><ul><li>Costs too much </li></ul><ul><li>Takes too long </li></ul><ul><li>Creates document mountains </li></ul><ul><li>By the time the system is delivered the system’s needs have often changed ! </li></ul><ul><li>and budgets are getting tighter … </li></ul>
  5. 5. But times have changed … <ul><li>Increase the budget by a million George – certainly ! (not) </li></ul>
  6. 6. So what’s the problem ? <ul><li>Simple: the current approach relies on </li></ul><ul><li>Very detailed development processes </li></ul><ul><li>Expensive software tools </li></ul><ul><li>Use of techniques that ‘tick the boxes’ rather than meeting needs </li></ul><ul><li>Developers being continually rigorous </li></ul><ul><li>Sadly there is little direct connection between </li></ul><ul><li>the development process and </li></ul><ul><li>the dependability achieved in use </li></ul>
  7. 7. Other business areas do better! <ul><li>For example: </li></ul><ul><li>Data on aviation and auto accidents and warranty failures is collected and collated </li></ul><ul><li>Analysis finds any recurring failures and causes </li></ul><ul><li>Corrective action is used to improve </li></ul><ul><ul><li>Existing products (recalls) </li></ul></ul><ul><ul><li>Design of future products (materials, techniques, processes, audit) </li></ul></ul><ul><ul><li>Infrastructure </li></ul></ul><ul><li>For most software and systems this rarely happens </li></ul><ul><li>So software and system development needs to be more </li></ul><ul><li>directly related to the dependability goals of the system </li></ul>
  8. 8. Why don’t standards help ? <ul><li>They get out of date </li></ul><ul><li>No longer fully relevant </li></ul><ul><li>Cumbersome and expensive to use </li></ul><ul><li>Discourage innovation </li></ul><ul><li>Provide little direct connection between development process and the achieved dependability of the system </li></ul><ul><li>So is there a better way ? </li></ul>What ever happened to that young Darwin chap?
  9. 9. Creating dependable systems <ul><li>Here’s how: quantify the dependability of the </li></ul><ul><li>system in an achievable way from the start by </li></ul>Defining a set of measurable properties which ensure system dependability Defining the evidence needed to show the properties will be met during operation of the system Developing the system in ways that the properties are easily verifiable Collecting evidence and demonstrating the current and expected levels of dependability
  10. 10. But what about certification ? <ul><li>OK, it’s still needed for many applications but </li></ul><ul><li>now the development process is focussed on </li></ul><ul><li>Achieving dependability as first priority </li></ul><ul><li>Using the parts of the standards that are relevant to system requirements and dependability </li></ul><ul><li>Using techniques that contribute directly to the dependability to be achieved </li></ul><ul><li>Providing evidence that the properties will be achieved whilst conforming to the standards </li></ul><ul><li>So how will the development approach change ? </li></ul>
  11. 11. How to guarantee dependability <ul><li>The development approach has to change </li></ul><ul><li>Define the system goals and boundaries </li></ul><ul><li>Define the properties that ensure dependability </li></ul><ul><li>Define a set of claims for each property </li></ul><ul><li>Define practical evidence and how to get it for each claim </li></ul><ul><li>Implement the system and establish its dependability step by step by building the evidence, verifying the claims and achieving the properties </li></ul><ul><li>Use a document traceability tool to link it all tool-presentatio n </li></ul><ul><li>So what does the development process look like? </li></ul>
  12. 12. Achieving a Dependable System the cycle of refinement … What the system has to achieve 1 Refine the Business Vision Concept Direction, Finance and Authority 2 Define the dependability properties, claims and evidence 3 Building the software so that evidence can be established 5 Operating the System, gathering evidence, establishing claims 4 Designing and Building the infrastructure to support the system and collect evidence ‘ Paper’ Prototypes Software Product Versions System Versions Dependable Products and Systems Project Sponsors Product Developers Infrastructure Developers Users Definers
  13. 13. In summary ... <ul><li>We believe that dependable software and systems </li></ul><ul><li>can be built (we’ve done it for 30 years!) </li></ul><ul><li>A new approach to development is needed based </li></ul><ul><li>on establishing system properties, claims and </li></ul><ul><li>evidence </li></ul><ul><li>A credible guarantee of dependability </li></ul><ul><li>can be offered for the operation of a system </li></ul><ul><li>when the evidence has been verified </li></ul>
  14. 14. About Robinson Associates <ul><li>If you are interested in developing more </li></ul><ul><li>dependable systems then please contact us </li></ul><ul><li>Web </li></ul><ul><li>Email [email_address] </li></ul><ul><li>Phone +44 1452 813699 ask for Stuart Doyle or Brian Kirk </li></ul><ul><li>Thank you for viewing our slide show </li></ul>
  15. 15. Clients we’ve helped <ul><li>Here are a few of the clients we have helped </li></ul><ul><li>to build or improve dependable systems </li></ul><ul><li>Philips Medical Systems (UK) </li></ul><ul><li>Westinghouse Rail Systems (UK, Spain, Australian, USA) </li></ul><ul><li>Hasler Rail Systems (Swiss) </li></ul><ul><li>Soudronic AG Factory Automation Systems (Swiss) </li></ul><ul><li>NEC/Philips Telecom and PDA Network Solutions (UK) </li></ul><ul><li>AGIE AG Machine Tools (Swiss) </li></ul><ul><li>Studer AG Professional Broadcast and Recording (Swiss) </li></ul>