Service-Oriented Architectures for Safety-Critical Systems
Total Page:16
File Type:pdf, Size:1020Kb
Service-Oriented Architectures for Safety-Critical Systems Abdulaziz Abdulrahman Al-Humam PhD University of York Computer Science September 2015 Abstract Many organisations in the safety-critical domain are service-oriented, fundamentally centred on critical services provided by systems and operators. Increasingly, these services rely on software-intensive systems, e.g. medical health informatics and air traffic control, for improving the different aspects of industrial practice, e.g. enhancing efficiency through automation and safety through smart alarm systems. However, many services are categorised as high risk and as such it is vital to analyse the ways in which the software-based systems can contribute to unintentional harm and potentially compromise safety. This thesis defines an approach to modelling and analysing Service- Oriented Architectures (SOAs) used in the safety-critical domain, with emphasis on identifying and classifying potential hazardous behaviour. The approach also provides a systematic and reusable basis for defining how the safety case for these SOAs can be developed in a modular manner. The approach is tool-supported and is evaluated through two case studies, from the healthcare and oil and gas domains, and industrial review. 2 List of Contents Abstract ............................................................................................................................................ 2 List of Contents .............................................................................................................................. 3 List of Figures ................................................................................................................................. 8 List of Tables ................................................................................................................................ 11 Acknowledgements ................................................................................................................... 13 Author’s Declaration ................................................................................................................. 14 1. Introduction ......................................................................................................................... 15 1.1. Service-Oriented Architectures (SOAs) ............................................................... 15 1.2. SOA and Safety .................................................................................................... 18 1.3. The Challenges of SOA in Safety-Critical Systems ............................................... 19 1.4. Research Hypothesis ........................................................................................... 20 1.5. Thesis Structure ................................................................................................... 21 2. Survey of SOA and Safety ................................................................................................ 24 2.1. Introduction ......................................................................................................... 24 2.2. SOA ...................................................................................................................... 24 2.2.1. SOA Definition ................................................................................................. 24 2.2.2. SOA Entities ..................................................................................................... 25 2.2.3. SOA Characteristics ......................................................................................... 26 2.2.4. SOA Lifecycle ................................................................................................... 28 2.2.5. SOA Design Patterns........................................................................................ 31 2.2.6. SOA Modelling ................................................................................................. 41 2.3. Safety and Certification ....................................................................................... 46 2.3.1. System Safety .................................................................................................. 46 2.3.2. Safety Certification .......................................................................................... 62 2.3.3. Safety Cases..................................................................................................... 65 2.3.4. SOA and Safety ................................................................................................ 74 3 2.4. Chapter Summary ................................................................................................ 76 3. SOA Safety Assurance Framework .............................................................................. 77 3.1 Introduction ............................................................................................................. 77 3.2 Conceptual Framework ............................................................................................ 78 3.3 SOA Modelling ......................................................................................................... 79 3.3.1 Modelling SOA Services in SoaML ................................................................... 81 3.3.2 Modelling SOA Processes in BPMN ................................................................. 82 3.3.3 Traceability between SoaML and BPMN Models ............................................ 83 3.4 SOA Safety Analysis .................................................................................................. 84 3.4.1. Safety Analysis of Services .............................................................................. 85 3.4.2. Safety Analysis of SOA Processes .................................................................... 86 3.4.3. Use of SOA Fault Taxonomies in SFA .............................................................. 87 3.5 SOA Safety Cases ...................................................................................................... 87 3.5.1. Modular Safety Case Development for SOA ................................................... 88 3.5.2. Pattern Catalogue for SOA Modular Safety Cases .......................................... 89 3.6 Automated Support and Tooling ............................................................................. 91 3.7 Summary .................................................................................................................. 92 4. SOA Safety Analysis ........................................................................................................... 94 4.1 Introduction ............................................................................................................. 94 4.2 SOA Healthcare Case Study ..................................................................................... 95 4.2.1 Ambulance Services ........................................................................................ 96 4.2.2 EHR Services .................................................................................................... 97 4.2.3 Childbirth Services ........................................................................................... 97 4.3 Service Hazard Analysis (SHA) .................................................................................. 98 4.3.1 Method ............................................................................................................ 98 4.3.2 Healthcare Case study: SHA .......................................................................... 102 4.4 Service Failure Analysis (SFA) ................................................................................. 108 4.4.1 Method .......................................................................................................... 109 4.4.2 SOA Fault Taxonomy used in SFA .................................................................. 112 4.4.3 Healthcare Case study: SFA ........................................................................... 115 4.5 Tool Support .......................................................................................................... 120 4.5.1 SoaML to BPMN Link ..................................................................................... 120 4.5.2 BPMN to SoaML Link ..................................................................................... 122 4 4.5.3 SLA Implementation ...................................................................................... 123 4.5.4 SHA Implementation ..................................................................................... 124 4.5.5 SFA Implementation ...................................................................................... 125 4.5.6 Model-Based Support ................................................................................... 126 4.6 Summary ................................................................................................................ 127 5. SOA Safety Cases ............................................................................................................. 129 5.1 Introduction ........................................................................................................... 129 5.2 Modular Safety Case Development for SOA .......................................................... 130 5.3 Modular SOA Safety Argumentation Approach ..................................................... 132 5.3.1 Overall Structure ..........................................................................................