Michael Ernst, Dan Grossman, Jon Jacky, Calvin Loncaric, Stuart Pernsteiner, Zachary Tatlock, Emina Torlak, Xi Wang
University of WashingtonA Dependability Case Language for a Radiation Therapy System
C D L
A Dependability Case Language for a Radiation Therapy System C - - PowerPoint PPT Presentation
A Dependability Case Language for a Radiation Therapy System C Michael Ernst, Dan Grossman, Jon Jacky, Calvin Loncaric, Stuart Pernsteiner, D Zachary Tatlock, Emina Torlak, Xi Wang L University of Washington vision end-to-end verification
Michael Ernst, Dan Grossman, Jon Jacky, Calvin Loncaric, Stuart Pernsteiner, Zachary Tatlock, Emina Torlak, Xi Wang
University of WashingtonA Dependability Case Language for a Radiation Therapy System
C D L
end-to-end verification for safety critical systems
Memory Model
seL4
Quark
IronClad
SUPPORTED BY
Formal
seL4
Quark
IronClad
Formal
Formal End-to-end
Dependability Cases
Dependability cases
Argue end-to-end claim based on evidence show claim holds across all layers of a system Focus on physical system properties eases validation and focuses verification effort Integrate diverse sources of evidence check interfaces of design, testing, proof, review
Dependability case engineering
Many large software systems display fragility or a lack of dependability caused by inattention to details at various stages of development (e.g., missing data, undocumented assumptions, lack of testing), resulting in a failure to catchDifficult to develop Difficult to check Difficult to maintain
SUPPORTED BY
Many large software systems display fragility or a lack of dependability caused by inattention to details at various stages of development (e.g., missing data, undocumented assumptions, lack of testing), resulting in a failure to catchFormal End-to-end
Dependability Cases Checkable Dep. Cases
Developing a Dependability Case Language
Move from specific to general
avoid attempt to design “silver bullet”
Developing a Dependability Case Language
Claims
Developing a Dependability Case Language
Claims
Design Application Platform EnvRosette Alloy Coq Manual Review
DCL
Developing a Dependability Case Language
Claims
Design Application Platform EnvFind general tradeoffs and patterns
make simple easy and hard possible
Impact real-world projects bring current PL tech to the trenches
C D L
an end-to-end dependability case for CNTS
Clinical Neutron Therapy System (CNTS) at UW
Checking safety of CNTS
16Checking safety of CNTS
17 The Maximize Severity attribute is one of NMS (Non-Maximize Severity), MS (Maximize Severity), MSS (Maximize Status and Severity) or MSI (Maximize Severity if Invalid). It determines whether alarm severity is propagated acrossCNTS Couch Safety Property: The beam will turn off if the couch rotation angle moves out
and the operator has not issued the manual override command.
An end-to-end property that spans the entire system, not just software.An informal dependability case for couch safety
18 Couch Treatment Motion Controller Therapy Control Software Programmable Logic Controller Hardwired Safety Interlock System Ethernet Network couch rotates OOT => TMC measures OOT rotation TMC measures OOT rotation => TC receives OOT rotation TC receives OOT rotation and no manual override => TC sets Therapy Sum interlock TC sets Therapy Sum interlock => PLC disables Therapy Sum relay PLC disables Therapy Sum relay => beam shuts off couch rotates outA formal dependability case for couch safety
19 all r: Couch.rotation | (properties and r.angle not in Prescription.tolerance and no Event.GantryCouch_Turntable_Override) => some Beam.state & BeamOfg PLC disables Therapy Sum relay => beam shuts off couch rotates outGenerating evidence for couch safety
20 Couch Treatment Motion Controller Therapy Control Software Programmable Logic Controller Hardwired Safety Interlock System Ethernet Network Expert Review Validator EPICS Verifier EPICS Linter PLC Checker EPICS- PLC Signal Tracer A solver-aided verifier for the subset of EPICS used in CNTS.Dependability Case Complier (DCC)
Checking couch safety
21 Expert Review Validator EPICS Linter EPICS Verifier PLC AnalyzerCounterexample or bounded proof
EPICS- PLC Signal TracerDependability case
Alloy AnalyzerDeep analysis with <2000 LOC of tool code …
22 EPICS Verifier concrete counterexample Therapy Control SoftwareFound a bug in the Therapy Control software (preventing beam shut off), masked by a bug in the EPICS runtime!
C D L Formal End-to-end
Dependability Cases Recent Verification Successes
Thanks!