Developing Safety-Critical Software

A Practical Guide for Aviation Software and DO-178C Compliance

Developing Safety-Critical Software

The amount of software used in safety-critical systems is increasing at a rapid rate. At the same time, software technology is changing, projects are pressed to develop software faster and more cheaply, and the software is being used in more critical ways. Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance equips you with the information you need to effectively and efficiently develop safety-critical, life-critical, and mission-critical software for aviation. The principles also apply to software for automotive, medical, nuclear, and other safety-critical domains. An international authority on safety-critical software, the author helped write DO-178C and the U.S. Federal Aviation Administration’s policy and guidance on safety-critical software. In this book, she draws on more than 20 years of experience as a certification authority, an avionics manufacturer, an aircraft integrator, and a software developer to present best practices, real-world examples, and concrete recommendations. The book includes: An overview of how software fits into the systems and safety processes Detailed examination of DO-178C and how to effectively apply the guidance Insight into the DO-178C-related documents on tool qualification (DO-330), model-based development (DO-331), object-oriented technology (DO-332), and formal methods (DO-333) Practical tips for the successful development of safety-critical software and certification Insightful coverage of some of the more challenging topics in safety-critical software development and verification, including real-time operating systems, partitioning, configuration data, software reuse, previously developed software, reverse engineering, and outsourcing and offshoring An invaluable reference for systems and software managers, developers, and quality assurance personnel, this book provides a wealth of information to help you develop, manage, and approve safety-critical software more confidently.

SafeScrum® – Agile Development of Safety-Critical Software

SafeScrum® – Agile Development of Safety-Critical Software

This book addresses the development of safety-critical software and to this end proposes the SafeScrum® methodology. SafeScrum® was inspired by the agile method Scrum, which is extensively used in many areas of the software industry. Scrum is, however, not intended or designed for use with safety-critical systems; hence the authors propose guidelines and additions to make it both practically useful and compliant with the additional requirements found in safety standards. The book provides an overview of agile software development and how it can be linked to safety and relevant safety standards. SafeScrum® is described in detail as a useful approach for reaping the benefits of agile methods, and is intended as a set of ideas and a basis for adaptation in industry projects. The book covers roles, processes and practices, and documentation. It also includes tips on how standard software process tools can be employed. Lastly, some insights into relevant research in this new and emerging field are provided, and selected real-world examples are presented. The ideas and descriptions in this book are based on collaboration with the industry, in the form of discussions with assessment organizations, general discussions within the research fields of safety and software, and last but not least, the authors’ own experiences and ideas. It was mainly written for practitioners in industry who know a great deal about how to produce safety-critical software but less about agile development in general and Scrum in particular.

Mission-Critical and Safety-Critical Systems Handbook

Design and Development for Embedded Applications

Mission-Critical and Safety-Critical Systems Handbook

This handbook provides a consolidated, comprehensive information resource for engineers working with mission and safety critical systems. Principles, regulations, and processes common to all critical design projects are introduced in the opening chapters. Expert contributors then offer development models, process templates, and documentation guidelines from their own core critical applications fields: medical, aerospace, and military. Readers will gain in-depth knowledge of how to avoid common pitfalls and meet even the strictest certification standards. Particular emphasis is placed on best practices, design tradeoffs, and testing procedures. *Comprehensive coverage of all key concerns for designers of critical systems including standards compliance, verification and validation, and design tradeoffs *Real-world case studies contained within these pages provide insight from experience

The Firmware Handbook

The Firmware Handbook

The Firmware Handbook provides a comprehensive reference for firmware developers looking to increase their skills and productivity. It addresses each critical step of the development process in detail, including how to optimize hardware design for better firmware. Topics covered include real-time issues, interrupts and ISRs, memory management (including Flash memory), handling both digital and analog peripherals, communications interfacing, math subroutines, error handling, design tools, and troubleshooting and debugging. This book is not for the beginner, but rather is an in-depth, comprehensive one-volume reference that addresses all the major issues in firmware design and development, including the pertinent hardware issues. Included CD-Rom contains all the source code used in the design examples, so engineers can easily use it in their own designs

Achieving Systems Safety

Proceedings of the Twentieth Safety-Critical Systems Symposium, Bristol, UK, 7-9th February 2012

Achieving Systems Safety

Achieving Systems Safety contains papers presented at the twentieth annual Safety-critical Systems Symposium, held in Bristol, UK, in February 2012. The Symposium is for engineers, managers and academics in the field of system safety, across all industry sectors, so the papers making up this volume offer a wide-ranging coverage of current safety topics, and a blend of academic research and industrial experience. They include both recent developments in the field and discussion of open issues that will shape future progress. The topics covered by the 20 papers in this volume include vulnerabilities in global navigation satellite systems; safety culture and community; transport safety; cyber-attacks on safety-critical systems; improving our approach to systems safety; accidents; assessment, validation and testing; safety standards and safety levels. The book will be of interest to both academics and practitioners working in the safety-critical systems arena.

Computer Safety, Reliability, and Security

26th International Conference, SAFECOMP 2007, Nurmberg, Germany, September 18-21, 2007, Proceedings

Computer Safety, Reliability, and Security

This book constitutes the refereed proceedings of the 26th International Conference on Computer Safety, Reliability, and Security, SAFECOMP 2007. The 33 revised full papers and 16 short papers are organized in topical sections on safety cases, impact of security on safety, fault tree analysis, safety analysis, security aspects, verification and validation, platform reliability, reliability evaluation, formal methods, static code analysis, safety-related architectures.

Safer C

Developing Software for in High-integrity and Safety-critical Systems

Safer C

This important and timely book contains vital information for all developers working with C, whether in high-integrity areas or not, who need to produce reliable and effective software.

Software Process Dynamics and Agility

International Conference on Software Process, ICSP 2007, Minneapolis, MN, USA, May 19-20, 2007, Proceedings

Software Process Dynamics and Agility

This volume contains papers presented at the International Conference on Software Process (ICSP 2007) held in Minneapolis, USA, May 19-20, 2007. ICSP 2007 c- prised two successful series of process-related workshops, the International Workshop on Software Process Simulation and Modeling (ProSim) and the Software Process Workshop (SPW). The theme of ICSP 2007 was “Coping with Software Process Dynamics and Ag- ity. ” Software developers work in a dynamic context of frequently changing te- nologies and limited resources. Globally distributed development teams are under ever-increasing pressure to deliver their products more quickly and with higher levels of quality. At the same time, global competition is forcing software development organizations to cut costs by rationalizing processes, outsourcing part or all of their activities, reusing existing software in new or modified applications and evolving existing systems to meet new needs, while still minimizing the risk of projects failing to deliver. To address these difficulties, new or modified processes are emerging, including agile methods and plan-based product line development. Open source, COTS and community-developed software are becoming more popular. Outsourcing coupled with 24/7 development demand well-defined processes to support the - ordination of organizationally and geographically separated teams. The increasing challenges faced by the software industry combine to increase - mands on software processes. ICSP 2007 was a continuation of two successful series of process-related wo- shops, ProSim (Software Process Simulation and Modeling Workshop) and SPW (Software Process Workshop).

Systems Engineering for Business Process Change: New Directions

New Directions : Collected Papers from the EPSRC Research Programme

Systems Engineering for Business Process Change: New Directions

Systems Engineering for Business Process Change: New Directions is a collection of papers resulting from an EPSRC managed research programme set up to investigate the relationships between Legacy IT Systems and Business Processes. The papers contained in this volume report the results from the projects funded by the programme, which ran between 1997 and 2001. An earlier volume, published in 2000, reported interim results. Bringing together researchers from diverse backgrounds in Computer Science, Information Systems, Engineering and Business Schools, this book explores the problems experienced by IT-dependent businesses that have to implement changing business processes in the context of their investment in legacy systems. The book presents some of the solutions investigated through the collaborations set up within the research programme. Whether you are a researcher interested in the ideas that were generated by the research programme, or a user trying to understand the nature of the problems and their solutions, you cannot fail to be inspired by the writings contained in this volume.

Agile Processes in Software Engineering and Extreme Programming

15th International Conference, XP 2014, Rome, Italy, May 26-30, 2014, Proceedings

Agile Processes in Software Engineering and Extreme Programming

This book contains the refereed proceedings of the 15th International Conference on Agile Software Development, XP 2014, held in Rome, Italy, in May 2014. Because of the wide application of agile approaches in industry, the need for collaboration between academics and practitioners has increased in order to develop the body of knowledge available to support managers, system engineers, and software engineers in their managerial/economic and architectural/project/technical decisions. Year after year, the XP conference has facilitated such improvements and provided evidence on the advantages of agile methodologies by examining the latest theories, practical applications, and implications of agile and lean methods. The 15 full papers, seven short papers, and four experience reports accepted for XP 2014 were selected from 59 submissions and are organized in sections on: agile development, agile challenges and contracting, lessons learned and agile maturity, how to evolve software engineering teaching, methods and metrics, and lean development.