Muutke küpsiste eelistusi

E-raamat: Embedded Software Development for Safety-Critical Systems, Second Edition

(QNX Software Systems, Canada)
  • Formaat: 384 pages
  • Ilmumisaeg: 16-Aug-2019
  • Kirjastus: CRC Press
  • Keel: eng
  • ISBN-13: 9781000497458
  • Formaat - PDF+DRM
  • Hind: 87,09 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Raamatukogudele
  • Formaat: 384 pages
  • Ilmumisaeg: 16-Aug-2019
  • Kirjastus: CRC Press
  • Keel: eng
  • ISBN-13: 9781000497458

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

This is a book about the development of dependable, embedded software. It is for systems designers, implementers, and veriers who are experienced in general embedded software development, but who are now facing the prospect of delivering a software-based system for a safety-critical application. It is aimed at people creating a product that must satisfy one or more of the international standards relating to safety-critical applications, including IEC 61508, ISO 26262, EN 50128, EN 50657, IEC 62304, or related standards.

Of the first edition, Stephen Thomas, PE, Founder and Editor of FunctionalSafetyEngineer.com said, "I highly recommend Mr. Hobb's book." 

 

Preface xiii
Software and Safety
xiii
References
xiv
Tools
xv
Second Edition
xv
Acknowledgments
xvi
About the Author
xvii
Section 1: Background
1 Introduction
3(10)
Safety Culture
4(2)
Our Path
6(1)
Selecting the Techniques to Describe
7(1)
Development Approach
8(2)
Today's Challenges
10(2)
References
12(1)
2 Terminology of Safety
13(14)
General Safety Terminology
13(7)
Software-Specific Terminology
20(5)
References
25(2)
3 Safety Standards and Certification
27(26)
Standards Bodies
27(2)
Accreditation and Certification
29(2)
Why Do We Need These Standards?
31(1)
Goal- and Prescription-Based Standards
32(1)
Functional Safety Standards
33(10)
IEC 62304 and ISO 14971
43(2)
Machine Learning and SOTIF
45(4)
Process and the Standards
49(1)
Summary
50(1)
References
51(2)
4 Representative Companies
53(6)
Alpha Device Corporation
53(1)
Beta Component Incorporated
54(1)
Using a Certified Component
54(5)
Section 2: The Project
5 Foundational Analyses
59(26)
Analyses
59(1)
Interrelationships
60(2)
Hazard and Risk Analysis
62(5)
Safety Case
67(7)
Failure Analysis
74(6)
Analyses by Example Companies
80(3)
Summary
83(1)
References
84(1)
6 Certified and Uncertified Components
85(12)
SOUP by Any Other Name
85(1)
Certified or Uncertified SOUP
86(1)
Using Non-Certified Components
87(5)
Using a Certified Component
92(1)
Aligning Release Cycles
93(1)
Example Companies
93(4)
Section 3: Design Patterns
7 Architectural Balancing
97(8)
Availability/Reliability Balance
98(1)
Usefulness/Safety Balance
99(2)
Security/Performance/Safety Balance
101(2)
Performance/Reliability Balance
103(1)
Implementation Balance
103(1)
Summary
104(1)
References
104(1)
8 Error Detection and Handling
105(26)
Why Detect Errors?
105(1)
Error Detection and the Standards
106(1)
Anomaly Detection
106(16)
Rejuvenation
122(3)
Recovery Blocks
125(3)
A Note on the Diverse Monitor
128(1)
Summary
129(1)
References
129(2)
9 Expecting the Unexpected
131(8)
Design Safe State
131(3)
Recovery
134(1)
Crash-Only Model
135(1)
Anticipation of the Unexpected by the Example Companies
136(1)
Summary
137(1)
References
137(2)
10 Replication and Diversification
139(24)
History of Replication and Diversification
140(1)
Replication in the Standards
140(1)
Component or System Replication?
140(2)
Replication
142(2)
Diversification
144(5)
Virtual Synchrony
149(7)
Locked-Step Processors
156(1)
Diverse Monitor
157(2)
Summary
159(1)
References
160(3)
Section 4: Design Validation
11 Markov Models
163(10)
Markov Models
163(1)
Markov Models and the Standards
164(1)
The Markovian Assumptions
164(1)
Example Calculation
165(5)
Markovian Advantages and Disadvantages
170(1)
References
171(2)
12 The Fault Tree
173(14)
FTA and FMECA
173(1)
Fault Tree Analysis in the Standards
174(1)
Types of Fault Trees
174(1)
Example 1: Boolean Fault Tree
175(2)
Example 2: Extended Boolean Fault Tree
177(1)
Example 3: Bayesian Fault Tree
178(5)
Combining FTAs
183(1)
FTA Tools
184(1)
Summary
185(1)
References
185(2)
13 Software Failure Rates
187(12)
The Underlying Heresy
187(2)
Compiler and Hardware Effects
189(1)
Assessing Failure Rates
190(3)
Modeling the Failures
193(2)
The Example Companies
195(2)
References
197(2)
14 Semi-Formal Design Verification
199(24)
Verification of a Reconstructed Design
200(2)
Discrete Event Simulation
202(9)
Timed Petri Nets
211(10)
Simulation and the Example Companies
221(1)
References
222(1)
15 Formal Design Verification
223(28)
What Are Formal Methods?
223(1)
History of Formal Methods
224(1)
Formal Methods and the Standards
225(3)
Do Formal Methods Work?
228(2)
Types of Formal Methods
230(1)
Automatic Code and Test Generation
230(1)
Spin Modeling Tool
231(6)
Rodin Modeling Tool
237(6)
Formal Modeling by the Example Companies
243(3)
Formal Methods: Summary
246(1)
References
247(4)
Section 5: Coding
16 Coding Guidelines
251(10)
Programming Language Selection
251(1)
Programming Languages and the Standards
252(1)
Language Features
252(5)
Use of Language Subsets
257(2)
So, What is the Best Programming Language?
259(1)
Programming with Floating Point
259(1)
References
260(1)
17 Code Coverage Metrics
261(12)
Code Coverage Testing
261(1)
Types of Code Coverage
262(6)
Coverage and the Standards
268(1)
Effectiveness of Coverage Testing
268(2)
Achieving Coverage
270(1)
Summary
271(1)
References
271(2)
18 Static Analysis
273(16)
What Static Analysis Is Asked to Do
273(2)
Static Code Analysis and the Standards
275(1)
Static Code Analysis
275(8)
Symbolic Execution
283(2)
Summary
285(1)
References
286(3)
Section 6: Verification
19 Integration Testing
289(20)
Fault Injection Testing
290(5)
Back-to-Back Comparison Test Between Model and Code
295(3)
Combinatorial Testing
298(4)
Requirements-Based Testing
302(4)
Anomaly Detection During Integration Testing
306(1)
References
307(2)
20 The Tool Chain
309(14)
Validation of the Tool Chain
309(1)
Tool Classification
310(1)
BCI's Tools Classification
311(1)
Using Third-Party Tools
311(1)
Verifying the Compiler
312(6)
ADC's and BCI's Compiler Verification
318(3)
References
321(2)
21 Conclusion
323(4)
Section 7: Appendices
A Goal Structuring Notation
327(6)
Background
327(1)
Example
328(2)
Eliminative Argumentation
330(1)
GSN or BBN?
331(1)
References
331(2)
B Bayesian Belief Networks
333(12)
Frequentists and Bayesians
333(1)
Prior Probabilities
334(1)
Bayes' Theorem
335(1)
A Bayesian Example
336(1)
What Do the Arrows Mean in a BBN?
337(1)
BBNs in Safety Case Arguments
338(3)
BBNs in Fault Trees
341(1)
BBN or GSN for a Safety Case?
342(2)
References
344(1)
C Calculating (2+3)+4
345(4)
Introduction
345(1)
Errors to be Detected
345(1)
Calculation
346(3)
D Notations
349(8)
General Symbols
349(1)
Pi and Ip
350(1)
The Structure Function
351(1)
Components in Parallel and Series
351(1)
Temporal Logic
352(3)
Vector Bases
355(1)
References
356(1)
Index 357
Chris is a programmer at QNX Software Systems with some 40 years of software development experience. His specialty is



"Sufficiently Dependable Software," which is software that meets its dependability requirements with the minimum development effort



and risk. In particular, he works with software for safety-critical systems that must meet the requirements of international safety



standards such as IEC61508, ISO26262, EN50128 and IEC62304.