Upload
elfreda-barker
View
213
Download
1
Embed Size (px)
Citation preview
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit1
Vehicle ATCVehicle ATCSafety CertificationSafety Certification
MMFMonitor Mode Field Release
August 28, 2001
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit2
Presentation Objective
To demonstrate that the required analysis and testing has been completed to ensure safe operation of the VATC system with the design modified for Monitor Mode Field (MMF) operation
To guide the CPUC to through the suite of Certification Documents provided as evidence of safety compliance
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit3
Agenda Laying the Groundwork
Safety Assurance Concepts(How can we claim it’s safe?)– For the Baseline Design– For the MMF Release
Verification and Validation Process/ Documentation (What did we do to prove it’s safe?)
Summary
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit4
Agenda Laying the Groundwork
Safety Assurance Concepts(How can we claim it’s safe?)– For the Baseline Design– For the MMF Release
Verification and Validation Process/ Documentation (What did we do to prove it’s safe?)
Summary
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit5
Laying the Groundwork
-What is the VATC?-VATC Modifications for the AATC System-What are the MMF and CMF Releases?-Overview of the Documentation Package
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit6
What is the VATC?Central
StationTrain Control
Vehicle ATC
Other Vehicle Subsystems
Trackside Train Control
OnboardEquipment
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit7
What is the VATC?
Computer
Inputs
Outputs
VATC
Station Train Control
Vehicle Sensors Other VehicleSubsystems
Station TrainControl
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit8
What is the VATC?
SafetyCritical
Functions
Non-SafetyCritical
Functions
Implemented with design techniques that mitigate hazardousoperation
Implementedwith specialcare
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit9
What is the VATC?Vital Door
Control
Vital Braking Control
Non-Vital Motion Control
Non-VitalCommunications
Track Circuits
TracksideCoverboards
OnboardSensors
Trackside Coverboards
OnboardPropulsion/ Brake Controller
Vehicle DoorRelays
Vital control alwaysOver-rules non-vital
VATC
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit10
Laying the Groundwork
-What is the VATC?-VATC Modifications for the AATC System-What are the MMF and CMF Releases?-Overview of the Documentation Package
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit11
VATC Is A Legacy System
Therfore for the modified system:– Requirement to achieve a MTBH of 250,000
years per unit to apply
– Assumptions of original design still hold
– All functional requirements of the baseline system still in place
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit12
VATC Modifications for the AATC System
Existing WaysideTrain Control
VehicleDoor Relays
OnboardPropulsion/ Brake Controller
BaselineFunctions
ExistingOnboardSensors
AATCRadio/ATIC
NewFunctions
AATC controlsOver-ride baselinecontrols
AATC SpeedCommands
VehicleStatus
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit13
VATC Modifications for the AATC System
Existing WaysideTrain Control
VehicleDoor Relays
OnboardPropulsion/ Brake Controller
BaselineFunctions
ExistingOnboardSensors
AATCRadio/ATIC
NewFunctions
AATC controlsOver-ride baselinecontrols
AATC SpeedCommands
VehicleStatusNO HARDWARE CHANGES
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit14
VATC S/W Modifications for the AATC SystemExisting Wayside
Train Control
AATCRadio/ATIC
VehicleDoor Relays
OnboardPropulsion/ Brake Controller
BaselineFunctions
ExistingOnboardSensors
NewFunctions
AATC controlsOver-ride baselinecontrols
AATC SpeedCommands
VehicleStatus
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit15
Laying the Groundwork
-What is the VATC?-VATC Modifications for the AATC System-What are the MMF and CMF Releases?-Overview of the Documentation Package
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit16
The MMF Release
Existing WaysideTrain Control
AATCRadio/ATIC
VehicleDoor Relays
OnboardPropulsion/ Brake Controller
BaselineFunctions
ExistingOnboardSensors
NewFunctions
AATC controlsOver-ride baselinecontrols
AATC SpeedCommands
VehicleStatus
Safety Certified
Implemented but not certified
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit17
The CMF Release
Existing WaysideTrain Control
AATCRadio/ATIC
VehicleDoor Relays
OnboardPropulsion/ Brake Controller
BaselineFunctions
ExistingOnboardSensors
NewFunctions
AATC controlsover-ride baselinecontrols
AATC SpeedCommands
VehicleStatus
Safety Certified
Implemented but not certified
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit18
Laying the Groundwork
-What is the VATC?-VATC Modifications for the AATC System-What are the MMF and CMF Releases?-Overview of the Documentation Package
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit19
Documentation Package Overview
Notice of Intent to OperateMemo from TSD to BART SafetyLetter from Harmon to BART
Verification of Test Readiness
VATC Equipment Configuration SheetVATC S/W, Module Software Configuration
Safety Certification Plan Document List
LETTERS
CERTIFICATE
CONFIG.CONTROL
SCP REQM’TS
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit20
4. Safety-Related Tests Verification
5. Hazard Identification and Resolution Verification
Attachments
1. Design Criteria Conformance
2. Specification Conformance Verification
3. Personnel Training Conformance Verification
4. Safety-Related Tests Verification
5. Hazard Identification and Resolution Verification
CERTIFIABLE ELEMENTS
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit21
Elements 4 and 5
Element 4 VATC Subsystem V&V PlanVATC Modifications V&V Report
Element 5QA Plan and ReportSafety Assurance ConceptFault Tree AnalysisSafety Assurance Concept Implementation
AnalysisFMEA’sAudit Reports
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit22
Agenda Laying the Groundwork
Safety Assurance Concepts(How can we claim it’s safe?)– For the Baseline Design– For the MMF Release
Verification and Validation Process/ Documentation (What did we do to prove it’s safe?)
Summary
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit23
Safety Assurance Concepts
-What do we mean by a Safety Assurance Concept?-SAC’s for the baseline system-SAC’s for the modified system-Comparing the two
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit24
Safety Assurance Concepts
-What do we mean by a Safety Assurance Concept?-SAC’s for the baseline system-SAC’s for the modified system-Comparing the two
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit25
A Basic Truism For All
Man-Made Systems
ThingsFail
HumansErr
MAN-MADE SYSTEM
CORRUPT OPERATIONS
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit26
What Do We Mean By a Safety Case?
ThingsFail
HumansErr
Safety Case
HUMAN LIFE WILL NOT BE ENDANGERED
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit27
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN TRANSLATION
IMPLEMENTATION
EPROMBURNER
Intel8086
ELEMENTS ofDESIGN
OPERATION
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit28
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN
ERROR
TRANSLATIONERROR
RUN TIMEERROR
EPROMBURNER
Intel8086
OPPORTUNITIES forCORRUPTION
IMPLEMENTATION ERROR
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit29
Safety Assurance Concepts Required For the VATC Design Design Error
– How do we provide assurances that errors are not made during the creative design phase?
Translation Error– How do we ensure errors are not made during the
systematic translation process? Implementation Error
– How do we protect against errors made while transferring the implementation to the firmware?
Run Time Error– How do we assure that hardware failures and errors in the
non-vital code do not lead to hazardous operation?
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit30
Safety Assurance Concepts
-What do we mean by a Safety Assurance Concept?-SAC’s for the baseline system-SAC’s for the modified system-Comparing the two
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit31
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN
ERROR
TRANSLATIONERROR
IMPLEMENTATION ERROR
RUN TIMEERROR
EPROMBURNER
Intel8086
Safety Assurance Concepts- Baseline System-
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit32
SAC For S/W Design Errors- Baseline - Highly modularized software segregating safety critical functions from
non-safety critical functions Progressively structured software development process with
disciplined verification of each step of the process
– Westinghouse claimed that all prudent and practical steps had been taken
Westinghouse claim: all prudent and practical steps taken to reduce risk of software errors causing hazard to an acceptable level
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit33
Modular Software Development
Module1
Module2
Module3
Module4
RequirementsBook
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit34
Modular Software Development
Module1
Module2
Module3
Module4
RequirementsBook
Non-vital
Vital
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit35
Execution Flow of Modular Software
Module1
Module2
Module3
Module4
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit36
Monolithic Software Development
RequirementsBook
ONE LARGESOFTWAREPROGRAM
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit37
Execution Flowof Monolithic Software
ONE LARGE SOFTWARE PROGRAM
GO TO
GO TO
GOTO
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit38
SMRS Pseudo Code
RequirementsBook
Progressively Structured Design Validation
PDR Document
PreliminaryDesign Review
Software Design Review
Design WalkThroughs
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit39
SAC for S/W Design Errors-Westinghouse Claim-By modular design and a progressively
structured review process, all prudent and practical steps have been taken to eliminate software errors
THEREFOREProbability of the existence of an unsafe software design error is assumed to be zero
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit40
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN
ERROR
TRANSLATIONERROR
IMPLEMENTATION ERROR
RUN TIMEERROR
EPROMBURNER
Intel8086
Safety Assurance Concepts- Baseline System-
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit41
SAC for S/W Translation Errors
Use of Assembly Language to reduce the risk of COTS Development Tool bugs
Coding Standards developed and used during translation from Pseudo Code to Executable Code
Unit testing on all vital software modules
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit42
Assembly Language vs. Higher Order Language
1011100011101101110011001110000110101000
MOV AX, R2
CMP AX, 16
JPE R3
IF X > Y THEN GO TO LABEL
High OrderLanguage
AssemblyLanguage
MachineLanguage
Compiler Assembler
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit43
Coding Standards
Guidelines for writing software modules Ensures uniformity across software modules Avoids common coding pitfalls
– Applies to:» SMRS» Pseudo Code» Source Code
;-----------------------------------------------; Check if clock time MSB is ready to roll over.; (Greater than or equal to 0127h);-----------------------------------------------if_2: cmp CX, L622A_MAX_CLOCK_TIME_MSB jae else_2then_2:;-----------------------------------------------; Clock time MSB is not ready to roll over.; If LSB just rolled over, simply increment; the clock time MSB.;-----------------------------------------------if_3: cmp BX, 0 jne endif_3then_3: inc CXendif_3: jmp short endif_2else_2:
Separate standards for each
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit44
Unit Testing Performed on individual
vital software modules that are either new or modified
Test results verified that Min/Max/Zero input values produced expected results
Test results verified that all branches in the module were executed
Software Module
All possible Inputs
All Outputs are CorrectAll Branches Checked
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit45
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN
ERROR
TRANSLATIONERROR
IMPLEMENTATION ERROR
RUN TIMEERROR
EPROMBURNER
Intel8086
Safety Assurance Concepts- Baseline System-
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit46
Implementation
Address Data
00010000
000200030004000500060007000800090010001100120013001400150016
XXXX
0010 11110110 11000101 1100
0001 1010
0111 0000
0010 11110110 11000101 11000001 1010
0111 0000
0000 0000
0101 01011111 0000
0101 01011111 1111
1111 00000001 1101
0011 1111
HexCode
EPROM
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit47
SAC for Implementation Errors Double Storage of Vital Program Code
Checksum stored with program code
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit48
Double Storage of Vital Program Code
If glitch occurs while “burning” one locations, it is unlikely that the same glitch willoccur while burning the same information in another location
Vital Program
Non-Vital Program
Copy 1
Copy 2
One Copy
EPROM
Faulty EPROM hardware AND/OR faulty software tool will probably not be faultyin the same way at two different memory locations.
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit49
Checksum on Program Code
Address Data
00010000
000200030004000500060007000800090010001100120013001400150016
XXXX
0010 11110110 11000101 1100
0001 1010
0111 0000
0010 11110110 11000101 11000001 1010
0111 0000
0000 0000
0101 01011111 0000
0101 01011111 1111
1111 00000001 1101
0011 1111
ADD
CHECKSUM
Then during programoperation, sum contentsof memory and comparewith checksum.
Any mismatch interpretedas program code fault.
EPROM
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit50
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN
ERROR
TRANSLATIONERROR
IMPLEMENTATION ERROR
RUN TIMEERROR
EPROMBURNER
Intel8086
Safety Assurance Concepts- Baseline System-
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit51
Run Time Errors
PROCESSING HARDWARE
Computer System
InputHardware
sensors antennas receivers
etc.
OutputHardware
driversamplifiers
transmittersEtc.
Vital Software
Non-Vital Software
Software design must protect against hazardous operation in the presence of:
Hardware failures
Corrupt processor behavior caused by errors in the non-vital software
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit52
PROTECTION FROM HARDWARE FAILURES-Electrical/Electronic Systems-
System Function
Input Output
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit53
Safety Critical Systems
Must not fail and output unsafe result.
Example: Go when you should stop.
OK to say stop when you should go
Contract Requirements = 1 in 250,000 years.
Safety CriticalFunction
Input Output
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit54
Before Computers
Input OutputSafety CriticalFunctions
(10’s of components)
- Functions were simple
- Circuit responses to component failures could be analyzed to verify the absence of unsafe failure modes
FAILSAFE
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit55
NOW WITH COMPUTERS
Input OutputSafety CriticalFunction
(Millions of components)
- More complex functions
- Impossible to analyze as before
- Other techniques needed:-Numerical Assurance-Checked Redundancy-Functional Self Tests
Applicable to VATC
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit56
Checked Redundancy SAC to Protect Against Run-Time Errors
Redundant implementation of critical functions.
Discrepant results not allowed to reach output
System shut down if failure persists
Probabilities calculated to determine MTBH
Input OutputRedundant
Implementation
PeriodicallyChecked
Redundant Implementation
Compare
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit57
Input OutputRedundant
Implementation
PeriodicallyChecked
Redundant Implementation
Compare
Channel IndependenceA and B must have no common mode failure mechanisms
Channel IntegrityA and B must be correctly implemented
Channel InspectionA and B must be tested periodically
The Three I’s of a Successful Checked Redundant Design
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit58
Input OutputRedundant
Implementation
PeriodicallyChecked
Redundant Implementation
Compare
Mean Time Between Hazard
Probability of unsafe failure (Pus) occurring during mission time (for VATC = 1 year)
Then MTBH is the reciprocal of Pus
Pus is very much a function of hardware failure rates, the check interval, and the effectiveness of the check
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit59
Input OutputRedundant
Implementation
PeriodicallyChecked
Redundant Implementation
Compare
Mean Time Between Hazard
Probability of unsafe failure (Pus) occurring during mission time (for VATC = 1 year)
Then MTBH is the reciprocal of Pus
Pus is very much a function of failure rates,the check interval and the effectiveness of the check
Software V&V
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit60
Test Intervals
Initialization Tests – Performed upon power up
Operational Tests – Performed during operation
Safety Certification Tests – Performed during Periodic Maintenance
TIMELINE
Safety Certification – every 365 days
Initialization - every 60 hrs
Operational–10 s to 1.2 hrs
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit61
Test Methodology
Initialization Tests – Performed upon power up
Self Testing of all non-failsafe hardware components
Operational Tests – Performed during operation
Self Testing of non-failsafe hardware components (also referred to as Interleaved Tests)
Cross Comparison of results from redundant channels
Safety Certification Tests – Performed during Periodic Maintenance
Testing with special test equipment
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit62
SerialI/O
RAM
WatchdogTimer *
ParallelI/O
ROMInterrupt
Controllers
ParallelI/O
CPU
SerialI/O
RAMROMInterrupt
Controllers
ParallelI/O
CPU
WatchdogTimer *
ParallelI/O
InputCircuits
InputCircuits
Test Signal
Test Signal
Failsafe
Failsafe
Failsafe
Sensors
*
*
*
VATC Simplified Block Diagram
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit63
100 %
Test Effectiveness/CoverageInitialization Tests – Performed upon power up
Self Testing of all non-failsafe hardware components
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit64
Initialization Test Coverage
SerialI/O
RAM
WatchdogTimer *
ParallelI/O
ROMInterrupt
Controllers
ParallelI/OCPU
SerialI/O
RAMROMInterrupt
Controllers
ParallelI/OCPU
WatchdogTimer *
ParallelI/O
InputCircuits
InputCircuits
Test Signal
Test Signal
Failsafe
Failsafe
Failsafe
Sensors
*
*
*
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit65
100 %
100 %
Test Effectiveness/CoverageInitialization Tests – Performed upon power up
Operational Tests – Performed during operation
Self Testing of all non-failsafe hardware components
Self Testing of non-failsafe hardware components (also referred to as Interleaved Tests)
Cross Comparison of results from redundant channels
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit66
Operational Test Coverage
SerialI/O
RAM
WatchdogTimer *
ParallelI/O
ROMInterrupt
Controllers
ParallelI/OCPU
SerialI/O
RAMROMInterrupt
Controllers
ParallelI/OCPU
WatchdogTimer *
ParallelI/O
InputCircuits
InputCircuits
Test Signal
Test Signal
Failsafe
Failsafe
Failsafe
Sensors
*
*
*
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit67
100 %
100 %
100 %
Test Effectiveness/Coverage
Initialization Tests – Performed upon power up
Operational Tests – Performed during operation
Safety Certification Tests – Performed during Periodic Maintenance
Self Testing of all non-failsafe hardware components
Self Testing of non-failsafe hardware components (also referred to as Interleaved Tests)
Cross Comparison of results from redundant channels
Testing with special test equipment of vitaland non-vital hardware components
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit68
Safety Certification Test Coverage
SerialI/O
RAM
WatchdogTimer *
ParallelI/O
ROMInterrupt
Controllers
ParallelI/OCPU
SerialI/O
RAMROMInterrupt
Controllers
ParallelI/OCPU
WatchdogTimer *
ParallelI/O
InputCircuits
InputCircuits
Test Signal
Test Signal
Failsafe
Failsafe
Failsafe
Sensors
*
*
*
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit69
Hardware Testing
Input Circuits
Serial I/O
Parallel Inputs
CPU
Interrupt Controller
Watchdog Timer
Exercised with periodic test signal
Use of checksums and CRC codes
Exercised with periodic test signal
Check-in/out tests and watchdog timer
Failsafe – no testing required
Instruction set tests and data cross-comparison
Parallel Outputs Periodic test with redundant feed back
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit70
Hardware Testing (cont’d)
ROM Use of checksums
RAM Double storage of vital data
Disabling of interrupts (except for NMI)during execution of vital modules
Disabling of interrupts (except for NMI)during execution of vital modules
No program calls from vital modules
Check-in/check out test
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit71
Safety Assurance Concepts
-What do we mean by a Safety Assurance Concept?-SAC’s for the baseline system-SAC’s for the modified system-Comparing the two
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit72
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN
ERROR
TRANSLATIONERROR
IMPLEMENTATION ERROR
RUN TIMEERROR
EPROMBURNER
Intel8086
Safety Assurance Concepts- Baseline System-
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit73
SAC for S/W Design Errors-Westinghouse Claim-By modular design and a progressively
structured review process, all prudent and practical steps have been taken to eliminate software errors
THEREFORE
Probability of the existence of an unsafe software design error is assumed to be zero
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit74
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN
ERROR
TRANSLATIONERROR
IMPLEMENTATION ERROR
RUN TIMEERROR
EPROMBURNER
Intel8086
Safety Assurance Concepts- Baseline System-
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit75
SAC for S/W Translation Errors
Use of Assembly Language to reduce the risk of COTS Development Tool bugs
Coding Standards developed and used during translation from Pseudo Code to Executable Code
Unit testing on all vital software modulesSAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit76
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN
ERROR
TRANSLATIONERROR
IMPLEMENTATION ERROR
RUN TIMEERROR
EPROMBURNER
Intel8086
Safety Assurance Concepts- Baseline System-
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit77
SAC for Implementation Errors
Double Storage of Vital Program Code
Checksum stored with program code
MODIFIED
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit78
Double Storage of Vital Program Code-Baseline
Faulty EPROM hardware AND/OR faulty software tool will probably not be faultyin the same way at two different memory locations.
If glitch occurs while “burning” one locations, it is unlikely that the same glitch willoccur while burning the same information in another location
Vital Program
Non-Vital Program
Copy 1
Copy 2
One Copy
EPROM
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit79
Double Assembly of Program Code - Modified Release -
Vital And
Non-VitalProgram
Code
Copy 1
Copy 2
COMPARE
COTS SET 1
COTS SET 2
USE
HexCode
HexCode
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit80
Checksum on Program Code
Address Data
00010000
000200030004000500060007000800090010001100120013001400150016
XXXX
0010 11110110 11000101 1100
0001 1010
0111 0000
0010 11110110 11000101 11000001 1010
0111 0000
0000 0000
0101 01011111 0000
0101 01011111 1111
1111 00000001 1101
0011 1111
ADD
CHECKSUM
Then during programoperation, sum contentsof memory and comparewith checksum.
Any mismatch interpretedas program code fault.
EPROM
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit81
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN
ERROR
TRANSLATIONERROR
IMPLEMENTATION ERROR
RUN TIMEERROR
EPROMBURNER
Intel8086
Safety Assurance Concepts- Baseline System-
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit82
Run Time Errors
PROCESSING HARDWARE
Computer System
InputHardware
sensors antennas receivers
etc.
OutputHardware
driversamplifiers
transmittersEtc.
Vital Software
Non-Vital Software
Software design must protect against hazardous operation in the presence of:
Hardware failures
Corrupt processor behavior caused by errors in the non-vital software
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit83
Checked Redundancy SAC to Protect Against Run-Time Errors
Redundant implementation of critical functions.
Detected discrepancies blocked from output
System shut down if failure persists
Probabilities calculated to determine MTBH
Input OutputRedundant
Implementation
PeriodicallyChecked
Redundant Implementation
Compare
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit84
Input OutputRedundant
Implementation
PeriodicallyChecked
Redundant Implementation
Compare
Channel IndependenceA and B must have no common mode failure mechanisms
Channel IntegrityA and B must be correctly implemented
Channel InspectionA and B must be tested periodically
The Three I’s of a Successful Checked Redundant Design
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit85
Input OutputRedundant
Implementation
PeriodicallyChecked
Redundant Implementation
Compare
Mean Time Between Hazard
Probability of unsafe failure (Pus) occurring during mission time (for VATC = 1 year)
Then MTBH is the reciprocal of Pus
Pus is very much a function of the check interval and the effectiveness of the check
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit86
Test Intervals FrequenciesInitialization Tests – Performed upon power up
Operational Tests – Performed during operation
Safety Certification Tests – Performed during Periodic Maintenance
TIMELINE
Safety Certification – every 365 days
Initialization - every 60 hrs
Operational–10 s to 1.2 hrs
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit87
Test Methodology
Initialization Tests – Performed upon power up
Operational Tests – Performed during operation
Safety Certification Tests – Performed during Periodic Maintenance
Self Testing of all non-failsafe hardware components
Self Testing of non-failsafe hardware components (also referred to as Interleaved Tests)
Cross Comparison of results from redundant channels
Testing with special test equipment
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit88
SerialI/O
RAM
WatchdogTimer *
ParallelI/O
ROMInterrupt
Controllers
ParallelI/O
CPU
SerialI/O
RAMROMInterrupt
Controllers
ParallelI/O
CPU
WatchdogTimer *
ParallelI/O
InputCircuits
InputCircuits
Test Signal
Test Signal
Failsafe
Failsafe
Failsafe
Sensors
*
*
*
VATC Simplified Block Diagram
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit89
Hardware Testing
Input Circuits
Serial I/O
Parallel Inputs
CPU
Interrupt Controller
Watchdog Timer
Exercised with periodic test signal
Use of checksums and CRC codes
Exercised with periodic test signal
Check-in/out tests and watchdog timer
Failsafe – no testing required
Instruction set tests and data cross-comparison
Parallel Outputs Periodic test with redundant feed backSAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit90
Hardware Testing (cont’d)
ROM Use of checksums
RAM Double storage of vital data
Disabling of interrupts (except for NMI)during execution of vital modules
No program calls from vital modules
Check-in/check out test
SAME
MODIFIED
SAME
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit91
Safety Assurance Concepts
-What do we mean by a Safety Assurance Concept?-SAC’s for the baseline system-SAC’s for the modified system-Comparing the two
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit92
Comparing the Baseline to the Modified SAC’sProtection from:
Design Error Same NA
Translation Error Same NA
Implementation Error Modified Baseline: doubleStorage of vital code
Modified: double Compiling of all code
Run Time Error Modified RAM data Protection modified
Comparison Difference
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit93
Agenda Laying the Groundwork
Safety Assurance Concepts(How can we claim it’s safe?)– For the Baseline Design– For the MMF Release
Verification and Validation Process/ Documentation (What did we do to prove it’s safe?)
Summary
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit94
Safety Confirmation
VALIDATIONWas it designedto do the right thing?
VERIFICATIONWas the design translated/implemented correctly?
High Level Requirements
Software RequirementsPseudo Code
Hex CodeEPROM
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit95
MMF Software Release
Existing WaysideTrain Control
AATCRadio/ATIC
VehicleDoor Relays
OnboardPropulsion/ Brake Controller
BaselineFunctions
ExistingOnboardSensors
NewFunctions
AATC controlsOver-ride baselinecontrols
AATC SpeedCommands
VehicleStatus
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit96
MMF Software V&V Objectives
Existing WaysideTrain Control
AATCRadio/ATIC
VehicleDoor Relays
OnboardPropulsion/ Brake Controller
BaselineFunctions
ExistingOnboardSensors
NewFunctions
AATC controlsOver-ride baselinecontrols
AATC SpeedCommands
VehicleStatus
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit97
MMF Software V&V Objectives
Existing WaysideTrain Control
AATCRadio/ATIC
VehicleDoor Relays
OnboardPropulsion/ Brake Controller
BaselineFunctions
ExistingOnboardSensors
NewFunctions
AATC controlsOver-ride baselinecontrols
AATC SpeedCommands
VehicleStatus
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit98
MMF Software V&V Objectives
Existing WaysideTrain Control
AATCRadio/ATIC
VehicleDoor Relays
OnboardPropulsion/ Brake Controller
BaselineFunctions
ExistingOnboardSensors
NewFunctions
AATC controlsOver-ride baselinecontrols
AATC SpeedCommands
VehicleStatus
Hardware Testing
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit99
MMF Release
Unsafe Condition
Baseline functionsImplemented incorrectly
New AATC FunctionsImplemented incorrectly
Functional logicImplementedincorrectly
H/W CheckingCode implemented
incorrectly
Baseline functiionsModified incorrectly
Baseline functionsNot isolated from
New functions
CMF Release
High Level Fault Tree Structure
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit100
Element 4 and 5 Documentation
Element 4 VATC Subsystem V&V PlanVATC Modifications V&V Report
Element 5QA Plan and ReportSafety Assurance ConceptFault Tree AnalysisSafety Assurance Concept Implementation
AnalysisFMEA’sAudit Reports
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit101
AATC Safety Analysis/Reports
SAFETY ASSURANCE CONCEPTS (SAC)
Document explaining what features of the design ensures that hazards are adequately mitigated.
SAFETY ASSURANCE CONCEPTS IMPLEMENTATION (SACI)
Analysis confirming that SAC are implemented
FAULT TREE ANALYSIS (FTA)
Graphic analysis identifying which functions are safety critical
FAILURE MODES AND EFFECTS ANALYSIS (FMEA)
Circuit analysis confirming failsafe behavior of critical circuits
S/W V&V REPORT
Requirements tracing, V&V records
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit102
Some Key Westinghouse Analysis Documents
Baseline Fault Tree Analysis
Identifies combinationsof failures that can leadto unsafe operation
System Hazard Analysis
(SHA)
Computes probabilityof unsafe combinationoccurring and ultimatelythe system MTBH
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit103
The S/W Analysis Process
BaselineFTA
MMF FTA
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit104
BART ATCUnsafe
Condition
Train speed greater thanCommanded speed without
Adequate braking
Doors commanded to openIn unsafe manner
External BRK3Failure
Failure to respondTo brake request Generated by pro-cessing kernel
Brake requestNot generated byProcessing kernel
Baseline Fault Tree Structure
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit105
BART ATCUnsafe
Condition
Train speed greater thanCommanded speed without
Adequate braking
Doors commanded to openIn unsafe manner
External BRK3Failure
Failure to respondTo brake request Generated by pro-cessingkernel
Brake requestNot generated byProcessing kernel
BART ATCUnsafe
Condition
New AATCFunctions
Tree Structure Modified for AATC
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit106
Baseline Construct Representing Checked Redundancy
Hazard Event
Hazard Event HazardEvent
LeaderHazardous
Event
FollowerHazardous
Event
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit107
Fault Conditions for Modified Release
Hazard Event
Hazard EventMechanism requiringLeader & Follower
modified
LeaderHazardous
Event
FollowerHazardous
Event
Hazard Event
UnintendedOperation of S/WGenerates Hazard
Z.1
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit108
The S/W Analysis Process
BaselineFTA
MMF FTA
List of BasicEvents
SACI
MTBHSHA
SAC
List of Assumptions
List of Requirements
Corrected MTBH
SMRS
AssemblyCode
PseudoCode
FMEA
List of BasicEvents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit109
The S/W Analysis Process
BaselineFTA
MMF FTA
List of BasicEvents SACI
SHA MTBH
List of Assumptions
List of Requirements
SMRS
AssemblyCode
PseudoCode
Corrected MTBH
SAC
FMEA
ATTACHMENT 5.4ATTACHMENT 5.5, SECTIONS 3 & 4ATTACHMENT 5.5, APP. B
ATTACHMENTS 5.6 & 5.7
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit111
What is the “Z-Branch”
Certain aspects of all vital computer and software implementations require V&V regardless of the specific application.
These common “problem areas” include:– RAM/ROM– Program Pointer– The Stack– Interrupts– Pointer and Index Variables
These are describedin the VATC Safety Assurance Concepts document, Section 2.3.5
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit112
What are these “Problem Areas?”
Computer
Inputs
Outputs
VATC
1) Things that can happen when the computer is running
Divided into Two Types:
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit113
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
ROM
Vital Non-Vital
EPROMBURNER
What are these “Problem Areas?”
2) Things that can happen during software development
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit114
What are these problem areas?
RAM and ROM Read Only Memory (ROM) contains permanent,
non-changing data Random Access Memory (RAM) contains dynamic,
changing data What can go wrong:
– Hardware failures can corrupt memory contents
– Software errors can corrupt memory contents
EPROM
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit115
What can go wrong? - Hardware glitch can alter the program pointer - Software errors can corrupt the pointer
What are these problem areas?
The Program Pointer Keeps track of which software instruction to
execute next
Module D Module B
Module A
Module C
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit116
What are these problem areas?
The Stack Stack Pointer
– Determines where next data will be read from or written to stack memory
Stack Memory Contents– An area in RAM
used to temporarily store data
Stack Pointer
Stack Memory
(256 bytes) 1
2
3
4
5
256
255
:
:
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit117
What are these problem areas?
The Stack What can go wrong?
– Hardware glitch can corrupt the stack pointer or the contents of stack memory
– Software error can corrupt the stack pointer or the contents of stack memory
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit118
What are these problem areas?
Interrupt Processing
Module F
Module H
Module E
Module G
Module D Module B
Module A
Module C
Main loop with interrupting processes
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit119
What are these problem areas?
Interrupt Processing
Module D Module B
Module A
Module C
Main Loop
The Main Loop executes continuously as fast as possible
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit120
What are these problem areas?
Interrupt Processing
Module D Module B
Module A
Module C
Module F
Module H
Module E
Module G
Modules E & F stop the main loop from processing until they are completed
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit121
What are these problem areas?
Interrupt Processing
Module F
Module H
Module E
Module G
Module D Module B
Module A
Module C
What can go wrong?– Software errors can alter interrupt frequency– Software errors can prevent interrupts from being
serviced in a timely manner (latency)
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit122
What are these problem areas?
Pointers and Indexes Allows access to any part of memory
:
:
125
124
123
122
121
123
:
:
:
:
16
7
12
125
89
:
:
ADDRESS CONTENTS
12
:
:
14
13
12
11
10
:
:
:
:
105
13
250
127
65
:
:
ADDRESS CONTENTS
250
POINTERVARIABLE
RETURNVALUE
MEMORY MEMORY
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit123
What have we done to identify and protect these “Problem
Areas?”
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit124
UnintendedSoftware O peration
Causes Hazard
S/W Design ErrorResults in
HazardousO peration
F irm wareIm plem entationError Results in
Hazard
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l Log icCorrupts V ita lO peration and
Causes Hazard
O ther V ita l Log icAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofS tack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Log ic
9
M odificationsAffect Resultsof V ita l Log ic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Part 1 Part 2
VATC FTA Z-Branch
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit125
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #8Vital function implemented incorrectly.
FTA Z-Branch
Part 1
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit126
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #8Vital function implemented incorrectly.
FTA Z-Branch
Part 1
WE VERIFIED THAT:
-The function was identified as “vital” (SAC Implementation Analysis, Appendix C.3)
-The function was properly unit tested (SAC Implementation Analysis, Appendix C.3, V&V Report, Section 2)
-A code review was performed on the function (SAC Implementation Analysis, Appendix C.3, and V&V Report, Section 9)
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit127
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #8Vital function implemented incorrectly.
FTA Z-Branch
Part 1
Identification of Vital Software Modules
- The SAC Implementation Analysis examined each basic event of the fault tree and identified where in the VATC software associated functions were implemented
- These vital software modules are listed in Appendix C.3 of the SAC Implementation Analysis
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit128
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #8Vital function implemented incorrectly.
FTA Z-Branch
Part 1Confirmation of Unit Testing
- Inspection of software module unit test results verified that modified vital modules were properly tested
- Unit testing isolates each module and confirms that the proper outputs result from given inputs
- Unit test results are in the V&V Report, Section 2
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit129
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #8Vital function implemented incorrectly.
FTA Z-Branch
Part 1
Confirmation of Code Review
- Inspection of code review results verified that modified vital modules were properly reviewed
- Code reviews ensure that vital modules are implemented correctly
- Code review results are in the V&V Report, Section 9
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit130
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #9Software error in one vital function prevents or alters execution of another vital function.
FTA Z-Branch
Part 1
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit131
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
WE VERIFIED THAT:
-The vital function contains check-in and check-out runtime tests (SAC Implementation Analysis, Appendix C.3)
-Interrupt timing and latency tests were performed on the interrupt string (SAC Implementation Analysis, Appendix D)
Basic Event #9Software error in one vital function prevents or alters execution of another vital function.
FTA Z-Branch
Part 1
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit132
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #9Software error in one vital function prevents or alters execution of another vital function.
FTA Z-Branch
Part 1
Check-In & Check-Out Runtime Tests
-Check-In/Out runtime tests detect out-of-sequence program execution
- Inspection of software source code verified that vital modules include these tests
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit133
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #9Software error in one vital function prevents or alters execution of another vital function.
FTA Z-Branch
Part 1
Interrupt Timing Tests
- Confirm correct frequency
- Confirm correct latency (interrupt service delay)
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit134
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #10Software error in one vital function alters the results of another vital function.
FTA Z-Branch
Part 1
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit135
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #10Software error in one vital function alters the results of another vital function.
WE VERIFIED THAT:
-Only the correct functions modify the contents of critical variables (SAC Implementation Analysis, Appendix C.4)
-All memory writes using pointers or indexes are within their defined array bounds (SAC Implementation Analysis, Appendix C.5)
-All stack operations are proper (SAC Implementation Analysis, Appendix C.6)
FTA Z-Branch
Part 1
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit136
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #10Software error in one vital function alters the results of another vital function.
FTA Z-Branch
Part 1There are only three ways a software module can alter the results of another software module:
- Writing to memory using a critical variable name
- Writing to memory using a pointer or index
- Altering the stack in an improper way
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit137
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #10Software error in one vital function alters the results of another vital function.
FTA Z-Branch
Part 1 Only Correct Functions Update Critical Variables
- Critical variables were identified as any variable used by a vital module
- All software modules were searched for each identified critical variable name
- Each occurrence of a critical variable was examined to ensure that its usage was correct as per design
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit138
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #10Software error in one vital function alters the results of another vital function.
FTA Z-Branch
Part 1Pointer and Index Variables are Used Correctly when Writing to Memory
- All memory writes using pointers or indexes were identified
- Simple software was inspected to ensure memory writes using pointers/indexes are always within proper bounds
- Complex software had runtime bounds check added just before memory write occurs
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit139
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #10Software error in one vital function alters the results of another vital function.
FTA Z-Branch
Part 1
Stack Operations are Correct
- Runtime stack pointer range check was implemented
- All software instructions which alter the stack (change the stack pointer, push data on the stack, pop data off the stack) were identified and examined to ensure that they were correctly implemented
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit140
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #11Software error causes corruption of critical variable data during interrupt processing.
FTA Z-Branch
Part 1
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit141
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #11Software error causes corruption of critical variable data during interrupt processing.
FTA Z-Branch
Part 1
WE VERIFIED THAT:
-Only the correct functions modify the contents of critical variables (SAC Implementation Analysis, Appendix C.4) *SAME*
-All memory writes using pointers or indexes are within their defined array bounds (SAC Implementation Analysis, Appendix C.5) *SAME*
-All stack operations are proper (SAC Implementation Analysis, Appendix C.6) *SAME*
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit142
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #12Software error causes corruption of critical variable data between interrupt calls.
FTA Z-Branch
Part 1
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit143
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #12Software error causes corruption of critical variable data between interrupt calls.
FTA Z-Branch
Part 1
WE VERIFIED THAT:
-Only the correct functions modify the contents of critical variables (SAC Implementation Analysis, Appendix C.4) *SAME*
-All memory writes using pointers or indexes are within their defined array bounds (SAC Implementation Analysis, Appendix C.5) *SAME*
-All stack operations are proper (SAC Implementation Analysis, Appendix C.6) *SAME*
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit144
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #13Software error causes corruption of stack, which causes hazard.
FTA Z-Branch
Part 1
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit145
S/W Design ErrorResults in
HazardousO peration
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l LogicCorrupts V ita lO peration and
Causes Hazard
O ther V ita l LogicAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofStack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Logic
9
M odificationsAffect Resultsof V ita l Logic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Basic Event #13Software error causes corruption of stack, which causes hazard.
WE VERIFIED THAT:
-Added runtime stack pointer range check (SAC Implementation Analysis, Appendix C.6) *SAME*
-All stack operations are proper (SAC Implementation Analysis, Appendix C.6) *SAME*
FTA Z-Branch
Part 1
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit146
UnintendedSoftware O peration
Causes Hazard
S/W Design ErrorResults in
HazardousO peration
F irm wareIm plem entationError Results in
Hazard
Vita l Logic M odifiedand Introduces
Hazard
Non-V ita l Log icCorrupts V ita lO peration and
Causes Hazard
O ther V ita l Log icAffects Execution or
Results o f V ita lLogic
Protection fromCorruption of
Variable Data notProvided
No Protectionfrom
Corruption ofS tack
13
Vita l Logic forFunctionsM odified
Incorrectly8
M odificationsAffect
Execution ofV ita l Log ic
9
M odificationsAffect Resultsof V ita l Log ic
10
DataCorrupted
DuringInterrupt
Processing11
DataCorruptedBetween
Interrupt Calls12
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Part 1 Part 2
VATC FTA Z-Branch
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit147
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Basic Event #14Assembler, linker or other conversion process introduces error in executable code.
FTA Z-Branch
Part 2
Buggy assembler/linker
tool suite
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit148
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Basic Event #14Assembler, linker or other conversion process introduces error in executable code.
FTA Z-Branch
Part 2
Buggy assembler/linker
tool suite
WE VERIFIED THAT:
-Two independent assembler/linker tool suites were used to generate two executable files, and that these files match (SAC Implementation Analysis, Appendix E)
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit149
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Use Two Independent Tool Suites:
- Low probability that two different compiler tools contain the same error
Basic Event #14Assembler, linker or other conversion process introduces error in executable code.
FTA Z-Branch
Part 2
Buggy assembler/linker
tool suite
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit150
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Basic Event #15A computer glitch during assembly, linking or other conversion process introduces error in executable code.
FTA Z-Branch
Part 2
Glitch during assembly process
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit151
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
WE VERIFIED THAT:
-The process of assembly and linking is performed twice, and that the two resulting executable files match (SAC Implementation Analysis, Appendix E)
Basic Event #15A computer glitch during assembly, linking or other conversion process introduces error in executable code.
FTA Z-Branch
Part 2
Glitch during assembly process
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit152
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Build the Executable Twice:
- Low probability that a random computer glitch could produce the same error during two different build operations
Basic Event #15A computer glitch during assembly, linking or other conversion process introduces error in executable code.
FTA Z-Branch
Part 2
Glitch during assembly process
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit153
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Basic Event #16Executable code becomes corrupted by faulty EPROM burner.
FTA Z-Branch
Part 2
Buggy EPROM burner
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit154
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
WE VERIFIED THAT:
-Runtime EPROM checksum is in place (SAC Implementation Analysis, Appendix E)
Basic Event #16Executable code becomes corrupted by faulty EPROM burner.
FTA Z-Branch
Part 2
Buggy EPROM burner
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit155
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Runtime EPROM Check Code Protects Software After Build Process:
- Once the translation process is complete, it is protected by a checksum that can detect any later changes
Basic Event #16Executable code becomes corrupted by faulty EPROM burner.
FTA Z-Branch
Part 2
Buggy EPROM burner
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit156
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Basic Event #17Executable code is not correctly burned into master EPROM.
FTA Z-Branch
Part 2
Glitch during EPROM burning
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit157
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
WE VERIFIED THAT:
-Runtime EPROM checksum is in place (SAC Implementation Analysis, Appendix E) *SAME*
Basic Event #17Executable code is not correctly burned into master EPROM.
FTA Z-Branch
Part 2
Glitch during EPROM burning
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit158
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
Basic Event #18Copies of master EPROM do not exactly match the master EPROM.
FTA Z-Branch
Part 2
Failed EPROM
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit159
Firm wareIm plem entationError Results in
Hazard
Error DuringAssem bly, L ink orConversion to Hex
Error DuringBurning of M aster
EPRO M
NoM itigation forFault DuringCopying of
M aster18
NoM itigation for
Error inSoftware
Tools14
NoM itigation forError at T im eof T ranslation
15
NoM itigation for
Fault inEPRO MBurner
16
NoM itigation forError DuringBurning of
M asterEPRO M
17
WE VERIFIED THAT:
-Runtime EPROM checksum is in place (SAC Implementation Analysis, Appendix E) *SAME*
Basic Event #18Copies of master EPROM do not exactly match the master EPROM.
FTA Z-Branch
Part 2
Failed EPROM
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit161
VATC MMF Verification Activities
Design Review Software Module Desk Checks Group Walk-Through Code Review Traceability Matrix Testing Open Issues Closeout
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit162
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
V&V Report Contents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit163
VATC MMF Design Review (V&V Report Section 10)
• Presentation of Software Design to technical staff• Participation of Harmon, Sandia and various BART
Departments• Generation of Action Items List• Closeout of Action Items List
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit164
V&V Report Contents
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit165
Software Module Desk Checks(V&V Report Section 8)
Specifications
Requirements
Pseudo
Code
Source Code
Generated Report listing discrepancies founded and corrected.
Cross
check
Cross
check
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit166
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
V&V Report Contents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit167
Group Walk-Through Code Review (V&V Report Section 9)
Performed on modified/new vital software modules Verified that proper logic was in place and source code
represented approved design Verified that coding standards and styles guidelines
were followed Checklist provided to ensure completeness in the
evaluation
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit168
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
V&V Report Contents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit169
VATC Traceability Matrix (V&V Report Section 7)
Each AATC System Requirement relating to the VATC is traced to the VATC Design, Code and Test.
SysRSTable
SRSTable
ModuleTable
TestTable
Mapping betweenSysRS and SRS
Mapping betweenSRS and Modules
Mapping betweenSRS and Tests
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit170
SYSRS to SRS Report
Each AATC System Requirement relating to the VATC is traced to one or more VATC Subsystem Requirement
SysRSTable
SRSTable
ModuleTable
TestTable
Mapping betweenSysRS and SRS
Mapping betweenSRS and Modules
Mapping betweenSRS and Tests
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit171
SRS-Software Module Report
Tracing of each VATC Subsystem Requirement to one or more software modules
SysRSTable
SRSTable
ModuleTable
TestTable
Mapping betweenSysRS and SRS
Mapping betweenSRS and Modules
Mapping betweenSRS and Tests
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit172
SRS-Test Report
Tracing of each VATC Subsystem Requirement to one or more Test
SysRSTable
SRSTable
ModuleTable
TestTable
Mapping betweenSysRS and SRS
Mapping betweenSRS and Modules
Mapping betweenSRS and Tests
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit173
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
V&V Report Contents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit174
VATC Unit Testing – MMF (V&V Report Section 2)
Performed on vital modified/new software modules
Test results verified that Min/Max/Zero input values produced expected results
Test results verified that all branches in the module were executed
Software Module
All possible Inputs
All Outputs SafeAll Branches Checked
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit175
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
V&V Report Contents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit176
Laboratory Subsystem Integration Testing - MMF (V&V Report Section 3)
AATU / AATC SIMULATOR(Snooper/Driver)
LCDConsole
Win9x
ControlPanelSwitch Box37 Volts
ATPCradle O
N
RS-232Serial Link,Power, Etc.
5 Volts
POWER SUPPLY
37 Volts 5 Volts
RS-232Serial Link
•Verified functionality of ATP Cradle
•VATC in Monitor Mode only
•Generation of ATP reports
•Decoding of AATC commands
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit177
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
V&V Report Contents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit178
ERS Subsystem Integration Testing – MMF (V&V Report Section 4)
Verified proper functionality of Vehicle ATC using existing Primary Test Equipment.
Main PowerSwitch and
A11-J1ConnectorAccelerometers
AATC SIMULATOR(AATU)
WestinghousePrimary Test Equipment
RS-232Serial Link
Track Circuit Simulation/ Tests AATC Control Tests
ATCCradle
2
ATCCradle
1
ATCCradle
3
Laptop computer
RS-232Serial Link
RS-232Serial Link
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit179
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
V&V Report Contents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit180
Hayward Test Track Testing – MMF (V&V Report Section 5)
Verified VATC never goes under AATC control
Verified proper Automatic Train Operation under existing track circuit system, including:
- Motion Control- Door Operation- Wayside Communications
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit181
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
V&V Report Contents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit182
Mainline Testing – MMF (V&V Report Section 6)
Verified Proper automatic track circuit control operation
Verified IDEN coverboard communications
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit183
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
V&V Report Contents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit184
Open Issues Closeout (V&V Report Section 11)
Open Issues Record – problems reported and corrective actions taken during Design, Implementation, Testing and Analysis of the VATC Subsystem.
Found
Fixed
Problem
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit185
Open Issues Closeout (V&V Report Section 11)
15 Non-Vital Open Issues Identified
Memorandum – documents why closure of 15 Non-Vital Issues is NOT necessary prior to MMF Safety Certification
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit186
Open Issues Closeout (V&V Report Section 11)
Unit Testing Report
– Lists discrepancies found during Unit Testing
– Cross-references the discrepancy to an item in the Open Issues file (where applicable).
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit187
Section 1 – Report Organization Section 2 – Unit Testing ReportSection 3 – Lab Integration TestingSection 4 – ERS Integration TestingSection 5 – Hayward Test Track TestingSection 6 – Mainline Track TestingSection 7 – Traceability MatrixSection 8 – Software Module Desk CheckSection 9 – Software Module Code ReviewsSection 10 - Final Design ReviewSection 11 – Open Issues Closeout
V&V Report Contents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit188
Agenda Laying the Groundwork
Safety Assurance Concepts(How can we claim it’s safe?)– For the Baseline Design– For the MMF Release
Verification and Validation Process/ Documentation (What did we do to prove it’s safe?)
Summary
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit189
SUMMARY
Emphasis of the MMF certification has been to demonstrate that baseline functions have not been corrupted– Functional requirements still intact– Hardware checking routines still in place– Proper isolation between new and old functions
Safety requirements for the baseline system maintained for the modified release
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit190
SUMMARY (cont’d)
Proper understanding of the safety assurance concepts demonstrated in the SAC document
Safety analysis developed and confirmed vital requirements using a structured and orderly process documented in the FTA and SACI documents
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit191
SUMMARY (cont’d)
Complete and proper implementation of the SAC’s confirmed by examination of the potential hazards identified in the FTA Z-Branch and documented in the SACI
Comprehensive tracing from: – requirements to implementation and– requirements to test program
Completed and documented in the V&V Report
S.F. Bay Area Rapid TransitS.F. Bay Area Rapid Transit192
SystemRequire-
ments
SubSystem
Require-ments
SoftwareModuleRequire-
ments
PseudoCode
HexCode
AssemblyCode
AssemblyCode
ROM
RAM
ROM
Vital Non-Vital
DESIGN TRANSLATION
IMPLEMENTATION
EPROMBURNER
Intel8086
SUMMARY
OPERATION