When COTS is not SOUP Commercial Off-the-Shelf Software in Medical Systems. Chris Hobbs, Senior Developer, Safe Systems



Similar documents
Clear SOUP and COTS Software for Medical Device Development

Intelligent development tools Design methods and tools Functional safety

Introduction into IEC Software life cycle for medical devices

Using an IEC Certified RTOS Kernel for Safety-Critical Systems

Know or Go Practical Quest for Reliable Software

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

Medical Device Software Standards for Safety and Regulatory Compliance

Hardware safety integrity Guideline

Reduce Medical Device Compliance Costs with Best Practices.

Effective Software Verification for Medical Devices

Procedure for Assessment of System and Software

Design of automatic testing tool for railway signalling systems software safety assessment

Software testing. Objectives

Industrial Application of MultiPARTES

Introduction of ISO/DIS (ISO 26262) Parts of ISO ASIL Levels Part 6 : Product Development Software Level

How to Upgrade SPICE-Compliant Processes for Functional Safety

Reducing Steps to Achieve Safety Certification

Safety-Critical Systems: Processes, Standards and Certification

Creating Competitive Advantage: The role for ALM in the PLM world

SOFTWARE VERIFICATION RESEARCH CENTRE SCHOOL OF INFORMATION TECHNOLOGY THE UNIVERSITY OF QUEENSLAND. Queensland 4072 Australia TECHNICAL REPORT

Safety Integrated. SIMATIC Safety Matrix. The Management Tool for all Phases of the Safety Lifecycle. Brochure September Answers for industry.

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

ISO 27001: Information Security and the Road to Certification

How Safe does my Code Need to be? Shawn A. Prestridge, Senior Field Applications Engineer

Is your current safety system compliant to today's safety standard?

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

WHITEPAPER: SOFTWARE APPS AS MEDICAL DEVICES THE REGULATORY LANDSCAPE

Developing software for Autonomous Vehicle Applications; a Look Into the Software Development Process

Selecting Sensors for Safety Instrumented Systems per IEC (ISA )

Implementation of ANSI/AAMI/IEC Medical Device Software Lifecycle Processes.

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

What is CFSE? What is a CFSE Endorsement?

FMEDA and Proven-in-use Assessment. Pepperl+Fuchs GmbH Mannheim Germany

How To Write Software

Virtual Desktop Infrastructure Optimization with SysTrack Monitoring Tools and Login VSI Testing Tools

IEC Functional Safety Assessment. Project: K-TEK Corporation AT100, AT100S, AT200 Magnetostrictive Level Transmitter.

University of Paderborn Software Engineering Group II-25. Dr. Holger Giese. University of Paderborn Software Engineering Group. External facilities

Safety Issues in Automotive Software

How to Simplify Connected Medical Device Software Integration and Certification. Oct. 2014

CHAPTER 01 THE SCOPE OF SOFTWARE ENGINEERING

Applying Multi-core and Virtualization to Industrial and Safety-Related Applications

Verification and Validation of Software Components and Component Based Software Systems

functional Safety UL Functional Safety Mark

Frequently Asked Questions

Model-Based Development of Safety-Critical Software: Safe and Effi cient

ASSESSMENT OF THE ISO STANDARD, ROAD VEHICLES FUNCTIONAL SAFETY

Development, Acquisition, Implementation, and Maintenance of Application Systems

Software Engineering. How does software fail? Terminology CS / COE 1530

Chapter 8 Service Management

Using CMM with DO-178B/ED-12B for Airborne System Development

Using Linux in Medical Devices: What Developers and

IBM Rational Rhapsody

NEOXEN MODUS METHODOLOGY

Certification Authorities Software Team (CAST) Position Paper CAST-13

Security in SCADA solutions

Testing of safety-critical software some principles

Rigorous Methods for Software Engineering (F21RS1) High Integrity Software Development

CYBERSECURITY TESTING & CERTIFICATION SERVICE TERMS

Department of Energy Quality Managers Software Quality Assurance Subcommittee Reference Document SQAS Software Quality Assurance Control

License Guide for QNX Acoustics Management Platform 1.0 Version 1.0

Medical Device Software Verification, Validation, and Compliance

Version: 1.0 Latest Edition: Guideline

Certification Authorities Software Team (CAST) Position Paper CAST-18

Application of software product quality international standards through software development life cycle

ComplianceSP TM on SharePoint. Complete Document & Process Management for Life Sciences on SharePoint 2010 & 2013

Dr. Alexander Walsch IN 2244 Part V WS 2013/14 Technische Universität München

Good afternoon how address / ask translators It is my privilege today to share with you perspectives of systems engineering for safety critical

Software in safety critical systems

Frequently Asked Questions

How Technology Supports Project, Program and Portfolio Management

NEOXEN MODUS METHODOLOGY

PDSA Special Report. Custom Software vs Off the Shelf

Overview of IEC Design of electrical / electronic / programmable electronic safety-related systems

Critical Systems Validation. Objectives

Life Sciences Product Development Artifacts Survey Results

Sage ERP I White Paper. Tips for Maximizing the Return on Your ERP Investment

HP Windows 7 Onsite Upgrade Service

Automating Software License Management

Requirements-driven Verification Methodology for Standards Compliance

Taking Virtualization

Transparency. Privacy. Compliance. Security. What does privacy at Microsoft mean? Are you using my data to build advertising products?

What is best for embedded development? Do most embedded projects still need an RTOS?

FDA Software Validation-Answers to the Top Five Software Validation Questions

Trustworthy Computing

MAS 200. MAS 200 for SQL Server Introduction and Overview

evm Virtualization Platform for Windows

Evaluating Laboratory Data. Tom Frick Environmental Assessment Section Bureau of Laboratories

FUNCTIONAL SAFETY INDUSTRIAL

asuresign Aero (NATEP Grant MA005)

Considerations When Validating Your Analyst Software Per GAMP 5

GFMAM Competency Specification for an ISO Asset Management System Auditor/Assessor First Edition, Version 2

An Analysis of Accidents Caused by Improper Functioning of Machine Control Systems

Meeting Security Certification Requirements 1

Performance Standards and Test Procedures for Environmental Data Management Software. Martin Lloyd

Overview of how to test a. Business Continuity Plan

pm4dev, 2007 management for development series The Project Management Processes PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

Integrated Custom Systems

Should Costing Version 1.1

CHECKLIST ISO/IEC 17021:2011 Conformity Assessment Requirements for Bodies Providing Audit and Certification of Management Systems

Enhanced Diagnostics Improve Performance, Configurability, and Usability

Transcription:

When COTS is not SOUP Commercial Off-the-Shelf Software in Medical Systems Chris Hobbs, Senior Developer, Safe Systems

2 Audience and Assumptions Who will benefit from this presentation? Software designers Development managers Anyone who must decide on a strategy for building a safe system i.e. a software system for medical device Assumptions some knowledge of IEC 61508, 62304, etc. Safety Integrity Levels (SIL) Software development Whitepapers www.qnx.com/download

3 Contents Part I: Functional Safety Part II: COTS, SOUP and clear SOUP Part III: The Evidence

4 Part I: Functional Safety What is functional safety? How do we certify functional safety? Deterministic systems Non-deterministic systems Demands on development

5 Functional Safety Capacity of safety-related system to function as expected Performs its primary task Ensures that no unacceptable risk or harm to persons, property, environment Example: chainsaw Primary system cuts wood Does damage to wood, but that s what it s designed to do Safety system Prevents chainsaw from cutting the operator, neighbours, etc.

6 Functional Safety Standards IEC 62304 (medical) IEC 61508 (electrical/electronic/programmable) ISO 26262 (automotive) CENLEC EN 5012x series (rail transportation) etc. Safety Integrity Levels (SIL) It s not about five-nines, or any other kind of nines It s about sufficient dependability Proofs Why can t we just test? Five-nines availability sounds good, but Would you submit to neurosurgery with instruments that make this claim, with no further precision?

7 Deterministic Systems If a device has few enough internal stored states that it is practical to cover them all in testing, it may be better to regard it as hardware Application Note 2: Software and EN 50128, London: Railway Safety, 2003, p. 3. A simple elevator system. It is simple enough for us to find the fault through testing but only if we ask the right question.

8 Non-deterministic Systems Complex Theoretically deterministic A finite number of states and transitions In practice, non-deterministic Impossible to identify all possible states and transitions Testing to requirements is not enough. Testing will not satisfy medical certification requirements. One reason is sufficient to explain why testing is insufficient: Testing can only demonstrate the presence of faults; it cannot prove that there are no faults.

9 Demands on Development Just the usual Time Money Features Certification FDA, MDD, Health Canada, etc., etc. And the usual solutions Roll your own COTS (Commercial Off-the-Shelf)

10 Part II: COTS and SOUP What s a girl to do? COTS? COTS versus SOUP False alternatives IEC 62304 Waiter! Two SOUPs! When COTS is SOUP IEC 62304 and SOUP SOUP and Clear SOUP When COTS is not SOUP When COTS is Clear SOUP

11 What s a Girl to Do? If I can t use SOUP, then I can t use COTS Wrong! Roll Your Own Control everythng from start to finish But the requirements for functional safety validation and certification do not change Had we but world enough and time and skill

12 COTS? Use commercially-available components OS (RTOS) Networking HMI technologies Faster, cheaper, less risk But the requirements for functional safety validation and certification do not change

13 COTS versus SOUP COTS Commercial Off-The-Shelf SOUP Software Of Uncertain Provenance From a reputable vendor, which stands behind the product Development processes are known and well- documented Adequate records Validation is formal and documented In other words, you are getting your medicine from a reputable pharmacist (America), chemist (U.K.), or apothecary (Germany) No vendor standing behind it Development processes not known or documented Inadequate records Validation not formal or documented In other words, you are getting your medicine from a web site that uses spam to advertise This view of COTS is inaccurate and misleading This view of SOUP is inaccurate and misleading

14 False Alternatives COTS versus SOUP is the wrong question COTS may be SOUP SOUP may be clear SOUP COTS may not be SOUP this is what we are talking about today Better to re-phrase the question based on our Functional safety requirements Certification requirements

15 IEC 62304 (2006-05): 3.29 IEC 62304: Medical device software Software life cycle processes 3.29 SOUP software of unknown provenance SOFTWARE ITEM that is already developed and generally available and that has not been developed for the purpose of being incorporated in the MEDICAL DEVICE (also known as off-the-shelf software ) or software previously developed for which adequate records of the development PROCESSES are not available IEC 62304 Software processes Risk management Invokes ISO 14971 Safety classifications Only gives examples of quantified safety levels IEC 61508 and EN 50128 (for example) define common numerical values for acceptable failure rates i.e. Safety Integrity Levels (SIL)

16 Waiter! Two SOUPs! IEC 62304 (2006-05): 3:29 definition of SOUP implies that COTS is SOUP not been developed for the purpose of being incorporated in the MEDICAL DEVICE (also known as off-the-shelf software ) There are two types of SOUP not been developed for the purpose of being incorporated in the MEDICAL DEVICE (also known as off-the-shelf software ) software previously developed for which adequate records of the development PROCESSES are not available

17 When COTS is SOUP Software may be sold by a reputable vendor, and still be SOUP for safety validation and certification For example: Microsoft Windows OS Reputable vendor Documented processes, validation records, fault histories, etc. Are these records available to support the functional safety case and the certification of a system build with this OS? If they are not available, then the software (Microsoft Windows OS) May be not be SOUP for Microsoft (We have no way of knowing) Is definitely SOUP for us (We have no way of knowing)

18 IEC 62304 and SOUP IEC 62304 permits use of SOUP For example: 5.3.3 Specify functional and performance requirements of SOUP item 5.3.4 Specify SYSTEM hardware and software required by SOUP item 7.1.3 EVALUATE published SOUP ANOMOLY list 8.1.1 Identify SOUP These requirements suggest that we re not talking about software for which adequate records of the development PROCESSES are not available But about software developed for the purpose of being incorporated in the MEDICAL DEVICE (also known as off-the-shelf software ) In other words clear SOUP

19 SOUP and Clear SOUP Third-party software may be clear SOUP Open source (Apache and Linux) Freely available source code Can be be scrutinized with symbolic path execution and path coverage analysis Freely available fault histories Long in-use histories Problems with open source Development is not clearly defined or well documented No way to know what has been validated or how May include more features than required (dead code) Expressly discouraged by IEC 61508 Ergo: not recommended

20 When COTS is not SOUP COTS software must not be SOUP in the traditional definition of: No process, no requirements, no records, etc., etc. COTS software may be clear SOUP For functionally safe systems (i.e. medical systems), COTS must be clear SOUP

21 When COTS is ClearSOUP COTS software must have Clear functional safety requirements Clearly stated safety assurance claims, including the environment in which they are valid Architecture suitable for safety-critical applications Clearly defined and documented development and validation processes Documented fault histories If the COTS software has the above, it is clear SOUP and, thus, can be used and certified in a medical device COTS software is not SOUP when it is clearsoup Also useful Some vendors release to customers the processes they use to build their software (an informal audit trail) Some vendors have certified components (e.g. QNX Neutrino RTOS Safe Kernel certified to IEC 61508 SIL 3)

22 Part III: The Evidence What proofs does the COTS software vendor provide that his product is what you need? Will it support your getting your product certified? Is it clear SOUP? Checklist Functional safety requirements System architecture Process Fault-tree analysis Design artefacts Static analysis Proven in-use data Safety manual Certified components

23 Functional Safety Requirements What functional safety claims does or can the COTS software make? Context and limits of the claims Continuous or on-demand operation Probability of dangerous failure Level of dependability claimed (quantitative) Availability Reliability How often the system responds to events in a timely manner How often these responses are correct Define sufficient dependability Inversely: dependability

24 System Architecture Evaluate architectures and select the one most suitable for your safety-critical systems and certification Some characteristics to look for Priority inversion protections Guaranteed availability CPU resource scheduling Prevent critical process starvation Facilitate migration to multicore systems (they are coming) Ensure correct behaviour on these systems

25 Process What processes does the COTS vendor have in place and documented? Process Quality management system Sine qua non if your COTS vendor doesn t have this, go no further Quality management system Source control Defect tracking ISO 9000 family of standards for quality management systems ISO 15504 Software Process Improvement Capability Determination (SPICE) Capability Maturity Model Integration (CMMI) Revision/version/source control Defects found by customers as well as through verification and validation Defect classification (for fault analysis)

26 Fault Tree Analysis Was the COTS software evaluated with fault-tree analysis? Structured analysis Easier for auditor Easier for audited Example: Bayesian Belief Networks tool for incorporating and providing quantitative results from Hard and soft evidence A priori(cause to effect) and a posteriori (effect to cause) evidence

27 Design Artefacts What design artefacts come with the COTS software? Design documentation Project plan Quality plan Architectural design Detailed design Test plans Test results Other validation methods plans and results Traceability matrix Requirements to delivery Records from software life cycle Changes Issues and their resolutions

28 Static Analysis Has static analysis been used to support the COTS safety and certification case? Static analysis Check syntax Estimate probability of faults Prove correctness e.g. assertions in the code Symbolic execution (static analysis-hybrid) What artefacts can the COTS vendor provide?

29 Proven-In-Use Data What can the vendor provide? In-field usage data are invaluable Build the gathering of this data into your business model even if you are not considering attempting certification soon Can be used to support safety cases The more in-use data available, the stronger the evidence In-use data only meaningful when scrutinized with fault analysis QNX used proven-in-use data as a component in its safety assurance/iec 61508 conformance case for the QNX Neutrino RTOS Safe Kernel. Of interest Proven-In-Use data for a traditional kernel is invalidated by the addition of a new driver. A micro-kernel on the other hand

30 The Safety Manual This is another sine qua non Remember the functional safety claims The Safety Manual Defines constraints Environment Usage For example: This list of processor architectures is exhaustive. Floating point operations SHALL NOT be performed in a signal handler. Critical budgets are limited to the window size. However, constraints must not impact usability For example: a statement such as Must not be used below an elevation of 2,000 metres has No impact on an aircraft cabin pressure system, which is not really needed below 2,000 metres May not be acceptable for a dialysis system, because many people live below 2,000 metres

31 Certified Components Certifying agencies (FDA, MDD) certify the entire device, not the components Certified components can help Certified components (IEC 61505, IEC 62304, etc.) come with Documented processes Artefacts you can include in your assurance case for certification Company expertise in obtaining certification

32 Summary Understand functional safety Make clear and understand your safety and certification requirements Roll your own doesn t solve the problem You can use SOUP if it is clearsoup COTS can be clear SOUP (but is not always clear SOUP) When selecting a COTS vendor, understand how he makes his safety assurance case, and see the evidence Using certified components helps you get your system certified A COTS vendor who has been through certification(s), can help you get through your certification(s)

2011 and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of QNX Software Systems Co. (QSS) as of the date of this presentation. Because QSS must respond to changing market conditions, it should not be interpreted to be a commitment on the part of QSS, and QSS cannot guarantee the accuracy of any information provided after the date of this presentation. QSS MAKES NO WARRANTIES, REPRESENTATIONS OR CONDITIONS EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Chris Hobbs, Senior Developer, Safe Systems chobbs@qnx.com