Safety-critical devices, whether medical, automotive, or industrial, are increasingly dependent on the correct operation of sophisticated software. Many standards have appeared in the last decade on how such systems should be designed and built. Developers, who previously only had to know how to program devices for their industry, must now understand remarkably esoteric development practices and be prepared to justify their work to external auditors. Embedded Software Development for Safety-Critical Systems discusses the development of safety-critical systems under the following standards: IEC 61508; ISO 26262; EN 50128; and IEC 62304. It details the advantages and disadvantages of many architectural and design practices recommended in the standards, ranging from replication and diversification, through anomaly detection to the so-called "safety bag" systems. Reviewing the use of open-source components in safety-critical systems, this book has evolved from a course text used by QNX Software Systems for a training module on building embedded software for safety-critical devices, including medical devices, railway systems, industrial systems, and driver assistance devices in cars. Although the book describes open-source tools for the most part, it also provides enough information for you to seek out commercial vendors if that’s the route you decide to pursue. All of the techniques described in this book may be further explored through hundreds of learned articles. In order to provide you with a way in, the author supplies references he has found helpful as a working software developer. Most of these references are available to download for free.
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 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.
This Expert Guide gives you the techniques and technologies in software engineering to optimally design and implement your embedded system. Written by experts with a solutions focus, this encyclopedic reference gives you an indispensable aid to tackling the day-to-day problems when using software engineering methods to develop your embedded systems. With this book you will learn: The principles of good architecture for an embedded system Design practices to help make your embedded project successful Details on principles that are often a part of embedded systems, including digital signal processing, safety-critical principles, and development processes Techniques for setting up a performance engineering strategy for your embedded system software How to develop user interfaces for embedded systems Strategies for testing and deploying your embedded system, and ensuring quality development processes Practical techniques for optimizing embedded software for performance, memory, and power Advanced guidelines for developing multicore software for embedded systems How to develop embedded software for networking, storage, and automotive segments How to manage the embedded development process Includes contributions from: Frank Schirrmeister, Shelly Gretlein, Bruce Douglass, Erich Styger, Gary Stringham, Jean Labrosse, Jim Trudeau, Mike Brogioli, Mark Pitchford, Catalin Dan Udma, Markus Levy, Pete Wilson, Whit Waldo, Inga Harris, Xinxin Yang, Srinivasa Addepalli, Andrew McKay, Mark Kraeling and Robert Oshana. Road map of key problems/issues and references to their solution in the text Review of core methods in the context of how to apply them Examples demonstrating timeless implementation details Short and to- the- point case studies show how key ideas can be implemented, the rationale for choices made, and design guidelines and trade-offs
Author: Marvin Rausand
Publisher: John Wiley & Sons
Release Date: 2014-03-03
Genre: Technology & Engineering
Presents the theory and methodology for reliability assessments of safety-critical functions through examples from a wide range of applications Reliability of Safety-Critical Systems: Theory and Applications provides a comprehensive introduction to reliability assessments of safety-related systems based on electrical, electronic, and programmable electronic (E/E/PE) technology. With a focus on the design and development phases of safety-critical systems, the book presents theory and methods required to document compliance with IEC 61508 and the associated sector-specific standards. Combining theory and practical applications, Reliability of Safety-Critical Systems: Theory and Applications implements key safety-related strategies and methods to meet quantitative safety integrity requirements. In addition, the book details a variety of reliability analysis methods that are needed during all stages of a safety-critical system, beginning with specification and design and advancing to operations, maintenance, and modification control. The key categories of safety life-cycle phases are featured, including strategies for the allocation of reliability performance requirements; assessment methods in relation to design; and reliability quantification in relation to operation and maintenance. Issues and benefits that arise from complex modern technology developments are featured, as well as: Real-world examples from large industry facilities with major accident potential and products owned by the general public such as cars and tools Plentiful worked examples throughout that provide readers with a deeper understanding of the core concepts and aid in the analysis and solution of common issues when assessing all facets of safety-critical systems Approaches that work on a wide scope of applications and can be applied to the analysis of any safety-critical system A brief appendix of probability theory for reference With an emphasis on how safety-critical functions are introduced into systems and facilities to prevent or mitigate the impact of an accident, this book is an excellent guide for professionals, consultants, and operators of safety-critical systems who carry out practical, risk, and reliability assessments of safety-critical systems. Reliability of Safety-Critical Systems: Theory and Applications is also a useful textbook for courses in reliability assessment of safety-critical systems and reliability engineering at the graduate-level, as well as for consulting companies offering short courses in reliability assessment of safety-critical systems.
Safety-critical systems, by definition those systems whose failure can cause catastrophic results for people, the environment, and the economy, are becoming increasingly complex both in their functionality and their interactions with the environment. Unfortunately, safety assessments are still largely done manually, a time-consuming and error-prone process. The growing complexity of these systems requires an increase in the skill and efficacy of safety engineers and encourages the adoption of formal and standardized techniques. An introduction to the area of design and verification of safety-critical systems, Design and Safety Assessment of Critical Systems focuses on safety assessment using formal methods. Beginning with an introduction to the fundamental concepts of safety and reliability, it illustrates the pivotal issues of design, development, and safety assessment of critical systems. The core of the book covers traditional notations, techniques, and procedures, including Fault Tree Analysis, FMECA, HAZOP, and Event Tree Analysis, and explains in detail how formal methods can be used to realize such procedures. It looks at the development process of safety-critical systems, and highlights influential management and organizational aspects. Finally, it describes verification and validation techniques and new trends in formal methods for safety and concludes with some widely adopted standards for the certification of safety-critical systems. Providing an in-depth and hands-on view of the application of formal techniques to advanced and critical safety assessments in a variety of industrial sectors, such as transportation, avionics and aerospace, and nuclear power, Design and Safety Assessment of Critical Systems allows anyone with a basic background in mathematics or computer science to move confidently into this advanced arena of safety assessment.
Author: Neil Storey
Publisher: Addison Wesley Publishing Company
Release Date: 1996
For both engineering and computer science students and for practising engineers within computer related industries, this book provides a thorough introduction to the field of Safety Critical Computer Systems. Readers are assumed to have a baic understanding of computer operation, digital electronics and programming.
This volume is the outcome of deliberations on formal methods in aerospace. The book specially delves into the use of formal methods for verification, validation, and optimization of software in safety critical and time critical applications, such as those in aerospace engineering. The chapters in this book are authored by leading corporate and government R&D scientists. The contents of this book will be useful to researchers and professionals alike.
Hatton shows developers how to use C in safety-related and high-integrity systems, describing how to build quality and reliability into software using commercially available tools. He discusses international standards and software quality initiatives and offers an in-depth comparison of C and other popular languages from a safety and reliability viewpoint.
Utilize a new layers-based development model for embedded systems using Agile techniques for software architecture and management. Firmware is comprised of both hardware and software, but the applicability of Agile in embedded systems development is new. This book provides a step-by-step process showing how this is possible. The book details how the moving parts in embedded systems development affect one another and shows how to properly use both engineering tools and new tools and methods to reduce waste, rework, and product time-to-market. Software is seen not as a commodity but a conduit to facilitate valuable product knowledge flow across the company into the hands of the customer. Embedded Systems Architecture for Agile Development starts off by reviewing the Layers model used in other engineering disciplines, as well as its advantages and applicability to embedded systems development. It outlines development models from p roject-based methodologies (e.g., collaborative product development) to the newer modern development visions (e.g., Agile) in software and various tools and methods that can help with a Layers model implementation. The book covers requirement modeling for embedded systems (Hatley-Pirbhai Method) and how adapting the HP Method with the help of the tools discussed in this book can be seen as a practical example for a complete embedded system. What You’ll Learn: Identify the major software parts involved in building a typical modern firmware Assign a layer to each software part so each layer can be separate from another and there won’t be interdependencies between them Systematically and logically create these layers based on the customer requirements Use Model-Based Design (MBD) to create an active system architecture that is more accepting of changes Wh at You’ll Lea rn Identify the major software parts involved in building a typical modern firmware Assign a layer to each software part so each layer can be separate from another and there won’t be interdependencies between them Systematically and logically create these layers based on the customer requirements Use Model-Based Design (MBD) to create an active system architecture that is more accepting of changes Who This Book Is For Firmware engineers; systems architects; hardware and software managers, developers, designers, and architects; program managers; project managers; Agile practitioners; and manufacturing engineers and managers. The secondary audience includes research engineers and managers, and engineering and manufacturing managers.
Author: Roger Shaw
Publisher: Springer Science & Business Media
Release Date: 2012-12-06
Safety and Reliability of Software Based Systems contains papers, presented at the twelfth annual workshop organised by the Centre for Software Reliability. Contributions come from different industries in many countries, and provide discussion and cross-fertilisation of ideas relevant to systems whose safety and/or reliability are of paramount concern. This book discusses safety cases and their varying roles in different industries; using measurement to improve reliability and safety of software-based systems; latest developments in managing, developing and assessing software intensive systems where reliability and/or safety are important considerations; and practical experiences of others in industry.
Author: Ajitha Rajan
Publisher: Springer Science & Business Media
Release Date: 2013-03-25
Genre: Technology & Engineering
The book summarizes the findings and contributions of the European ARTEMIS project, CESAR, for improving and enabling interoperability of methods, tools, and processes to meet the demands in embedded systems development across four domains - avionics, automotive, automation, and rail. The contributions give insight to an improved engineering and safety process life-cycle for the development of safety critical systems. They present new concept of engineering tools integration platform to improve the development of safety critical embedded systems and illustrate capacity of this framework for end-user instantiation to specific domain needs and processes. They also advance state-of-the-art in component-based development as well as component and system validation and verification, with tool support. And finally they describe industry relevant evaluated processes and methods especially designed for the embedded systems sector as well as easy adoptable common interoperability principles for software tool integration.
This book provides comprehensive coverage of verification and debugging techniques for embedded software, which is frequently used in safety critical applications (e.g., automotive), where failures are unacceptable. Since the verification of complex systems needs to encompass the verification of both hardware and embedded software modules, this book focuses on verification and debugging approaches for embedded software with hardware dependencies. Coverage includes the entire flow of design, verification and debugging of embedded software and all key approaches to debugging, dynamic, static, and hybrid verification. This book discusses the current, industrial embedded software verification flow, as well as emerging trends with focus on formal and hybrid verification and debugging approaches.
Author: Bruce Powel Douglass
Publisher: Addison-Wesley Professional
Release Date: 2003
This revised and enlarged edition of a classic in Old Testament scholarship reflects the most up-to-date research on the prophetic books and offers substantially expanded discussions of important new insight on Isaiah and the other prophets.